Einführung

Bitcoin wird oft als digitales Geld bezeichnet, aber das ist ein grober Vergleich. Wenn Alice Bob 10 Dollar in bar zahlt, hat Bob keine Ahnung, woher das Geld kommt. Wenn er es dann Carol gibt, kann sie nicht wissen, dass Alice es in ihrem Besitz hatte.

Bitcoin unterscheidet sich aufgrund seines öffentlichen Charakters. Der Verlauf einer bestimmten Münze (genauer gesagt ein nicht ausgegebener Transaktionsoutput oder UTXO) kann von jedem trivial eingesehen werden. Es ist ein bisschen so, als würde man bei jeder Verwendung den Transaktionsbetrag und die Namen der Teilnehmer auf eine Rechnung schreiben.

Allerdings stellt die Pseudonymisierung einer öffentlichen Adresse sicher, dass die Identität der Benutzer nicht leicht preisgegeben wird. Bitcoin ist jedoch nicht vollständig privat. Die Blockchain-Analyse wird immer ausgefeilter und kann Adressen immer effizienter mit Identitäten verknüpfen. Zusammen mit anderen Überwachungstechniken kann eine spezielle Stelle Kryptowährungsbenutzer deanonymisieren. Um dieses Problem anzugehen, sind im Laufe der Jahre Techniken zur Entbündelung von Transaktionen aufgetaucht.


Was ist Raummischung?

Im Allgemeinen kann sich das Mischen von Münzen auf jede Aktivität beziehen, die die Verschleierung von Geldern durch deren Ersetzung durch andere beinhaltet. Im Kryptowährungsbereich weist die Währungsmischung jedoch im Allgemeinen auf eine von einem Dritten bereitgestellte Dienstleistung hin. Typischerweise nehmen Dienstleister die Gelder der Benutzer (und eine kleine Provision) und geben Gelder zurück, die in keinem Zusammenhang mit den gesendeten Geldern stehen. Diese Dienste werden auch als Tumbler oder Mixer bezeichnet.

Die Sicherheit und Anonymität dieser zentralisierten Dienste sind natürlich fraglich. Benutzer haben keine Garantie dafür, dass ihnen ihr Geld vom Mixer zurückgegeben wird oder dass die zurückgegebenen Münzen nicht in irgendeiner Weise manipuliert wurden. Ein weiterer zu berücksichtigender Aspekt bei der Verwendung eines Mixers besteht darin, dass IP- und Bitcoin-Adressen möglicherweise von Dritten aufgezeichnet werden. Letztendlich geben Benutzer die Kontrolle über ihre Gelder auf, in der Hoffnung, im Gegenzug ungebundene Gelder zu erhalten.

Ein wahrscheinlich interessanterer Ansatz besteht in Form von CoinJoin-Transaktionen, die ein erhebliches Maß an plausibler Leugnung schaffen. Das bedeutet, dass es nach einem CoinJoin keinen Beweis gibt, der einen Benutzer mit Sicherheit mit seinen vorherigen Transaktionen in Verbindung bringen kann. Viele CoinJoin-Lösungen bieten eine dezentrale Alternative zu Mixern. Obwohl möglicherweise ein Koordinator beteiligt ist, müssen Benutzer nicht auf die Verwahrung ihrer Gelder verzichten.


Was ist ein CoinJoin?

CoinJoin-Transaktionen wurden ursprünglich 2013 vom Bitcoin-Entwickler Gregory Maxwell vorgeschlagen. In seinem Thread gibt er einen kurzen Überblick über die Struktur dieser Transaktionen und wie die massiven Datenschutzgewinne ohne Änderung des Protokolls erzielt werden können.

Im Wesentlichen geht es bei einem CoinJoin darum, die Eingaben mehrerer Benutzer in einer einzigen Transaktion zu kombinieren. Bevor wir erklären, wie (und warum), werfen wir einen Blick auf die Struktur einer grundlegenden Transaktion.

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


image d'un exemple de transaction avec quatre entrées et deux sorties


Wenn wir eine bestimmte Transaktion betrachten, die aus vier Eingaben (jeweils 0,2 BTC) und zwei Ausgaben (0,7 BTC und 0,09 BTC) besteht, können wir einige unterschiedliche Annahmen treffen. Zuerst sehen wir, dass eine Zahlung stattfindet: Der Absender sendet eine der Ausgaben an jemanden und gibt die Differenz an sich selbst zurück. Da vier Eingaben verwendet wurden, ist die wichtigste Ausgabe wahrscheinlich für den Empfänger. Beachten Sie, dass den Ausgaben 0,01 BTC fehlen, was der Gebühr entspricht, die der Miner erhält.

Es ist auch möglich, dass der Absender aus kleinen UTXOs ein großes UTXO erstellen möchte und die kleinen Einträge konsolidiert, um das gewünschte Ergebnis von 0,7 BTC zu erreichen.

Eine weitere Annahme, die wir treffen können, basiert auf der Tatsache, dass jeder Eintrag unabhängig signiert ist. Bei dieser Transaktion können bis zu vier verschiedene Parteien die Einträge signieren. Und das ist das Prinzip, das CoinJoins effektiv macht.


Wie funktioniert ein CoinJoin?

Die Idee besteht darin, dass sich mehrere Parteien koordinieren, um eine Transaktion zu erstellen, wobei jede Partei die gewünschten Ein- und Ausgänge bereitstellt. Da alle Eingaben kombiniert werden, ist es unmöglich, mit Sicherheit zu sagen, zu welchem ​​Ergebnis der Benutzer gehört. Untersuchen Sie das Diagramm unten:


image d'un exemple de coinjoin


Hier haben wir vier Teilnehmer, die die Verbindung zwischen Transaktionen unterbrechen wollen. Sie koordinieren sich untereinander (oder über einen engagierten Koordinator), um die Ein- und Ausgänge anzukündigen, die sie einbeziehen möchten.

Der Koordinator nimmt alle Informationen auf, wandelt sie in eine Transaktion um und bittet jeden Teilnehmer um eine Unterschrift, bevor er sie an das Netzwerk weitergibt. Sobald Benutzer unterschreiben, kann die Transaktion nicht mehr geändert werden, ohne dass sie ungültig wird. Es besteht daher keine Gefahr, dass der Koordinator mit den Geldern abhauen wird.

Die Transaktion dient als eine Art Blackbox zum Mischen der Teile. Denken Sie daran, dass wir UTXOs zerstören, um neue zu erstellen. Die einzige Verbindung zwischen dem alten und dem neuen UTXO, die wir haben, ist die Transaktion selbst, aber natürlich können wir die Teilnehmer nicht unterscheiden. Bestenfalls können wir sagen, dass ein Teilnehmer einen der Inputs bereitgestellt hat und möglicherweise der neue Eigentümer eines resultierenden Outputs ist.

Dies ist jedoch keineswegs garantiert. Wer kann bei der oben genannten Transaktion sagen, dass es vier Teilnehmer gibt? Ist es eine Person, die ihr Geld an vier ihrer eigenen Adressen sendet? Zwei Personen, die zwei separate Einkäufe tätigen und jeweils 0,2 BTC an ihre eigene Adresse zurücksenden? Vier Personen, die Geld an neue Teilnehmer oder an sich selbst zurückschicken? Wir können nicht sicher sein.


Vertraulichkeit durch die Möglichkeit der Verleugnung

Die bloße Tatsache, dass Implementierungen von CoinJoin existieren, reicht aus, um Zweifel an den Methoden zur Analyse von Transaktionen aufkommen zu lassen. Sie können daraus schließen, dass in vielen Fällen ein CoinJoin stattgefunden hat, aber Sie können immer noch nicht sagen, wem die Ausgaben gehören. Mit zunehmender Beliebtheit wird die Annahme, dass die Einträge alle von demselben Benutzer gehalten werden, geschwächt, was einen massiven Anstieg der Privatsphäre im gesamten Ökosystem zur Folge hat.

Im vorherigen Beispiel sagen wir, dass die Transaktion einen Anonymitätssatz von 4 hatte. Der Eigentümer einer Ausgabe könnte jeder der vier beteiligten Teilnehmer sein. Je höher die Anonymität eingestellt ist, desto geringer ist die Wahrscheinlichkeit, dass Transaktionen ihrem ursprünglichen Eigentümer zugeordnet werden können. Glücklicherweise ermöglichen die jüngsten CoinJoin-Implementierungen den Benutzern, ihre Einträge zuverlässig mit Dutzenden anderen zusammenzuführen, was ein hohes Maß an Anonymität gewährleistet. Kürzlich wurde eine 100-Personen-Transaktion erfolgreich durchgeführt.


Schlussfolgern

Tools zum Mischen von Münzen sind eine wichtige Ergänzung zum Arsenal jedes datenschutzbewussten Benutzers. Im Gegensatz zu vorgeschlagenen Datenschutzverbesserungen (z. B. vertraulichen Transaktionen) sind diese mit dem Protokoll in seiner heutigen Form kompatibel.

Für diejenigen, die auf die Integrität und Methodik Dritter vertrauen, sind Mischdienste eine einfache Lösung. Für diejenigen, die eine überprüfbare Alternative ohne Verwahrung bevorzugen, sind die CoinJoin-Alternativen überlegen. Dies kann für technisch versierte Benutzer manuell erfolgen oder durch den Einsatz von Softwaretools, die die komplexeren Mechanismen abstrahieren. Es gibt bereits eine Handvoll dieser Tools, die immer beliebter werden, da Benutzer ihre Privatsphäre verbessern möchten.