Einführung

Bitcoin wird oft als digitales Bargeld angesehen, aber das ist fraglich. Wenn Alice Bob 10 $ in bar zahlt, kann Bob nicht wissen, woher das Geld stammt. Als Bob die 10 Dollar an Carol überweist, kann Carol nicht wissen, dass die 10 Dollar ursprünglich von Alice kamen.

Aufgrund des inhärenten öffentlichen Charakters von Bitcoin ist die Situation jedoch anders. Der Verlauf eines bestimmten Tokens (nicht ausgegebene Transaktionsausgaben, genauer gesagt UTXOs) ist für jeden einsehbar. Dies ähnelt dem Schreiben des Transaktionsbetrags und der Namen der Teilnehmer auf eine Rechnung.

Öffentliche Adressen können jedoch anonymisiert werden, sodass Benutzer ihre Identität leicht verbergen können. Allerdings kann Bitcoin seine Spuren nicht vollständig verbergen. Die Analysetechnologie für Blockchain wird immer ausgereifter und kann Adressen effektiv mit Identitäten abgleichen. Zusätzlich zu anderen Überwachungstechniken können dedizierte Stellen auch Kryptowährungsbenutzer deanonymisieren. Um dieses Problem zu lösen, sind auf dem Markt verschiedene Technologien zur Entbündelung von Transaktionen entstanden.


Was ist Token-Mixing?

Im Großen und Ganzen bezieht sich Token-Mixing auf alle Vorgänge, bei denen Gelder durch Swaps gemischt werden. In der Welt der Kryptowährungen erfolgt die Münzmischung jedoch durch Dritte. Der Dienstanbieter nimmt normalerweise die Token des Benutzers (zusammen mit einer geringen Gebühr) und gibt später einige Token zurück, die keinen Bezug zu den gesendeten Token haben. Solche Dienste werden auch als Tumbler oder Münzmischer bezeichnet.

Natürlich sind die Sicherheit und Anonymität solcher zentralisierten Dienste fraglich. Benutzer haben keine Garantie dafür, dass der Mixer Geld zurückgibt oder dass die zurückgegebenen Token nicht in irgendeiner Weise verunreinigt sind. Darüber hinaus können bei der Nutzung eines Mixers auch IP- und Bitcoin-Adressen von Dritten erfasst werden. Das Ergebnis der Token-Mischung ist, dass Benutzer die Kontrolle über ihre Gelder aufgeben, in der Hoffnung, unabhängige Token zu erhalten.

Derzeit gibt es ein neues Schema namens „CoinJoin Transaction“, das den Benutzern einen großen Spielraum für Ablehnung bietet. Mit anderen Worten: Nach der Nutzung von CoinJoin werden die genauen Beweise für die Verbindung zwischen dem Benutzer und vergangenen Transaktionen gelöscht. Viele CoinJoin-Lösungen werden zu dezentralen Alternativen zu Mixern. Es besteht zwar die Möglichkeit, dass ein Koordinator eingreift, Nutzer müssen jedoch nicht auf Rechte zur Fondsverwaltung verzichten.


Was ist CoinJoin?

Der CoinJion-Handel kam 2013 auf den Markt und wurde erstmals vom Bitcoin-Entwickler Gregory Maxwell vorgeschlagen. In dem Beitrag stellte er kurz die Struktur solcher Transaktionen vor und wie man hohe private Renditen erzielen kann, ohne das Protokoll zu ändern.

Im Wesentlichen beziehen CoinJoin-Transaktionen Eingaben von mehreren Benutzern ein. Bevor wir erklären, wie diese Technologie funktioniert, wollen wir zunächst die Struktur der zugrunde liegenden Transaktion verstehen.

Bitcoin-Transaktionen bestehen aus Ein- und Ausgängen. Wenn ein Benutzer eine Transaktion durchführen möchte, nimmt er ein UTXO als Eingabe, gibt die Ausgabe an und signiert die Eingabe. Bitte beachten Sie, dass jede Eingabe unabhängig signiert ist, der Benutzer jedoch mehrere Ausgaben einrichten kann (die auf verschiedene Adressen abzielen).


image of an example transaction with four inputs and two outputs


Nehmen wir als Beispiel eine bestimmte Transaktion, die aus vier Eingaben (jeweils 0,2 BTC) und zwei Ausgaben (0,7 BTC und 0,09 BTC) besteht, können wir eine Reihe von Annahmen darüber treffen. Beobachten Sie zunächst, wie eine Zahlung erfolgt – der Absender sendet eine der Ausgaben an jemanden und erhält anschließend das Wechselgeld. Diese Transaktion verwendet vier Eingaben, daher sollte die größere Ausgabe an den Empfänger weitergeleitet werden. Bitte beachten Sie, dass wir dem Miner eine Gebühr zahlen müssen und der Output 0,01 BTC verliert.

Der Absender möchte möglicherweise auch ein großes UTXO erstellen und so kleine Eingaben kombinieren, um eine Zielausgabe von 0,7 BTC zu erreichen.

Wir können auch davon ausgehen, dass jede Eingabe unabhängig signiert ist. Bei dieser Transaktion unterzeichnen höchstens vier Parteien die Eingabe. Genau so funktioniert CoinJoin.


Wie funktioniert CoinJoin?

Die Kernidee besteht darin, dass mehrere Parteien zusammenarbeiten, um Transaktionen zu erstellen, wobei jede Partei Eingaben und erwartete Ausgaben bereitstellt. Wenn alle Eingaben zusammengeführt werden, können andere die Entsprechung zwischen der Ausgabe und dem Benutzer nicht erkennen. Schauen wir uns das folgende Diagramm an:


image of an example coinjoin


Wie in der Abbildung dargestellt, möchten vier Teilnehmer die Korrelation zwischen Transaktionen aufbrechen. Sie koordinieren sich untereinander (oder über einen speziellen Koordinator), um die Ein- und Ausgänge zu deklarieren, die gezählt werden sollen.​

Der Koordinator nimmt alle diese Informationen und zieht sie in eine Transaktion ein, wobei er jeden Teilnehmer dazu auffordert, sie zu unterzeichnen, bevor er sie an das Netzwerk sendet. Sobald die Transaktion von einem Benutzer unterzeichnet wurde, kann sie nicht mehr geändert werden, bis sie ungültig wird. Daher kann der Koordinator keine Gelder stehlen.​

Diese Transaktion fungiert als Blackbox für das Mischen von Münzen. Vergessen Sie nicht, dass wir das ursprüngliche UTXO zerstören, um ein neues UTXO zu erstellen. Die einzige Verbindung zwischen altem und neuem UTXO ist die Transaktion selbst, und natürlich können wir die Teilnehmer nicht unterscheiden. Im Idealfall muss man einfach wissen, dass es Teilnehmer gibt, die Input liefern und möglicherweise Eigentümer der Output-Ergebnisse sind.

Trotzdem können wir nicht hundertprozentig sicher sein. Wer kann angesichts der oben beschriebenen Transaktion sicher sein, dass es vier Teilnehmer gibt? Oder sendet nur eine Person Geld an seine vier Adressen? Oder kaufen zwei Personen jeweils zweimal und jede Adresse erhält 0,2 BTC? Es ist auch möglich, dass vier Personen Geld an neue Teilnehmer geschickt haben oder dass das Geld an die Einzelperson zurückgeflossen ist. Die konkreten Umstände können wir nicht ermitteln.


Schutz der Privatsphäre durch „Leugnung“

Das Aufkommen der CoinJoin-Implementierung reichte aus, um Zweifel an den Methoden der Transaktionsanalyse aufkommen zu lassen. In vielen Fällen können Sie daraus schließen, dass ein CoinJoin stattgefunden hat, können aber den Eigentümer der Ausgabe nicht bestimmen. Mit zunehmender Verbreitung dieser Technologie schwächt sich die Annahme, dass alle Eingaben demselben Benutzer gehören, allmählich ab. In einem breiten und umfassenden Ökosystem hat sich der Datenschutz dramatisch verbessert.

Im obigen Beispiel gehen wir davon aus, dass der anonyme Transaktionssatz vier Eingabeeigentümer hat und der Ausgabeeigentümer jede dieser vier Personen sein kann. Je größer die Anonymität eingestellt ist, desto geringer ist die Wahrscheinlichkeit, eine Übereinstimmung zwischen der Transaktion und dem ursprünglichen Eigentümer zu finden. Glücklicherweise ermöglicht das aktuelle CoinJoin-System Dutzenden von Benutzern, Eingaben auf vertrauenswürdige Weise zusammenzuführen, was die „Leugnbarkeit“ erheblich verbessert. Kürzlich hat CoinJoin Hunderte von Trades erfolgreich durchgeführt.


Zusammenfassen

Für Benutzer, die großen Wert auf Privatsphäre legen, ist das Mischen von Währungen eine sehr effektive ergänzende Methode. Im Gegensatz zu vorgeschlagenen Datenschutzverbesserungen wie vertraulichen Transaktionen ist diese Technologie mit bestehenden Protokollen kompatibel.

Für Benutzer, die auf die Integrität und die effektiven Methoden Dritter vertrauen, sind Währungsmischdienste einfach und bequem. Für Benutzer, die eine überprüfbare oder nicht verwahrte Lösung bevorzugen, ist CoinJoin eine ausgezeichnete Wahl. Technisch versierte Benutzer können komplexere Mechanismen manuell oder mithilfe von Softwaretools abstrahieren. Da heute das Bedürfnis nach Privatsphäre steigt, werden solche Tools auf dem Markt immer beliebter.