63 / 736CJ

CoinJoin

Gemeinsame Transaktionen für mehr Privatsphäre

Bitcoin-Zahlungen sind öffentlich. Trotzdem muss ein Eintrag nicht verraten, wem jeder neue Output gehört. CoinJoin nutzt diesen Unterschied: Mehrere Menschen erstellen eine gemeinsame Transaktion. Das kann ihre Geldbewegungen schwerer nachvollziehbar machen, ohne die Historie zu löschen oder Anonymität zu versprechen.

CoinJoin verbindet Mittel verschiedener Personen in einer Bitcoin-Transaktion, während jede ihre Schlüssel behält und prüft, was sie unterschreibt. Dabei entstehen neue Outputs für die Beteiligten oder deren Empfänger. Für Beobachter kann unklarer werden, welcher ursprüngliche Eigentümer welchen Output erhält. Die Wirkung hängt vom Aufbau der Transaktion, dem Protokoll und den zusätzlichen Informationen des Beobachters ab.

Anna bezahlt eine Dienstleistung und möchte nicht, dass der Empfänger leicht ihre übrigen Mittel verfolgen kann. Bitcoin hat aber keinen vertraulichen Kontoauszug: Die Transaktionshistorie ist öffentlich. Eine Transaktion verbraucht frühere, noch nicht ausgegebene Outputs, sogenannte UTXOs, und erzeugt neue. Ein Transaktionsausgang hält einen Betrag und die Bedingungen fest, unter denen er ausgegeben werden darf. Nutzt eine gewöhnliche Zahlung mehrere davon, nimmt ein Analyst oft an, dass eine Person sie kontrolliert. Das ist eine Faustregel zum Schätzen, eine Heuristik, kein Beweis. CoinJoin durchbricht die Annahme, indem mehrere Eigentümer an derselben Transaktion mitwirken. Die Vergangenheit wird nicht umgeschrieben; weniger sicher werden die Beziehungen, die man aus öffentlichen Daten ableiten kann. [1]

In einem vereinfachten Beispiel besitzen Anna und Pavel jeweils einen Output über 100 500 sat. Sat steht für Satoshi, die kleinste Bitcoin-Einheit. Sie vereinbaren eine Transaktion, die beiden je einen neuen Output über 100 000 sat gibt; die übrigen 1 000 sat bilden die gemeinsame Netzwerkgebühr. Dieses Lehrbeispiel enthält keine zusätzlichen Dienstleistungsgebühren. Der Entwurf entsteht bei einem Koordinator oder durch die Kommunikation der Wallets. Eine digitale Signatur ist eine überprüfbare Zustimmung, die mit einem privaten Schlüssel erzeugt wird. Dieser geheime Schlüssel ermöglicht das Signieren, wird dabei aber nicht offengelegt. Jeder prüft die Adresse des eigenen Outputs, Betrag, Gebühren und sämtliche Bedingungen, bevor er seine Inputs signiert. Der Koordinator allein besitzt weder die Schlüssel noch die Befugnis, fremde Mittel auszugeben. Fehlt eine erforderliche Signatur, lässt sich diese Transaktion nicht gültig abschließen. Der Schutz setzt allerdings korrekte Software und die Prüfung des Entwurfs voraus: Wer eine Zahlung an die Adresse eines Betrügers signiert, würde diesen Schutz aufheben. [1] [5]

Ein Beobachter, der im Beispiel nur die Blockchain sieht, erkennt zwei neue Outputs gleichen Werts. Der Betrag allein sagt nicht, welcher Anna und welcher Pavel gehört. Daraus folgen weder automatisch gleiche Wahrscheinlichkeiten noch garantierte Anonymität: Vielleicht kennt der Beobachter eine Adresse oder einen weiteren Hinweis. Bei echten Transaktionen können erkennbares Wechselgeld, unterschiedliche Beträge, Output-Typen oder Zeitpunkte die Zuordnung erleichtern. Die Anonymitätsmenge bezeichnet Kandidaten, die ein Beobachter nicht unterscheiden kann, nicht einfach die Zahl der angemeldeten Teilnehmer. Ein Wallet-Score ist eine Schätzung anhand eines bestimmten Modells, kein Versprechen darüber, was jeder Beobachter weiß. [1] [4]

Geld stehlen zu können und etwas herausfinden zu können sind unterschiedliche Fähigkeiten. Ein einfacher Koordinator kann die Zuordnung von Inputs zu Outputs kennen; andere Protokolle verbergen sie durch kryptografische Verfahren. Auch Netzwerkdaten wie IP-Adressen und Verbindungszeiten spielen eine Rolle. Ein weiteres Problem ist ein Angriff namens Sybil Attack: Ein Gegner tritt als viele Teilnehmer auf, kennt seine eigenen Outputs und verringert dadurch die Ungewissheit bei den übrigen. Ein Teilnehmer kann außerdem die Signatur verweigern und eine ganze Runde stören. Deshalb zählen konkrete Teilnahmeregeln und Schutz vor Überlastung oder Sabotage, als DoS bezeichnet. Viele Inputs allein beantworten diese Fragen nicht. [1] [4]

Anna verwendet später ihren neuen Output gemeinsam mit Geld von einer Börse, die ihre Identität kennt. So kann sie einem Beobachter einen neuen Zusammenhang liefern, den sie zuvor undeutlicher machen wollte. Ähnlich wirken wiederverwendete Adressen oder die Zusammenführung mehrerer Outputs zu einem, die Konsolidierung. Coin Control erlaubt die Auswahl der UTXOs, die eine Wallet ausgibt, und hilft, verschiedene Zusammenhänge getrennt zu halten. Es ist aber kein Schalter für absolute Privatsphäre. Ein Empfänger kann den Zahlenden kennen, ein Dienst eigene Aufzeichnungen besitzen. Der Schutz bleibt deshalb auch nach einer erfolgreichen Runde wichtig und hängt nicht nur von der Form einer Transaktion ab. [5]

Kläre zuerst, welche Information du vor wem schützen möchtest. Ein neugieriger Empfänger, der Koordinator und ein Netzwerkbeobachter haben unterschiedliche Möglichkeiten. Prüfe dann, wer die Schlüssel hält, was die Anwendung signiert, welche Kosten sie berechnet und wie sie mit den neuen Outputs umgeht. Ein Dienst, an den du Geld zunächst zur Verwahrung schickst, hat ein anderes Vertrauensmodell als CoinJoin ohne Verwahrung. CoinJoin ergänzt keine Sonderregel für Bitcoin: Knoten prüfen eine gewöhnliche Transaktion und ihre Bedingungen. Ein Knoten ist ein Computer mit Software, die Bitcoin-Transaktionen und Blöcke prüft. CoinJoin entfernt weder Aufzeichnungen einer Börse oder eines Empfängers noch verspricht es, wie ein bestimmter Dienst die Zahlung behandelt. Einsteigern hilft dieses Verständnis mehr als das Etikett ‘anonym’ in einer Anwendung. [1] [5]

Gregory Maxwell erklärte CoinJoin im August 2013 öffentlich. Die Idee erforderte keine Änderung der Netzwerkregeln, doch Menschen mussten sich finden und koordinieren können. JoinMarket zeigte einen Marktansatz: Wer eine gemeinsame Transaktion organisiert, bezahlt andere dafür, Mittel zur Teilnahme bereitzuhalten. Koordinierte Protokolle lösen die Organisation anders. WabiSabi arbeitet beispielsweise mit unterschiedlichen Beträgen und anonymen Berechtigungsnachweisen. Damit lässt sich der Anspruch auf Outputs belegen, ohne deren Verbindung zu Inputs einfach offenzulegen. CoinJoin ist deshalb weder mit einer einzigen Anwendung gleichzusetzen noch müssen alle Varianten ausschließlich gleiche Outputs verwenden. [1] [2] [4]

Maxwells Beitrag erklärt die Grundidee, die Dokumentation einer Wallet deren Ablauf und die WabiSabi-Arbeit Eigenschaften des Protokolls. Das sind unterschiedliche Belegebenen. Zum Zeitpunkt dieser Überarbeitung ist das ursprüngliche Repository JoinMarket client/server archiviert; es dient hier als historische und technische Quelle, nicht als Installationsempfehlung. PayJoin nach BIP 78 ist eine verwandte Zusammenarbeit zwischen Zahlendem und Empfänger, bei der beide Inputs beisteuern. Meist zielt sie nicht auf eine große Gruppe gleichwertiger Outputs. Vergleiche deshalb, wer zusammenarbeitet, was die Beteiligten erfahren können und was die Person und ihre Wallet vor dem Signieren tatsächlich prüfen, statt dich nur auf das gemeinsame Wort ‘Privatsphäre’ zu verlassen. [1] [2] [3] [4] [5] [6]

Beispiel · CJ

Eine gemeinsame Transaktion bedeutet nicht, dass alles einer Person gehört

Alice und Bob kontrollieren jeweils einen anderen Eingang einer gemeinsamen Transaktion und erhalten eigene Ausgänge. Die Annahme, alle Eingänge gehörten einer Person, ist hier falsch. Das Zusammenlegen allein garantiert keine verborgene Zuordnung der Ausgänge; Beträge, weitere Informationen und spätere Ausgaben können Verbindungen offenlegen.

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Bitcoin, Bitcoin-Privatsphäre, Pseudonymität, Wallet, UTXO, Transaktion. Auf diesen Eintrag verweisen außerdem Change Address, Bitcoin-Privatsphäre, Pseudonymität, KYC.

01Kann ein CoinJoin-Koordinator Mittel aus den Eingängen stehlen?

Bei einem korrekt aufgebauten CoinJoin ohne Verwahrung behalten die Teilnehmer ihre Schlüssel. Vor dem Signieren prüfen sie die gesamte Transaktion, insbesondere ihre eigenen Ausgänge, Beträge und Gebühren. Ohne erforderliche Signaturen kann der Koordinator keine gültige Transaktion erstellen, aber eine Runde stören oder Teilnahme verweigern. Signiert ein Teilnehmer jedoch eine Transaktion, die sein Geld an einen Betrüger schickt, stimmt er dieser Zahlung selbst zu.

02Bleiben Ausgänge nach CoinJoin für immer anonym?

Nein. Die Historie bleibt öffentlich. Adresswiederverwendung, Zusammenführung, Zahlungen an bekannte Gegenparteien, erkennbares Wallet-Verhalten und Netzwerkmetadaten können die Mehrdeutigkeit verringern oder beseitigen. Das Ergebnis hängt vom Protokoll und dem späteren Umgang mit Ausgängen ab.

DOC · 001Gregory Maxwell — CoinJoin: Bitcoin privacy for the real worldPrimärquelle DOC · 002JoinMarket client/serverPrimärquelle DOC · 003JoinMarket — Architecture Notes (archived)Dokumentation DOC · 004WabiSabi: Centrally Coordinated CoinJoins with Variable AmountsPrimärquelle DOC · 005Wasabi Wallet — CoinJoin documentationDokumentation DOC · 006BIP 78 — PayjoinSpezifikation
Überarbeitet: Quellenbasiert · Keine Anlageberatung