Coin Mixing und CoinJoins erklärt
Coin Mixing und CoinJoins erklärt
HomeArtikel

Coin Mixing und CoinJoins erklärt

Fortgeschritten
Published Mar 25, 2020Updated Apr 29, 2021
5m

Einführung

Bitcoin wird oft als digitales Bargeld bezeichnet, aber dies ist ein fragwürdiger Vergleich. Wenn Alice Bob zehn Dollar in bar bezahlt, hat Bob keine Ahnung, wo das Geld herkommt. Wenn er es später an Carol weitergibt, kann sie nicht darauf schließen, dass Alice einmal im Besitz des Geldes war.
Bitcoin ist anders, weil es von Natur aus öffentlich ist. Die Historie einer bestimmten Coin (genauer gesagt, eine nicht ausgegebene Transaktionsausgabe oder UTXO) kann von jedem ganz einfach überprüft werden.Es ist ein bisschen so, als ob man den Transaktionsbetrag und die Namen der Teilnehmer jedes Mal auf einen Geldschein schreibt, wenn er benutzt wird. 
Die Pseudonymität einer öffentlichen Adresse stellt jedoch sicher, dass die Identität der Nutzer nicht leicht aufgedeckt wird. Dennoch ist Bitcoin nicht völlig privat. Die Methoden zur Analyse der Blockchain werden immer besser und sind in der Lage, Adressen immer effizienter mit Identitäten zu verknüpfen. Neben anderen Überwachungstechniken kann eine engagierte Instanz die Benutzer von Kryptowährungen deanonymisieren. Um hier Abhilfe zu schaffen, sind im Laufe der Jahre Techniken zur Aufhebung der Verbindungen zwischen Transaktionen aufgetaucht.


Was ist Coin Mixing?

Coin Mixing ist im Prinzip eine Aktivität, bei der ein gewisser Geldbetrag durch andere Geldmittel ersetzt wird. Im Bereich der Kryptowährungen ist die Bezeichnung Coin Mixing häufig eine Dienstleistung, die von einer dritten Partei erbracht wird. Normalerweise nehmen die Dienstleister die Coins der Benutzer (und eine kleine Gebühr) und senden Coins zurück, die keine Verbindung zu den vorher gesendeten Coins haben. Diese Dienste werden auch als Tumbler oder Mixer bezeichnet.

Die Sicherheit und Anonymität solcher zentralisierten Dienste ist natürlich fragwürdig. Die Benutzer haben keine Garantie, dass ihr Geld vom Mixer zurückerstattet wird oder dass die zurückgesendeten Coins nicht in irgendeiner Weise "verunreinigt" sind. Ein zusätzlicher Aspekt, der bei der Verwendung eines Mixers zu berücksichtigen ist, ist, dass IP- und Bitcoin-Adressen von einer dritten Partei protokolliert werden könnten. Letztendlich geben die Benutzer die Kontrolle über ihre Gelder auf, in der Hoffnung, nicht verlinkte Gelder zurück zu erhalten.

Ein wohl interessanterer Ansatz sind die sogenannten CoinJoin-Transaktionen, die einen erheblichen Grad an plausibler Bestreitbarkeit schaffen. Das heißt, dass nach einem CoinJoin keine Beweise einen Nutzer mit Sicherheit mit seinen früheren Transaktionen in Verbindung bringen können. Viele CoinJoin-Lösungen bieten eine dezentrale Alternative zu Mixern. Auch wenn ein Koordinator beteiligt ist, verlieren die Benutzer nicht die Kontrolle über ihre Gelder.


Was ist ein CoinJoin?

CoinJoin-Transaktionen wurden im Jahr 2013 von Bitcoin-Entwickler Gregory Maxwell zuerst vorgeschlagen. In seinem Thread gibt er einen kurzen Überblick darüber, wie diese Transaktionen strukturiert sind und wie massive Gewinne an Privatsphäre ohne Änderungen des Protokolls erzielt werden können.
 Im Wesentlichen umfasst ein CoinJoin die Kombination von Eingaben mehrerer Benutzer in eine einzige Transaktion. Bevor wir erklären, wie (und warum), werfen wir einen Blick auf die grundlegende Struktur einer solchen Transaktion.

Bitcoin-Transaktionen setzen sich aus Ein- und Ausgängen zusammen. Wenn ein Benutzer eine Transaktion durchführen möchte, nimmt er seine UTXOs als Eingabe, gibt die Ausgaben an und unterzeichnet die Eingaben. Es ist wichtig zu beachten, dass jede Eingabe unabhängig unterzeichnet wird, und dass die Benutzer mehrere Ausgaben festlegen können (die an verschiedene Adressen gehen).



Wenn wir eine bestimmte Transaktion betrachten, die sich aus vier Inputs (je 0,2 BTC) und zwei Outputs (0,7 BTC und 0,09 BTC) zusammensetzt, können wir einige unterschiedliche Annahmen treffen. Die erste ist, dass wir eine Zahlung beobachten – der Absender sendet eine der Ausgaben an jemanden und erhält selbst ein wenig Wechselgeld zurück. Da sie vier Eingaben verwendet haben, ist die größere Ausgabe wahrscheinlich für den Empfänger bestimmt. Beachten Sie, dass 0,01 BTC in den Ausgaben fehlen, denn das ist die Gebühr, die dem Miner gezahlt wird.

Es ist auch möglich, dass der Absender aus kleineren UTXOs eine große UTXO erstellen möchte, so dass kleinere Eingaben zusammengefasst werden, um das gewünschte Ergebnis von 0,7 BTC zu erhalten.

Eine weitere Annahme, die wir treffen können, basiert auf der Tatsache, dass jede Eingabe unabhängig voneinander unterzeichnet wird. Bei dieser Transaktion könnten bis zu vier verschiedene Parteien die Eingaben unterzeichnen. Und darin liegt das Prinzip, das CoinJoining effektiv macht.


Wie funktioniert ein CoinJoin?

Die Idee ist, dass sich mehrere Parteien koordinieren, um eine Transaktion zu erstellen, wobei jede Partei Eingaben und gewünschte Ausgaben liefert. Da alle Eingaben kombiniert werden, wird es unmöglich, mit Sicherheit zu sagen, welche Ausgabe zu welchem Benutzer gehört. Betrachten Sie das folgende Diagramm:



Hier haben wir vier Teilnehmer, die die Verbindung zwischen den Transaktionen aufheben wollen. Sie koordinieren sich untereinander (oder über einen speziellen Koordinator), um die Ein- und Ausgaben, die sie einbeziehen möchten, bekannt zu geben.

Der Koordinator nimmt alle Informationen auf, verarbeitet sie zu einer Transaktion und lässt jeden Teilnehmer unterzeichnen, bevor er sie an das Netzwerk sendet. Sobald die Benutzer unterzeichnet haben, kann die Transaktion nicht mehr geändert werden, ohne dass sie ungültig wird. Es besteht daher kein Risiko, dass der Koordinator mit den Geldern verschwindet.

Die Transaktion dient als so etwas wie eine Black Box zum Mixen der Coins. Denken Sie daran, dass wir UTXOs effektiv zerstören, um neue zu generieren. Die einzige Verbindung zwischen den alten und neuen UTXOs, die wir haben, ist die Transaktion selbst, aber natürlich können wir nicht zwischen den Teilnehmern unterscheiden. Im besten Fall können wir sagen, dass ein Teilnehmer eine der Eingaben gemacht hat und vielleicht der neue Eigentümer einer resultierenden Ausgabe ist.

Aber auch das ist keineswegs garantiert. Wer kann bei der oben genannten Transaktion sagen, dass es vier Teilnehmer gibt? Sendet diese eine Person ihre Gelder an vier ihrer eigenen Adressen? Oder sind es zwei Personen, die zwei separate Käufe tätigen und jeweils 0,2 BTC an ihre eigene Adresse zurückschicken? Oder vier Personen, die an neue Teilnehmer oder an sich selbst zurückschicken? Das können wir nicht mit Sicherheit sagen.


Privatsphäre durch Bestreitbarkeit

Allein die Tatsache, dass es CoinJoin-Implementierungen gibt, reicht aus, um die Methoden zur Analyse von Transaktionen in Frage zu stellen. Sie können zwar ableiten, dass ein CoinJoin in vielen Fällen stattgefunden hat, aber Sie sind immer noch nicht klüger, wem die Ausgaben gehören. Mit zunehmender Beliebtheit wird die Annahme, dass alle Eingaben ein und demselben Benutzer gehören, geschwächt – ein massiver Sprung für die Privatsphäre im Ökosystem.

Im vorhergehenden Beispiel sagen wir, dass die Transaktion einen Anonymitätssatz  von 4 benutzt &ndash hatte; der Eigentümer einer Ausgabe könnte jeder der vier beteiligten Teilnehmer sein. Je größer der Anonymitätssatz ist, desto unwahrscheinlicher ist es, dass Transaktionen mit ihrem ursprünglichen Eigentümer in Verbindung gebracht werden können. Glücklicherweise machen es die jüngsten CoinJoin-Implementierungen für die Benutzer einfach, ihre Eingaben mit Dutzenden von anderen vertrauenslos zusammenzuführen und bietet einen hohen Grad an Bestreitbarkeit. Kürzlich wurde eine 100-Personen-Transaktion erfolgreich ausgeführt.


Fazit

Coin-Mixing-Tools sind eine wichtige Ergänzung des Instrumentariums eines jeden Benutzers, der es mit seiner Privatsphäre ernst meint. Im Gegensatz zu den vorgeschlagenen Datenschutz-Upgrades (wie z.B. Vertrauliche Transaktionen) sind sie mit dem heutigen Protokoll kompatibel. 

Für diejenigen, die auf die Integrität und Methodik Dritter vertrauen, sind Mixing Services eine einfache Lösung. Für diejenigen, die eine überprüfbare Non-Custodial Alternative bevorzugen, sind CoinJoin-Alternativen überlegen. Diese können für technisch versierte Nutzer von Hand oder mit Hilfe von Software-Tools, die die komplexeren Mechanismen vereinfachen, durchgeführt werden. Es gibt bereits einige dieser Tools, die weiterhin an Popularität gewinnen, da viele Benutzer eine größere Privatsphäre anstreben.