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
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.
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.
- Wie es funktioniert: Wasabi koordiniert CoinJoin-Runden über einen zentralen Koordinator. Die Teilnehmer senden ihre Inputs, der Koordinator baut die Transaktion, aber er erfährt nicht, welcher Output zu welchem Input gehört (dank Blind Signatures bzw. WabiSabi-Credentials).
- Status (2025): Wasabi 2.x ist aktiv, automatisches CoinJoin im Hintergrund, Mindestbetrag für CoinJoin-Teilnahme beachten
- Kosten: Koordinationsgebühr von 0,3% + Mining-Gebühren
- Plattform: Desktop (Windows, macOS, Linux)
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.
- Wie es funktioniert: Taker wählen Maker aus dem Orderbook, erstellen die CoinJoin-Transaktion und zahlen eine kleine Gebühr an die Maker. Maker verdienen passiv an ihrer Liquidität.
- Status (2025): JoinMarket existiert als JAM (JoinMarket Application Manager) mit verbesserter Benutzeroberfläche. Weiterhin dezentral und funktional.
- Kosten: Maker-Gebühren (in der Regel 0,01-0,05%) + Mining-Gebühren
- Plattform: Desktop, oft in Kombination mit einer eigenen Node (z.B. über Umbrel oder RaspiBlitz)
Whirlpool (Samourai Wallet)
Whirlpool war die CoinJoin-Implementierung von Samourai Wallet — bekannt für aggressive Privatsphäre-Features und eine treue Community.
- Status (2025): Im April 2024 wurden die Gründer von Samourai Wallet in den USA verhaftet und angeklagt. Die Wallet und der Whirlpool-Koordinator wurden beschlagnahmt. Die Open-Source-Codebasis existiert weiterhin, und Community-Forks arbeiten an Alternativen. Aber der ursprüngliche Service ist nicht mehr verfügbar.
- Lehre: Zentralisierte Koordinationspunkte sind angreifbar — egal wie gut die Kryptographie ist.
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
- Alice will Bob 0,3 BTC zahlen
- Statt einer normalen Transaktion (Alice sendet, Bob empfängt) erstellen beide gemeinsam eine Transaktion
- Alice steuert einen Input bei (0,5 BTC), Bob ebenfalls (0,2 BTC)
- Bob erhält einen Output über 0,5 BTC (seine 0,2 + Alices 0,3)
- 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
Warum PayJoin elegant ist
- Unsichtbar: Eine PayJoin-Transaktion sieht auf der Blockchain genauso aus wie eine normale Transaktion. Es gibt kein auffälliges Muster (anders als bei CoinJoin, wo gleich große Outputs ein Erkennungsmerkmal sind).
- Vergiftet die Heuristik: Wenn PayJoin verbreitet wäre, müssten Chain-Analysten bei jeder Transaktion annehmen, dass sie ein PayJoin sein könnte. Das würde die CIO-Heuristik grundsätzlich entwerten.
- Keine Koordination nötig: Nur Sender und Empfänger müssen interagieren — kein Marktplatz, kein Koordinator.
PayJoin in der Praxis
PayJoin erfordert, dass beide Parteien es unterstützen. Derzeit ist die Verbreitung noch gering, aber es gibt Fortschritte:
- BTCPay Server: Unterstützt PayJoin für Händler. Wenn du einen BTCPay Server betreibst und dein Kunde eine PayJoin-fähige Wallet nutzt, wird automatisch ein PayJoin erstellt.
- PayJoin v2 (BIP-77): Die nächste Generation des Protokolls, die asynchrone PayJoins ermöglicht — Sender und Empfänger müssen nicht gleichzeitig online sein.
- Sparrow Wallet: PayJoin-Unterstützung auf der Senderseite.
Regulatorische Lage in der EU
Die regulatorische Landschaft für Privacy-Tools ist im Wandel. Eine nüchterne Einordnung:
Was gilt
- CoinJoin ist nicht illegal. Es gibt kein EU-Gesetz, das das Erstellen oder Teilnehmen an CoinJoin-Transaktionen verbietet.
- Die Travel Rule (EU-Geldtransferverordnung, erweitert durch MiCA) verlangt, dass regulierte Dienstleister (Börsen, Payment Provider) Sender- und Empfänger-Informationen bei Transaktionen über 1.000 EUR erheben. Das betrifft CoinJoin nicht direkt, aber Börsen können CoinJoin-Outputs als „risikobehaftet“ einstufen.
- AMLD6 (Anti-Money-Laundering Directive 6) verschärft die Sorgfaltspflichten. Einige Börsen blockieren bereits Einzahlungen, die aus CoinJoin-Transaktionen stammen — nicht weil es illegal ist, sondern weil sie das Compliance-Risiko scheuen.
Was das praktisch bedeutet
- Wenn du KYC-Bitcoin durch einen CoinJoin schickst und dann auf einer Börse einzahlen willst, kann die Börse die Einzahlung ablehnen oder dein Konto sperren.
- Self-Custody-Wallets sind davon nicht betroffen — niemand kann dir verbieten, deine eigenen Bitcoin zu mischen.
- Die Situation ist im Fluss. Es ist möglich, dass zukünftige Regulierung CoinJoin-Dienste stärker einschränkt.
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:
- KYC-Bitcoin „aufbrechen“: Du hast Bitcoin auf einer KYC-Börse gekauft und willst die Nachverfolgbarkeit der Outputs erschweren.
- 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.
- Konsolidierung mit Privatsphäre: Du willst mehrere UTXOs zusammenführen, aber ohne die CIO-Heuristik zu bedienen.
- Prinzip: Du findest, dass finanzielle Privatsphäre ein Grundrecht ist und unterstützt Tools, die das ermöglichen.
Wann CoinJoin weniger sinnvoll ist:
- Für sehr kleine Beträge — die Koordinationsgebühren und Mining-Gebühren fressen den Nutzen auf
- Wenn du die Outputs danach auf eine KYC-Börse einzahlst — dann war der CoinJoin zwecklos
- Als einzige Maßnahme — CoinJoin ohne Coin Control, Labels und eigene Node ist wie ein Schloss ohne Wände
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
- Chain-Analyse verstehen — die Heuristiken, die CoinJoin bricht
- Coin Control und Labels — die Basis, ohne die CoinJoin wenig bringt
- KYC und Non-KYC — warum KYC-Bitcoin der häufigste Grund für CoinJoin ist
- Tor und Netzwerk-Privatsphäre — CoinJoin ohne Tor-Schutz ist halbherzig
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.