← Lernpfad Kapitel 5 von 7

CoinJoin und PayJoin

Coin Control verhindert, dass du deine eigene Privatsphäre zerstörst. CoinJoin geht einen Schritt weiter: Es repariert Privatsphäre aktiv, indem es den Zusammenhang zwischen Inputs und Outputs einer Transaktion bricht. PayJoin macht das Gleiche, nur unsichtbar.

Das CoinJoin-Prinzip

Die Common-Input-Ownership-Heuristik besagt: Alle Inputs einer Transaktion gehören derselben Person. CoinJoin macht diese Heuristik absichtlich falsch.

Bei einem CoinJoin erstellen mehrere unabhängige Personen gemeinsam eine Transaktion. Jeder steuert Inputs bei und erhält Outputs. Der Trick: Die Outputs sind gleich groß. Für einen Beobachter ist nicht mehr erkennbar, welcher Input zu welchem Output gehört.

graph LR
    A1["Alice\n0.1 BTC"]:::alice --> TX{"CoinJoin\nTransaktion"}:::tx
    B1["Bob\n0.1 BTC"]:::bob --> TX
    C1["Carol\n0.1 BTC"]:::carol --> TX
    TX --> O1["? \n0.1 BTC"]:::mixed
    TX --> O2["? \n0.1 BTC"]:::mixed
    TX --> O3["? \n0.1 BTC"]:::mixed
    TX --> CH["Change\n(verschiedene Beträge)"]:::change

    classDef alice stroke:#cc241d,stroke-width:2px,color:#cc241d
    classDef bob stroke:#d79921,stroke-width:2px,color:#d79921
    classDef carol stroke:#458588,stroke-width:2px,color:#458588
    classDef tx stroke:#fe8019,stroke-width:3px,color:#fe8019
    classDef mixed stroke:#b16286,stroke-width:2px,color:#b16286
    classDef change stroke:#928374,stroke-width:1px,color:#928374
CoinJoin: Gleich große Outputs machen Zuordnung unmöglich

Warum gleich große Outputs?

Wenn Alice 0,1 BTC einzahlt und 0,1 BTC erhält, Bob dasselbe und Carol dasselbe — welcher Output gehört zu wem? Die Antwort: Es ist unmöglich zu sagen. Die Anonymity Set — die Menge der möglichen Zuordnungen — wächst mit jedem Teilnehmer.

Bei 3 Teilnehmern gibt es 6 mögliche Zuordnungen (3!). Bei 50 Teilnehmern sind es astronomische 3 x 10⁶⁴ Möglichkeiten. Chain-Analyse-Firmen können die einzelnen Outputs nicht mehr zurückverfolgen.

Was ist mit dem Wechselgeld?

CoinJoin hat eine Schwachstelle: Change Outputs. Wenn Alice 0,15 BTC einzahlt und 0,1 BTC als gleich großen Output erhält, entsteht ein Change Output über 0,05 BTC (minus Gebühr). Dieser Change Output ist nicht Teil der Anonymity Set — er ist eindeutig Alice zuzuordnen, weil sein Betrag einzigartig ist.

Deshalb: Je genauer dein Input zum CoinJoin-Betrag passt, desto besser. Und deshalb bieten gute CoinJoin-Implementierungen mehrere Runden an — damit auch das Wechselgeld gemischt wird.

Merke

CoinJoin schützt die gleich großen Outputs. Change Outputs sind weiterhin verfolgbar. Gute Implementierungen minimieren Change oder mischen ihn in weiteren Runden.

CoinJoin-Implementierungen

Wasabi Wallet

Wasabi Wallet war die erste benutzerfreundliche CoinJoin-Wallet. Version 2.0 führte WabiSabi ein — ein neues Koordinationsprotokoll, das variable Beträge erlaubt und die Privatsphäre des CoinJoin-Prozesses selbst verbessert.

JoinMarket

JoinMarket verfolgt einen radikal anderen Ansatz: kein zentraler Koordinator. Stattdessen gibt es einen Marktplatz, auf dem „Maker“ ihre Bitcoin für CoinJoins anbieten und „Taker“ CoinJoins initiieren und die Maker dafür bezahlen.

Whirlpool (Samourai Wallet)

Whirlpool war die CoinJoin-Implementierung von Samourai Wallet — bekannt für aggressive Privatsphäre-Features und eine treue Community.

Merke

Die Verhaftung der Samourai-Gründer zeigt ein grundsätzliches Risiko: Wenn ein CoinJoin-Service einen zentralen Koordinator hat, ist dieser Koordinator ein Single Point of Failure — technisch und juristisch. Dezentrale Ansätze wie JoinMarket sind widerstandsfähiger.

PayJoin (P2EP)

PayJoin — auch Pay-to-Endpoint (P2EP) — ist ein eleganterer Ansatz. Statt einer großen Gruppentransaktion erstellen Sender und Empfänger gemeinsam eine normale Zahlung, bei der beide Inputs beisteuern.

Wie PayJoin funktioniert

  1. Alice will Bob 0,3 BTC zahlen
  2. Statt einer normalen Transaktion (Alice sendet, Bob empfängt) erstellen beide gemeinsam eine Transaktion
  3. Alice steuert einen Input bei (0,5 BTC), Bob ebenfalls (0,2 BTC)
  4. Bob erhält einen Output über 0,5 BTC (seine 0,2 + Alices 0,3)
  5. Alice erhält 0,2 BTC Wechselgeld

Für einen Beobachter sieht das aus wie eine normale Transaktion mit zwei Inputs. Die CIO-Heuristik sagt: Beide Inputs gehören derselben Person. Aber das stimmt nicht — und genau das ist der Punkt.

graph LR
    A["Alice\n0.5 BTC"]:::alice --> TX{"PayJoin\nTransaktion"}:::tx
    B["Bob\n0.2 BTC"]:::bob --> TX
    TX --> O1["Bob\n0.5 BTC"]:::output
    TX --> O2["Alice (Change)\n0.2 BTC"]:::output

    classDef alice stroke:#cc241d,stroke-width:2px,color:#cc241d
    classDef bob stroke:#d79921,stroke-width:2px,color:#d79921
    classDef tx stroke:#fe8019,stroke-width:3px,color:#fe8019
    classDef output stroke:#98971a,stroke-width:2px,color:#98971a
PayJoin: Eine normale Zahlung, die CIO-Heuristik absichtlich bricht

Warum PayJoin elegant ist

PayJoin in der Praxis

PayJoin erfordert, dass beide Parteien es unterstützen. Derzeit ist die Verbreitung noch gering, aber es gibt Fortschritte:

Regulatorische Lage in der EU

Die regulatorische Landschaft für Privacy-Tools ist im Wandel. Eine nüchterne Einordnung:

Was gilt

Was das praktisch bedeutet

Merke

CoinJoin ist legal. Aber regulierte Dienstleister dürfen CoinJoin-Outputs ablehnen. Wer CoinJoin nutzt, sollte sich bewusst sein, dass die Wiedereinzahlung auf KYC-Börsen problematisch sein kann. Self-Custody löst dieses Problem.

Wann CoinJoin sinnvoll ist

CoinJoin ist kein Werkzeug, das jeder permanent braucht. Es gibt konkrete Situationen, in denen es sinnvoll ist:

  1. KYC-Bitcoin „aufbrechen“: Du hast Bitcoin auf einer KYC-Börse gekauft und willst die Nachverfolgbarkeit der Outputs erschweren.
  2. Große Beträge schützen: Du hast einen signifikanten Betrag und willst nicht, dass dein gesamtes Vermögen über eine einzelne Adresse einsehbar ist.
  3. Konsolidierung mit Privatsphäre: Du willst mehrere UTXOs zusammenführen, aber ohne die CIO-Heuristik zu bedienen.
  4. Prinzip: Du findest, dass finanzielle Privatsphäre ein Grundrecht ist und unterstützt Tools, die das ermöglichen.

Wann CoinJoin weniger sinnvoll ist:

Aufgabe

Schau dir eine CoinJoin-Transaktion auf mempool.space an — suche nach Transaktionen mit vielen gleich großen Outputs. Wie viele Teilnehmer kannst du identifizieren? Welche Outputs sind gleich groß, welche sind Change? Tipp: Suche nach Wasabi-Transaktionen mit Outputs über 0,05 BTC.


Weiterführend

Diskussion via Nostr

Kommentare werden über das dezentrale Nostr-Netzwerk geladen. Du brauchst eine Nostr-Identität und eine Browser-Extension wie nos2x oder Alby.