Was ist der maximale Anonymitätssatz einer CoinJoin-Transaktion?

Ich fand, dass der einzige einschränkende Faktor die maximale Standardtransaktionsgröße ist, die 100k bytes.
Die häufigsten Transaktionen, mit denen wir uns befassen, sind 1 input, 2 outputsund die zweithäufigsten sind be 2 inputs 2 outputs-Transaktionen, und die Größen dieser Transaktionen liegen bei etwa 220 byteund 360 byte.
daher würde der maximal erreichbare Anonymitätssatz von 270bis gehen 450 (100k/360=270, 100k/220=450).

  1. Liege ich soweit richtig?
  2. Gibt es weitere einschränkende Faktoren?
  3. Hebt SegWit die Signaturgröße aus der Berechnung der maximalen Standardtransaktionsgröße heraus, was zu 30%mehr Anonymitätssätzen führt? (Unterschriften sind 71 bytesim Durchschnitt.) Also in diesem Fall 351bis 468.
Für zukünftige Referenzen ist Meta nur für Fragen zu Bitcoin StackExchange selbst gedacht.
Mein Fehler. Dies erklärt, warum ich keine richtigen Tags hinzufügen konnte.

Antworten (2)

Unabhängig von der maximalen Größe einer einzelnen Transaktion kann ein CJ-Anonymitätssatz beliebig groß gemacht werden (natürlich begrenzt durch Teilnehmer), indem ein mehrstufiges Vermittlungsnetzwerk aus Joins aufgebaut wird.

Dies wurde im ursprünglichen Coinjoin-Post beschrieben :

Insbesondere wenn Sie Transaktionen mit m Teilnehmern pro Transaktion erstellen können, können Sie eine Folge von m * 3 Transaktionen erstellen, die ein dreistufiges Vermittlungsnetzwerk bilden , das zulässt, dass alle m ^ 2 endgültigen Ausgaben von jedem von m ^ 2 Original stammen Eingaben (z. B. unter Verwendung von drei Stufen von 32 Transaktionen mit je 32 Eingaben können 1024 Benutzer mit insgesamt 96 Transaktionen verbunden werden). Dadurch kann der Anonymitätssatz beliebig groß sein und nur durch die Teilnahme begrenzt werden.

Zwischen diesen Transaktionen ist keine Atomizität erforderlich – außer wenn einige Benutzer ausfallen, ist die Anonymitätsmenge geringer als erwartet.

Sie sind davon ausgegangen, dass Ein- und Ausgänge die gleiche Größe haben, was nicht der Fall ist. Eine typische Eingabe beträgt 148 Bytes, eine Ausgabe 34. Daher beträgt die maximale Anonymitätsmenge 549 Eingaben zu 549 Ausgaben.

Ich habe die Berechnungen für SW-Ausgaben nicht durchgeführt, aber sie würden einen größeren Anonymitätssatz zulassen, vorausgesetzt, andere Grenzwerte wie Sig-Ops (Signaturoperationen) und Hash-Operationen werden eingehalten.

> Sie haben angenommen, dass Ein- und Ausgänge die gleiche Größe haben, die ich nicht angenommen habe, sie spielen einfach keine Rolle. Ich ging einfach mit einer 1in2out 220-Byte- und 2in2out 360-Byte-Tx-Schätzung. Ihre Schätzung ist 1in1out. Was bei einer CJ-Transaktion wahrscheinlich nie passieren wird, da CJ-Transaktionen eine gemeinsame Ausgabebezeichnung haben müssen, daher ist eine Änderungsausgabe in fast jedem Fall unvermeidlich.
Aber auch kleine Transaktionen zugrunde zu legen ist nicht richtig, da pro Transaktion ein fester Overhead von 10 Byte anfällt, egal wie viele Teilnehmer es sind.
In der Tat würde dies zu einer Erhöhung des Anonymitätssatzes um 5 % (im Fall von 220 Bytes tx) und 2,5 % (im Fall von 360 Bytes tx) führen.