Descubrí que el único factor limitante es el tamaño de transacción estándar máximo, que es 100k bytes
.
Las transacciones más comunes que nos preocupan son 1 input, 2 outputs
y las segundas más comunes son 2 inputs 2 outputs
transacciones be y los tamaños de estas transacciones son aproximadamente 220 byte
y 360 byte
.
por lo tanto, el conjunto de anonimato máximo alcanzable iría de 270
a 450
(100k/360=270, 100k/220=450)
.
30%
más conjuntos de anonimato? (Las firmas son 71 bytes
en promedio). Entonces, en este caso, 351
a 468
.Independientemente del tamaño máximo de una sola transacción, un conjunto de anonimato de CJ se puede hacer arbitrariamente grande (limitado, por supuesto, por los participantes) mediante la creación de una red de conmutación de múltiples etapas a partir de uniones.
Esto se describió en la publicación original de coinjoin :
En particular, si puede crear transacciones con m participantes por transacción, puede crear una secuencia de m*3 transacciones que forman una red de conmutación de tres etapas que permite que cualquiera de los m^2 resultados finales provenga de cualquiera de los m^2 originales. entradas (por ejemplo, usando tres etapas de 32 transacciones con 32 entradas cada 1024 usuarios pueden unirse con un total de 96 transacciones). Esto permite que el conjunto de anonimato sea de cualquier tamaño, limitado solo por la participación.
No se requiere atomicidad entre estas transacciones, aparte de que si algunos usuarios abandonan, el conjunto de anonimato será menor de lo esperado.
Asumió que las entradas y las salidas eran del mismo tamaño, que no lo son. Una entrada típica es de 148 bytes, una salida es de 34. Por lo tanto, el conjunto de anonimato máximo es de 549 entradas a 549 salidas.
No hice los cálculos para las salidas de tipo SW, pero permitirían un conjunto de anonimato más grande, suponiendo que se respeten otros límites como sig ops (operaciones de firma) y operaciones hash.
Nick ODell
nopara73