user26859: I found the only limiting factor is the maximum standard transaction size which is 100k bytes.
The most common transactions we are concerned with are 1 input, 2 outputs and the second most common are be 2 inputs 2 outputs transactions and the sizes of these transactions are about 220 byte and 360 byte.
therefore the maximum achievable anonimity set would go from 270 to 450 (100k/360=270, 100k/220=450).  

Am I correct so far?  
Is there any more limiting factors?  
Does SegWit elevate the size of the signature out of the calculation of maximum standard transaction size, therefore resulting around 30% more anonimity sets? (Signatures are 71 bytes on average.) So in this case 351 to 468.


user52021: Regardless of the maximum size of a single transaction, a CJ anonymity set can be made arbitrarily large (bounded, of course, by participants) by building a multi-stage switching network out of joins.
This was described in the original coinjoin post:

In particular, if you can build transactions with m participants per transaction you can create a sequence of m*3 transactions which form a three-stage switching network that permits any of m^2 final outputs to have come from any of m^2 original inputs (e.g. using three stages of 32 transactions with 32 inputs each 1024 users can be joined with a total of 96 transactions).  This allows the anonymity set to be any size, limited only by participation.

There is no atomiticy required between these transactions-- other than if some users drop out the anonymity set will be less than expected.

26859: <p>I found the only limiting factor is the maximum standard transaction size which is <code>100k bytes</code>.<br>
The most common transactions we are concerned with are <code>1 input, 2 outputs</code> and the second most common are be <code>2 inputs 2 outputs</code> transactions and the sizes of these transactions are about <code>220 byte</code> and <code>360 byte</code>.<br>
therefore the maximum achievable anonimity set would go from <code>270</code> to <code>450</code> <code>(100k/360=270, 100k/220=450)</code>.  </p>

<ol>
<li>Am I correct so far?  </li>
<li>Is there any more limiting factors?  </li>
<li>Does SegWit elevate the size of the signature out of the calculation of maximum standard transaction size, therefore resulting around <code>30%</code> more anonimity sets? (Signatures are <code>71 bytes</code> on average.) So in this case <code>351</code> to <code>468</code>.</li>
</ol>
 52021: <p>Regardless of the maximum size of a single transaction, a CJ anonymity set can be made arbitrarily large (bounded, of course, by participants) by building a multi-stage switching network out of joins.</p>

<p>This was described in the <a href="https://bitcointalk.org/index.php?topic=279249.0" rel="nofollow noreferrer">original coinjoin post</a>:</p>

<blockquote>
  <p>In particular, if you can build transactions with m participants per transaction you can create a sequence of m*3 transactions which form a three-stage <a href="http://en.wikipedia.org/wiki/Clos_network" rel="nofollow noreferrer">switching network</a> that permits any of m^2 final outputs to have come from any of m^2 original inputs (e.g. using three stages of 32 transactions with 32 inputs each 1024 users can be joined with a total of 96 transactions).  This allows the anonymity set to be any size, limited only by participation.</p>
</blockquote>

<p>There is no atomiticy required between these transactions-- other than if some users drop out the anonymity set will be less than expected.</p>
