Navigieren durch die verschiedenen CoinJoin-Implementierungen

By Bitcoin Magazin - vor 1 Jahr - Lesezeit: 12 Minuten

Navigieren durch die verschiedenen CoinJoin-Implementierungen

Wie kann man den Lärm und die Verwirrung überwinden, um den optimalen Weg zu finden, CoinJoins zu nutzen und sie zu verschleiern? bitcoin Transaktionen?

Dies ist ein Meinungskommentar von Thibaud Maréchal, einem Mitarbeiter von Privacy-focused Bitcoin Brieftaschenprojekt Wasabi Wallet.

„Teile und herrsche“ ist eine kampferprobte Militärstrategie, die darauf abzielt, eine Gruppe von Menschen zu spalten, indem man sie dazu bringt, anderer Meinung zu sein und gegeneinander zu kämpfen, anstatt sich gegen einen gemeinsamen Feind zusammenzutun. Wasabi und Samourai, zwei beliebte Gerichte bitcoin Wallets mit unterschiedlichen CoinJoin-Implementierungen kämpfen seit vielen Jahren. JoinMarket, eine dritte CoinJoin-Implementierung, war ebenfalls in lebhafte Debatten mit anderen Datenschutzentwicklern verwickelt.

Lernen über bitcoin Datenschutz und CoinJoins sind aufgrund des anhaltenden Dramas ziemlich schwierig geworden. Wem kann man vertrauen? Wie kann man das selbst überprüfen? Es ist alles sehr unklar. Was bringt es für Precoiner, Gelegenheitsspieler? bitcoinFans und Puristen gleichermaßen? Verwirrung, Angst, Unsicherheit und Zweifel (FUD). Der Zustand bitcoin Die Privatsphäre ist peinlich, da dieses ständige Drama neue Benutzer abschreckt. Kostbare Zeit wird von Entwicklern, Lehrkräften und normalen Benutzern verschwendet, die wahrscheinlich besser dran wären, als zu versuchen, mit dem Drama Schritt zu halten.

Es ist offensichtlich, dass sich niemand darüber einig ist, „wie man CoinJoins richtig macht“, geschweige denn darüber, wie CoinJoins implementiert werden sollten, um die Privatsphäre der Benutzer zu optimieren und die Speicherplatzeffizienz auf dem Block zu optimieren Bitcoin Netzwerk? Welche Kompromisse gibt es zwischen verschiedenen Implementierungen? Sind einige Implementierungen völlig fehlerhaft? Wie überwindet CoinJoins die Kluft vom Early Adopter zum Mainstream-Nutzer, wenn sich Milliarden von Menschen an ihn wenden? bitcoin in den kommenden Jahren?

Werfen wir nun einen Blick auf CoinJoins, indem wir grundlegende Fragen stellen und einige Annahmen aufstellen, um eine Art mentale Modelle zu erstellen, die bei der Bewertung verschiedener Implementierungen in zukünftigen Artikeln nützlich sein werden.

Nicht alle CoinJoins sind gleich

Die Effizienz des Blockraums sollte berücksichtigt werden, um sicherzustellen, dass CoinJoin-Transaktionen entsprechend skaliert werden Bitcoin wird von immer mehr Menschen auf der ganzen Welt genutzt. Dies wird selten als oberste Priorität diskutiert. Jedes CoinJoin-Design, das die Blockraumknappheit ignoriert, überlastet die Blockchain unnötig und häuft gleichzeitig technische Schulden an, die nur schwer zurückzuzahlen sein werden, wenn in Zukunft immer mehr Nutzer CoinJoin nutzen. Ein minimaler Fußabdruck auf der Blockchain ist ein Ziel, das sehr vernünftig anzustreben scheint: Eine kleine Anzahl von Transaktionen, um ein akzeptables Maß an Anonymität zu erreichen, klingt ideal.

Was ist ein akzeptables Maß an Anonymität? Was bedeutet Anonymität überhaupt in diesem Zusammenhang? bitcoin Datenschutz? Wie gehen bestimmte CoinJoin-Designs mit der Blockraumknappheit um?

Fordern Sie Ihre Privatsphäre zurück

Anonymität in bitcoin würde bedeuten, dass es keine herausragenden oder ungewöhnlichen Merkmale gibt, die eine bestimmte Transaktion von anderen Transaktionen im Hauptbuch unterscheiden würden. Das ist natürlich nicht beabsichtigt Bitcoin Netzwerk, bei dem es sich um ein pseudonymes System handelt, bei dem Münzen (UTXOs, was in der Fachsprache für Unspent Transaction Output steht) aufgrund ihrer eindeutigen Transaktionshistorie standardmäßig nicht fungibel sind.

CoinJoins verleihen dem ein gewisses Maß an Anonymität bitcoin Netzwerk, indem die Verbindungen zwischen Transaktionseingaben und -ausgaben unterbrochen werden, was in erster Linie dazu führt, dass resultierende UTXOs nicht mehr voneinander zu unterscheiden sind. Es gibt andere Heuristiken, die Kettenanalyseunternehmen verwenden, um das zu beobachten bitcoin Netzwerk, wie gemeinsames Input-Eigentum, Eigenausgaben, runde Beträge oder Timing-Analyse, um nur einige zu nennen, die von CoinJoins verdeckt werden können oder auch nicht.

CoinJoins-Hilfe bitcoinMenschen fordern ihre Privatsphäre zurück, sind aber nicht die Lösung für alles. Wenn Privatsphäre als die Entscheidung verstanden wird, Informationen über sich selbst weiterzugeben, kann durch CoinJoins ein großer Datenschutz erreicht werden, aber die Wahl der richtigen Implementierung ist entscheidend.

Was ist mein Datenschutzziel bei der Verwendung von CoinJoins? Vor welchen Heuristiken schützt mich eine CoinJoin-Implementierung? Welche Risiken möchte ich vermeiden?

Zahl der Teilnehmer

Bestehende CoinJoin-Implementierungen haben sehr unterschiedliche Möglichkeiten, den Datenschutz zu verbessern. Unabhängig von jedem CoinJoin-Implementierungsdesign scheint das Anonymitätsset (ein Maß für den Grad der Anonymität) die traditionellste Methode zu sein, um zu bewerten, wie viel Privatsphäre man von einem CoinJoin erhält. Es gibt andere Möglichkeiten, die in anderen Artikeln besprochen werden. Die Annahmen sind, dass entweder ein hoher Anonymitätssatz mit einer großen CoinJoin-Transaktion erreicht wird oder dass er über mehrere kleinere CoinJoin-Transaktionen erreicht wird. Diese beiden Parameter sind beide wichtig, aber gibt es einen, der wichtiger ist als der andere?

In Bezug auf die Blockspace-Effizienz wäre die Annahme, dass das Erreichen eines großen Anonymitätssatzes mit einer einzigen sehr großen Transaktion mit vielen Teilnehmern besser ist als mehrere sehr kleine Transaktionen mit wenigen Teilnehmern.

Ist ein einzelner großer CoinJoin oder mehrere kleine CoinJoins besser für den Datenschutz? Wie kann das wahrheitsgetreu und genau überprüft werden? Wie klein ist zu klein für einen CoinJoin? Was ist die richtige Kennzahl, um zu bewerten, wie viel Privatsphäre Sie mit einem CoinJoin erhalten können? Was ist hinsichtlich der Größe und Anzahl der CoinJoins am effizientesten, um Ihre Privatsphäre wiederherzustellen? Ist es realistisch zu erwarten, dass Münzen im Laufe der Zeit an mehreren CoinJoins teilnehmen, wenn immer mehr Menschen CoinJoins verwenden? Wie viele CoinJoin-Runden sind genug oder zu viel?

Einfach ausgedrückt ermöglichen CoinJoins bitcoinDie Möglichkeit, ihre Privatsphäre zurückzugewinnen, indem man ihnen eine plausible Leugnung gibt. Plausibilität ist ein Maß für die Wahrscheinlichkeit. Wie wahrscheinlich ist es, dass Ihr bitcoins wurden ausgegeben oder einfach an eine andere Adresse verschoben, die Sie noch kontrollieren? Wie wahrscheinlich ist es, dass ein Input mit einem bestimmten Output verknüpft ist?

Offensichtlich gilt: Je kleiner die Wahrscheinlichkeiten bei vielen Optionen, desto besser ist die plausible Leugnung, die Sie als Hodler erhalten. Eine plausible Leugnung ist schwer aufrechtzuerhalten, da Fehler leicht passieren können. Änderungsausgaben sind oft problematisch für bitcoinPersonen, denen die Privatsphäre am Herzen liegt und die oft Anlass für kontroverse Diskussionen und Kritik sind. Warum ist die Änderungsausgabe bei CoinJoins ein so kontroverses Thema?

Ausgabe ändern

Es geht um deterministische Verknüpfungen. Wenn bitcoin Transaktionen verfügten über ein Spektrum an Privatsphäre. Auf der einen Seite handelte es sich um eine Transaktion mit absolut plausibler Leugnbarkeit, was bedeutete, dass die Wahrscheinlichkeit, den Zusammenhang zwischen Inputs und Outputs zu kennen, bei 0 % lag. Dies wird in einem CoinJoin auch als Zufälligkeit oder Entropie bezeichnet. Die Annahme ist, dass es umso besser ist, je zufälliger oder höher die Entropie ist. Am anderen Ende stünde eine Transaktion mit 100 % deterministischen Verbindungen zwischen ihrem einzigen Input und ihrem einzigen Output.

Unintuitiv bedeutet eine hohe Entropie nicht unbedingt, dass eine Transaktion einen guten Datenschutz bietet. Eine Transaktion mit drei Inputs und drei Outputs gleicher Beträge hat technisch gesehen 100 % Entropie, was bedeutet, dass es keine Möglichkeit gibt, jeden Output voneinander zu unterscheiden; und doch besteht eine Wahrscheinlichkeit von 33.33 %, dass jeder Input mit einem bestimmten Output verknüpft ist. Hohe Entropie bedeutet nicht notwendigerweise gute Plausibilität.

Veränderung hat fast immer eine sehr hohe deterministische Verbindung zu ihrer vorherigen Transaktion. Mit anderen Worten, es gibt wenig Zweifel daran, dass eine Änderungsausgabe nicht an die vorherige Transaktion gebunden ist, die sie ausgegeben hat. Dies kann ein erhebliches Datenschutzproblem darstellen, wenn eine bestimmte Änderungsausgabe zusammen mit anderen anonymen Eingaben nach CoinJoins ausgegeben werden würde (obwohl in bestimmten Fällen Ausnahmen gelten können). Dies wird normalerweise als UTXO-Konsolidierung bezeichnet und kann bei naiver Vorgehensweise fatal für Ihre Privatsphäre sein.

Änderungsausgaben können Ausgaben de-anonymisieren, die durch CoinJoins eine gewisse plausible Leugnung erlangt haben, wenn sie zusammen ausgegeben werden. Fehler sind an der Tagesordnung bitcoinManchmal kommt die Erkenntnis zu spät und macht jahrelange sorgfältige Datenschutzverbesserungen mit einer einzigen Ausgabe zunichte. Wie kann dieses Änderungsausgabeproblem behoben werden?

Bestehende CoinJoin-Implementierungen haben drei Möglichkeiten, mit Änderungsausgaben umzugehen: Isolieren Sie die Änderung in einem anderen Wallet, das kein CoinJoining ist, schließen Sie die Änderungsausgabe in dasselbe Wallet ein, das CoinJoining ist, oder entfernen Sie die Änderungsausgabe, indem Sie überhaupt keine Änderungsausgaben haben. Letzteres scheint in Bezug auf Datenschutz und Blockspace-Effizienz am ratsamsten zu sein, aber es sind weitere Grabungen erforderlich, um diese Annahme zu validieren oder abzulehnen.

Reicht ein hoher Entropiewert aus, um einen CoinJoin als gut für Ihre Privatsphäre einzustufen? Ist es besser, die Ausgabe von Wechselgeld in einer anderen Wallet zu isolieren, oder sollte sie ganz entfernt werden? Ist eine Ausgabe von Wechselgeld immer schlecht für Ihre Privatsphäre?

Münzwerte

Um die Ausgabe von Wechselgeld in CoinJoins zu beseitigen, müssen die Münzwerte in einem CoinJoin variabel sein. Mit anderen Worten: Die in einem bestimmten CoinJoin registrierten Eingaben können keine feste Größe wie 0.1 BTC oder andere habenwise Es wird unmöglich (oder zumindest sehr schwierig), Eingaben zu konsumieren, ohne Änderungsausgaben zu erzeugen, da die meisten UTXOs keine runden Zahlen haben (z. B. 0.19572394 BTC, wobei 0.09572394 BTC die Änderung in einem CoinJoin mit festem Münzwert von 0.1 BTC wäre).

Änderungsausgaben können gefährlich für Ihre Privatsphäre sein, erinnern Sie sich? Mehrere Größen für Ein- und Ausgänge in einem CoinJoin zu haben, scheint eine schlechte Idee zu sein, da es uns deterministischen Verbindungen zwischen Ein- und Ausgängen näher bringt, oder? Nun, ja und nein. Es hängt davon ab, ob. Wenn ein CoinJoin eine kleine Anzahl von Teilnehmern hat (d.h. wenige Inputs und wenige Outputs), dann sind unterschiedliche Stückelungen eine schlechte Idee. Was aber, wenn eine große Anzahl von Ein- und Ausgängen in einem bestimmten CoinJoin enthalten sind?

In einem großen CoinJoin können mehrere Denominationen ein hohes Maß an plausibler Leugnung für jede resultierende Ausgabe bringen, ohne Änderungsausgaben zu erzeugen und zusätzliche Transaktionen zu erfordern, was eine hocheffiziente Nutzung von Blockspace ist. Es scheint, dass an dieser Stelle viele Kästchen angekreuzt werden könnten.

Ist es besser, feste oder variable Münzwerte in einem CoinJoin zu haben? Wie groß sollte ein CoinJoin sein, damit variable Münzwerte sinnvoll sind? Sind variable Münzwerte der beste Weg, um die Ausgabe von Wechselgeld in CoinJoins zu vermeiden?

Es versteht sich von selbst, dass die Interkonnektivität der CoinJoin-Runden unter keinen Umständen tolerierbar sein sollte, unabhängig davon, ob es sich um unterschiedliche Münzstückelungen handelt oder ob es sich bei CoinJoin um eine große oder kleine Transaktion handelt, oder? Nun, auch hier gibt es wieder eine wichtige Nuance zu verstehen.

Coinjoin-Runden Interkonnektivität

Es wird behauptet, dass die Registrierung von Eingaben aus früheren gemeinsam genutzten CoinJoins in neue CoinJoins in allen Fällen nicht ratsam ist. Teilnehmer aus gemeinsam geteilten vergangenen CoinJoins scheinen nicht davon zu profitieren, sich in anderen CoinJoins zu vermischen. Es scheint der Privatsphäre zu schaden und wird oft kritisiert.

Was ist, wenn ein CoinJoin groß ist und einige registrierte Eingaben von mehreren anderen CoinJoins stammen, die jeweils auch mehreren anderen CoinJoins nachgelagert sind? In einem solchen Fall verbessern die Teilnehmer, die zusammen remixen, immer noch ihre Privatsphäre, obwohl sie aus einer gemeinsamen Vergangenheit von CoinJoin stammen. Wenn jeder CoinJoin groß genug ist, müssen die Teilnehmer nicht mehrmals remixen, können dies jedoch tun, wenn sie ihre Anonymitätssätze weiter erhöhen möchten.

Wenn viele große, miteinander verflochtene CoinJoins beteiligt sind, sollte der resultierende Anonymitätssatz eine Menge plausibler Leugnung bieten, obwohl frühere CoinJoins als Geldquelle geteilt werden.

Ist die Interkonnektivität von CoinJoin-Runden, bei der vergangene CoinJoins gegenseitig geteilt werden, für sich genommen eine schlechte Sache? Wie groß sollte ein CoinJoin sein, damit er mit anderen früheren Eingaben neu gemischt werden kann, um als sicher zu gelten?

Persönlicher vollständiger Knoten

Sollten Sie Ihr eigenes betreiben? bitcoin Full Node bei Teilnahme an CoinJoins? Oberflächlich betrachtet scheint es eine großartige Idee zu sein, und das ist sie normalerweise auch. Einige CoinJoin-Implementierungen erlauben dies, während andere es unbedingt erfordern. Andere erlauben Ihnen nicht einmal die Verwendung Ihres eigenen vollständigen Knotens. Ist das absolut zu verurteilen? Wenn Sie bis jetzt gelesen haben, sollten Sie wissen, dass die Antwort nuanciert ist und ein tiefes Kaninchenloch öffnet, das später erkundet werden muss.

Das Ausführen Ihres eigenen vollständigen Knotens ist mit Kompromissen bei der Benutzerfreundlichkeit verbunden und fügt möglicherweise nicht viel Datenschutz hinzu, wenn nicht alle Benutzer dies tun. Das Betreiben Ihres eigenen Knotens kann Ihnen sogar ein falsches Gefühl von Sicherheit und Privatsphäre vermitteln, wenn nur wenige CoinJoin-Teilnehmer dies tun, was zutiefst schädlich sein kann. Wenn Tor als anonymer Weg zu CoinJoin verwendet wird (und wir belassen es vorerst dabei), dann kann die Verwendung eines vertrauenswürdigen vollständigen Knotens zur Übertragung der CoinJoin-Transaktion als Standard in Ordnung sein. Viele Nuancen, und natürlich nicht vertrauen, verifizieren.

Es gibt einige grundlegende Fragen, die Sie sich stellen müssen, um nicht in die Falle der Signalisierung der Privatsphäre zu tappen.

Ermöglicht die CoinJoin-Implementierung die Ausführung vollständiger Knoten, erfordert sie diese standardmäßig oder lässt sie sie nicht zu? Wenn persönliche Vollknoten nicht obligatorisch sind, welche Datenschutzschilde gibt es dann? z. B. Tor, Blockfilter usw. Wie wirkt sich das auf meine Privatsphäre aus, wenn ich meinen eigenen vollständigen Knoten betreibe, aber erwarte, dass die meisten Benutzer einen standardmäßigen vertrauenswürdigen Knoten für CoinJoin verwenden? Kann der Koordinator mich de-anonymisieren?

Bei Datenschutzbedenken ist es immer wichtig zu verstehen, was Sie schützen möchten und vor wem. Der Betrieb eines vollständigen Knotens und die Verwendung mit Ihrem eigenen Wallet ist die richtige Art der Nutzung bitcoin denn es ermöglicht Ihnen, Ihr Wallet-Guthaben zu überprüfen und Transaktionen an das Netzwerk zu übertragen, ohne jemandem zu vertrauen. Aber wenn es um CoinJoins geht, ist in der Regel ein Koordinator verantwortlich. Was macht der Koordinator und wie wird er ausgewählt? Weiter lesen.

Der Koordinator

Der CoinJoin-Koordinator ist dafür verantwortlich, dass jeder Teilnehmer seine Ein- und Ausgaben registriert und die gemeinsame Transaktion unterzeichnet, bevor er sie sendet. Die meisten CoinJoin-Implementierungen basieren standardmäßig auf einem zentralen Koordinator, was einen Single Point of Failure darstellt. Bisher war dies in den meisten Fällen ein akzeptierter Kompromiss bitcoin Gemeinschaften. Kann ein zentraler CoinJoin-Koordinator scheitern? Absolut. Andere Implementierungen ermöglichen es jedem, ein Koordinator für jeden einzelnen CoinJoin zu sein, obwohl es hier andere Kompromisse gibt, die später besprochen werden.

Da Coinjoins nicht verwahrt werden, kann es zu keinem Verlust von Geldern kommen, wenn ein Koordinator ausfällt. Der Koordinator sollte niemals mehr wissen als das, was jeder öffentlich auf der Website weiß bitcoin Netzwerk. Warum? Wenn ein Koordinator mehr weiß, als öffentlich verfügbar ist, wird ein CoinJoin-Koordinator zu einem Honeypot mit hochsensiblen Daten, die ausgenutzt werden können bitcoinKunden vertrauen dem Service.

Sie sollten niemals einem CoinJoin-Koordinator vertrauen. Wenn ein CoinJoin-Koordinator nicht böse sein kann, dann gut. Wenn es böse sein kann, wird es schließlich aus Fehlern, Auslassungen, Zwang oder offener Unehrlichkeit geschehen.

Ein Beispiel für sensible Benutzerdaten wären XPUBs, die unbestreitbar alle Informationen über eine Wallet und ihre Adressen, einschließlich Vergangenheit, Gegenwart und Zukunft, preisgeben bitcoin Transaktionen. Ein weiteres Beispiel wäre das Verhältnis zwischen Benutzern, die ihre eigenen vollständigen Knoten betreiben, und Benutzern, die darauf vertrauen, dass der vollständige Knoten des Koordinators CoinJoins sendet, da dadurch Benutzer, die ihre eigenen Knoten betreiben, deanonymisiert werden könnten und daher die Verknüpfungen zwischen ihren Ein- und Ausgängen deterministisch kennen könnten. Dies ist ein weiteres nuanciertes Thema, das einer weiteren Untersuchung und Diskussion bedarf.

Weiß der Koordinator mehr als das, was öffentlich verfügbar ist? bitcoin Netzwerk? Geben Benutzer vertrauliche Daten an den Koordinator weiter, z. B. ihr XPUB oder ob sie ihre eigenen vollständigen Knoten betreiben oder nicht? Behauptet der Koordinator, dass Benutzer ihnen vertrauen sollten, indem sie rechtliche Verteidigungsmechanismen nutzen? (z. B. Warrant Canaries, Regulierungsarbitrage usw.)

Honorare

Fazit: Wer bezahlt was bei CoinJoins? Diese bitcoin Transaktionen können teuer sein und manchmal sind die Gebührenstrukturen unklar bitcoin. Es ist schwer zu sagen, wie viel gute Privatsphäre Sie kosten wird oder ob Sie überhaupt Privatsphäre daraus ziehen. Einige CoinJoin-Implementierungen ermöglichen es einem einzelnen Input, seine Privatsphäre von anderen Inputs zu kaufen, die nur kostenlos teilnehmen, um ihre eigene Anonymität zu erhöhen. An CoinJoin bezahlt werden? Mit Geduld, ja.

Einige Modelle setzen auf gemeinsame Gebühren, bei denen nur einige UTXOs Gebühren zahlen, andere nicht. Andere Modelle verlassen sich darauf, eine ständig wachsende Anzahl neuer klarer Eingaben (noch nicht gemischt) einzuladen, um die bestehenden CoinJoins für das Remixen von Eingaben zu finanzieren, die nicht ausreichend anonymisiert sind. Einige Modelle scheinen auf Dauer nicht tragbar, andere wiederum naiv oder für die meisten Nutzer viel zu teuer.

Und von welchen Gebühren reden wir? Nun, normalerweise zahlen an CoinJoins teilnehmende Eingaben sowohl eine Koordinatorgebühr oder eine Abnehmergebühr (die Servicegebühr, um ein gewisses Maß an Anonymität zu gewährleisten) als auch die bitcoin Netzwerkgebühren. Bei bestimmten CoinJoin-Modellen entfallen diese Gebühren unter bestimmten Umständen. Die Ökonomie von CoinJoins ist ein tiefes Kaninchenloch, das für ein viel tieferes Verständnis weiterer Untersuchungen bedarf.

Wer bezahlt was bei einem CoinJoin? Wie hoch sind die Gebühren? Was sind die Anreize des CoinJoin-Koordinators? Sind alle CoinJoin-Runden kostenpflichtig oder gibt es einen kostenlosen Remix?

Nachdem ich bisher gelesen habe, besteht die Hoffnung darin bitcoinWer nach CoinJoins sucht, hat nicht unbedingt alle Antworten, aber die richtigen Fragen, die er stellen kann. Ein mentales Modell oder Framework zur Bewertung verschiedener CoinJoin-Implementierungen kann für jeden sehr hilfreich sein, der erwägt, CoinJoins zu verwenden, um seine Privatsphäre zurückzugewinnen bitcoin. Um sich im Chaos der sozialen Medien zurechtzufinden, sind intellektuelle Ehrlichkeit und die konsequente Anwendung des richtigen Bewertungssystems erforderlich.

Dies ist ein Gastbeitrag von Thibaud Maréchal. Die geäußerten Meinungen sind ausschließlich ihre eigenen und spiegeln nicht unbedingt die von BTC Inc oder wider Bitcoin Magazin

Originalquelle: Bitcoin Magazin