Ein Überblick über anonyme Blockchain-Analysetechniken

In einem der vorherigen Artikel haben wir Technologien für anonyme Kryptowährungen untersucht. Heute beschäftigen wir uns andererseits mit dem Problem der Anonymisierung und geben einen Überblick über die bekanntesten Methoden zur Analyse anonymer Blockchains. In diesem Artikel konzentrieren wir uns auf die Analyse von Blockchain-Transaktionen selbst, wobei die Möglichkeit umgangen wird, Wallet-Adressen mit ihren IP-Adressen auf der Ebene des P2P-Protokolls zu verbinden, da in diesem Fall die Techniken ziemlich eintönig sind. Um diesen Artikel zu verstehen, reicht eine oberflächliche Kenntnis des Geräts gängiger Kryptowährungen aus, um die Ein- und Ausgänge einer Transaktion zu verstehen.

Bild

Im Jahr 2009, als Bitcoin gerade erschien, wurde es als Mittel für anonyme Überweisungen angesehen, da es nicht möglich war, den öffentlichen Schlüssel der Brieftasche mit ihrem Besitzer zu vergleichen. Diese Zeiten sind jedoch vorbei, und heutzutage sind Techniken zur Analyse des Zahlungsdiagramms und zur Identifizierung von Adresspools fast aller Standorte im Netzwerk bekannt: Börsen, Mining-Pools, Austauscher und Darknet-Märkte.

Fast alle dieser Techniken verwenden dieselben Ansätze: Zuerst werden Adressen mithilfe einfacher Heuristiken zu Clustern kombiniert und dann empirisch bestimmt, ob jeder Cluster zu einem bestimmten Standort gehört. Weitere Informationen hierzu finden Sie unter Eine Handvoll Bitcoins: Charakterisierung von Zahlungen unter Männern ohne Namen .

Da die Privatsphäre von Überweisungen immer noch nicht das Hauptziel von Bitcoin ist, besteht eine Nachfrage nach Möglichkeiten, die Grafik ihrer Zahlungen geheim zu halten. Die ersten Versuche waren „Kippschalter“ - Dienste, die Transaktionen im Namen mehrerer Benutzer senden und Vertrauen in den Mixer selbst erfordern. Um die mit dem Vertrauen in zentralisierte Dienste verbundenen Risiken zu verringern, wurde das bekannte CoinJoin-Protokoll veröffentlicht, das es Dritten (nämlich dem Mixer selbst) nicht ermöglichte, die Kontrolle über das Geld der Benutzer zu übernehmen. Als die Entwicklung dieser Idee begann, tauchten Kryptowährungen auf, für die die Privatsphäre von Übertragungen die Hauptsache ist. In Coinmarketcap top finden Sie jetzt drei davon - Monero, Dash und ZCash, deren Gesamtkapitalisierung zum Zeitpunkt des Schreibens etwa 1,8 Milliarden US-Dollar beträgt. Als nächstes werden wir uns die Möglichkeiten zur Analyse dieser Blockchains genauer ansehen.

Coinjoin


Das CoinJoin- Protokoll wurde 2013 von Greg Maxwell als Ersatz für vorhandene Mischer vorgeschlagen, für die keine Übertragung ihrer Bitcoins an Dritte erforderlich ist. Das Wesentliche des Protokolls ist, dass mehrere Benutzer abgewiesen werden, um ihre Zahlungen in einer Transaktion zu tätigen.

Bild

In diesem Beispiel beschließen Ernie und Barack, sich einzumischen und mit einer gemeinsamen Transaktion an Charlie und Donald zu überweisen. Wie wir auf dem Bild sehen, wird es schwierig zu verstehen, wer sich entschieden hat, für die Kampagne von Donald - Ernie oder Barack zu bezahlen.

In diesem Fall bedeutet „schwierig“ jedoch nicht „unmöglich“. Eine der ersten (und recht erfolgreichen) Techniken zur Dekanonymisierung von CoinJoin-Transaktionen war CoinJoin sudoku . Der Autor schlägt vor, verschiedene Kombinationen von Ein- und Ausgängen zu analysieren, die insgesamt den gleichen Wert ergeben, vorausgesetzt, sie können einer Zahlung entsprechen. In der Praxis könnte dies ungefähr so ​​aussehen (Quelle: https://www.coinjoinsudoku.com/advisory/ ):

Bild

In der Arbeit „Privacy-Enhancing Overlays in Bitcoin“ gingen die Autoren weiter und untersuchten den Angreifer - einen Angreifer, der aktiv an Transaktionen beteiligt war. Wenn der Angreifer an einer Reihe gemeinsamer Transaktionen teilgenommen hat, kann er seine Ein- und Ausgaben ausschließen, was ihm die Analyse erleichtert.

Der Hauptpunkt des „Misstrauens“ in diesem System ist jedoch seine Zentralität. Benutzer sollten für diese Zwecke einen „vertrauenswürdigen“ Dienst wählen, der einfach die Protokolle des Knetens speichern kann, die ihn durchlaufen (obwohl er kein Geld stehlen kann).

Unter anderem muss der Benutzer selbst Maßnahmen ergreifen, um das Risiko einer Dekanonymisierung seiner Zahlung zu verringern. Es ist äußerst wichtig, nicht mehr als einmal dieselbe Adresse für Zahlungen zu verwenden, da dies die Angreiferanalyse der Transaktionskette erheblich erleichtert.

Obwohl dies einer der ersten Versuche ist und ein eher schwaches Modell der Anonymität aufweist, hat sich die Anzahl solcher Transaktionen im vergangenen Jahr verdreifacht und erreichte 4,09% der Gesamtzahl der Zahlungen (laut longhash.com ), was auf eine wachsende Nachfrage nach Datenschutz in hinweist Bitcoin-Netzwerke.

Dash


Dash (früher DarkCoin) → Gabel von Bitcoin. Transaktionen in Dash sind standardmäßig nicht privat. Für private Zahlungen in Dash gibt es eine Funktion zum privaten Senden. Sie erbte das Prinzip von CoinJoin zusammen mit den meisten seiner Mängel.

Dash unterteilt User-Exits in zwei Typen: regulär und privat. Ersteres kann verwendet werden, um eine transparente Transaktion durchzuführen, und letzteres wird benötigt, um am Mischen teilzunehmen. Bei der Konvertierung gewöhnlicher Ausgaben werden sie durch die Transaktion, die sie ausgibt, in Nennwerte der Form 1.00001 DASH, 0.100001 DASH usw. aufgeteilt und einmalige Adressen an die benutzergesteuerten Adressen übertragen. Danach wählt der Absender den Masterknoten aus, mit dem die Transaktion verknüpft werden soll. Wenn eine ausreichende Anzahl von Teilnehmern rekrutiert ist, wird eine Transaktion gebildet und an die Unterschrift jedes Absenders gesendet. Danach ist sie bereit, an das Netzwerk zu senden.

Ein Beispiel für eine PrivateSend-Transaktion in Dash, bei der drei verschiedene Absender- und Empfängeradressen verwendet werden. Quelle - Dash detailliert :

Bild

Im Gegensatz zu CoinJoin muss der Benutzer nicht mehr sicherstellen, dass sein öffentlicher Schlüssel in einer solchen Verwirrung nicht zweimal vorkommt. Dies schützt jedoch nur schwach vor Quellenverfolgung - Sie können die Kette der "Conversions" genau verfolgen, um einen echten Ausweg zu finden, von dem aus Sie eine der Standardmethoden zur Analyse von Transaktionsquellen für Bitcoin verwenden können. Empirisch wurde festgestellt, dass wenn die Ausgaben einen gemeinsamen Vorfahren haben, dies höchstwahrscheinlich der Absender selbst ist.

Die Bezeichnung privater Transaktionsausgaben erschwert Angriffe wie CoinJoin sudoku, schützt sie jedoch nicht vollständig vor ihnen. Zusammen mit einigen Heuristiken kann dieser Vorteil aufgehoben werden.

Die Tatsache, dass das Mischprotokoll Teil von Dash ist und die Verwendung von Diensten von Drittanbietern überflüssig macht, beseitigt nicht die Notwendigkeit des Vertrauens in ausgewählte Masterknoten. Niemand kann garantieren, dass der Eigentümer eines der Masterknoten keine Protokolle über Transaktionsanforderungen auf seiner Seite sammelt.

Wie bei CoinJoin kann der Benutzer auf einen Mangel an Liquidität stoßen, um seine Übertragung zu kneten. In diesem Fall wurde den Benutzern empfohlen, mehrere Masterknoten für die Bildung der Transaktion auszuwählen. Dies erhöht jedoch nur das Risiko, auf einen skrupellosen Eigentümer zu stoßen.

Jetzt kritisiert das Web aktiv das Dash-Datenschutzmodell. Auf Reddit finden Sie Beiträge darüber, wie es jemandem gelungen ist, einen Teil der privaten Sendetransaktionen zu dekanonymisieren. In diesem Beitrag behauptet der Autor beispielsweise, dass er in den letzten 15 Tagen etwa 13% der Transaktionen zu ihrer Quelle verfolgt hat.

ZCash


ZCash erschien 2016 als Implementierung des ZeroCash- Protokolls und wurde allen durch die Verwendung von zkSNARKs ohne Wissensnachweis bekannt. ZCash ist nicht verpflichtet, nur vertrauliche Transaktionen zu verwenden. Die meisten Transaktionen in seinem Netzwerk sind transparent und haben ihr Gerät von Bitcoin geerbt.

Um die vertrauliche Zahlungsfunktion nutzen zu können, muss der Benutzer den erforderlichen Teil des Geldes in den sogenannten abgeschirmten Pool überweisen. Somit können sichere Transaktionen abhängig von der Stufe des abgeschirmten Pools in drei Typen unterteilt werden:

  • Abschirmtransaktion. Transaktion vom öffentlichen Raum zum abgeschirmten Pool. Hier versteckt sich der Absender im Gegensatz zum Empfänger nicht, aber Sie können sehen, wie viel Geld „in die Schatten“ fließt.
  • Private Transaktion. Transaktion innerhalb eines abgeschirmten Pools. Hier sind weder der Absender noch der Empfänger noch die Höhe der Überweisung bekannt. Tatsächlich ist nur bekannt, dass für diese Transaktion Mittel ausgegeben werden, die „jemals im Pool waren“.
  • Transaktion abschirmen. Eine Transaktion, bei der Geld aus einem Pool abgezogen wird. Es ist nicht bekannt, wer sie anzeigt, aber es ist wem und wie vielen bekannt.

Illustration verschiedener Arten von Transaktionen. Von links nach rechts: reguläre transparente Transaktion, Abschirmtransaktion, private Transaktion, Deshielding-Transaktion. Quelle - "Eine empirische Analyse der Anonymität in Zcash" :

Bild

Es ist wichtig zu beachten, dass das Netzwerk erfordert, dass alle generierten Münzen (Blockbelohnungen) in den abgeschirmten Pool fallen, wodurch die für das Mischen von Transaktionen festgelegte Anonymität effektiv erhöht wird.

Die empirische Analyse öffentlicher Transaktionen in ZCash (zu Beginn des Jahres 2018 machten sie 73% der Gesamtzahl der Transaktionen aus) ist nicht besonders schwierig und unterliegt denselben Techniken wie Bitcoin. Es ist jedoch viel schwieriger, Statistiken darüber zu erhalten, wer und wie viel Geld aus dem abgeschirmten Pool abgezogen wurde. Einer der ersten Versuche, sichere Transaktionen im Jahr 2018 zu analysieren, war die Arbeit „Eine empirische Analyse der Anonymität in Zcash“ . Die Autoren untersuchten Zahlungen basierend auf mehreren Heuristiken - Beobachtungen basierend auf dem Benutzerverhalten:

  • Wenn eine Transaktion zwei oder mehr transparente Ausgaben ausgibt (unabhängig davon, ob die Transaktion transparent, abgeschirmt oder gemischt ist), gehören diese Ausgaben höchstwahrscheinlich demselben Netzwerkmitglied.
  • Wenn in einer transparenten Überweisung nur ein Empfänger angegeben ist (d. H. Ohne Änderung), gehören höchstwahrscheinlich alle Geldquellen für diese Transaktion dem Empfänger.
  • Jeder Rückzug aus dem abgeschirmten Pool in Höhe von 250.0001 ZEC (es gab viele solcher Überweisungen) gehört den Gründern des Netzwerks. Dies entsprach ungefähr der 100-Block-Belohnung.
  • Wenn eine Deshielding-Transaktion mehr als 100 Exits enthält, von denen einer zu einem bekannten Mining-Pool gehört, können wir daraus schließen, dass dies eine Entnahme von Geldern von Bergleuten ist. Alle anderen Ausgänge können als zu den Bergleuten gehörend bezeichnet werden.
  • Wenn es ein Paar von Abschirmungs- und Entschirmungstransaktionen mit einem eindeutigen Betrag und einer Differenz von mehreren Blöcken gibt und die Abschirmtransaktion früher stattgefunden hat, sind diese Transaktionen miteinander verbunden. Dies wird unter Über die Verknüpfbarkeit von Zcash-Transaktionen beschrieben .

Die folgenden Abbildungen zeigen einige Analysen, die die Autoren der Arbeit auf der Grundlage dieser Heuristiken erstellen konnten:

Bild

Bild

Bild

Die Autoren konnten 65,6% der Transaktionen identifizieren, bei denen Geld aus dem Pool abgezogen wurde. Signifikante Erfolge bei der Identifizierung von Zahlungen innerhalb des Pools konnten nicht erzielt werden.

In einer kürzlich erschienenen Arbeit, "Datenschutz und Verknüpfbarkeit des Bergbaus in Zcash", analysierten Forscher der Universität Luxemburg die Leistung von Bergbaupools und identifizierten zwei Muster bei der Auszahlung von Belohnungen:

  • Der Mining-Pool zeigt die Blockbelohnung an seine öffentliche Adresse an und verteilt von dort aus die Belohnung an die Bergleute. Sie nannten es Muster T.
  • Der Bergbaupool speichert die abgebauten Münzen im abgeschirmten Pool und gibt den Bergleuten irgendwann Belohnungen von dort an ihre öffentlichen Adressen. Dieses Muster wurde Muster Z genannt.

Es war nicht schwierig, das Eigentum an Transaktionen für bestimmte Pools festzustellen - die Forscher verglichen einfach die öffentlichen Adressen für die Zahlung von Belohnungen mit den Adressen der Top-Miner, die auf den Websites der Pools selbst veröffentlicht wurden.

Nach diesem Ansatz gelang es den Forschern, den Anteil der identifizierten Poolzahlungen von 65,6% in der vorherigen Arbeit auf 84,1% bei denselben Daten zu erhöhen.

Dieser Ansatz hat jedoch seine Nachteile:

  • Es kann auf ein ziemlich enges Zeitintervall von ungefähr 2000 Blöcken (ungefähr vier Tage) angewendet werden, da Bergleute dazu neigen, Bergbaupools zu wechseln.
  • Es ist sehr schwierig, Transaktionen zu identifizieren, die zu kleinen Pools gehören, die nur wenige Blöcke gefunden haben, da ihre bezahlten Transaktionen aufgrund der geringen Anzahl von Exits nicht in das allgemeine Muster mit großen Pools passen.

Die Ergebnisse der Analyse sind in der Abbildung dargestellt:

Bild

Basierend auf diesen Daten kommen die Autoren zu dem Schluss, dass 95,6% aller ZCash-Transaktionen potenziell „offengelegt“ werden, was die Privatsphäre von ZCash näher an das Bitcoin-Niveau bringt.

Wie wir sehen können, können trotz starken kryptografischen Schutzes viele Daten für Analysen und Schlussfolgerungen aus offenen Informationen in der Blockchain gewonnen werden.

Monero


Monero wurde im April 2014 gestartet und ist die beliebteste Implementierung des CryptoNote- Protokolls. Anstelle der öffentlichen Adressen der Empfänger von Geldern verwendet Monero bei jeder Zahlung einmalige Adressen, sodass es für den externen Beobachter nicht möglich ist, die einmalige Adresse des Empfängers kryptografisch mit seiner öffentlichen Adresse abzugleichen. Um den Absender zu verbergen, verwendet diese Technologie die Idee des Knetens, unterscheidet sich jedoch von CoinJoin. In Monero muss der Absender nicht nach einem anderen Kandidaten suchen, um eine gemeinsame Transaktion abzuschließen. Stattdessen sammelt die Brieftasche selbst beliebige Ausgänge aus der Blockchain, verbirgt unter ihnen die Steckdose, die sie ausgeben möchte, und befestigt alles mit einer Ringsignatur. Die Ringsignatur dient hier dazu, den Transaktionsprüfer davon zu überzeugen, dass der Absender tatsächlich eine der Knetausgaben besitzt und dass diese nicht ausgegeben wird. Dies führt zu einem hohen Maß an Unsicherheit beim Versuch, eine Zahlung an den Empfänger zu verfolgen. Ein Beispiel sehen wir in der Abbildung:

Bild

Es stellt sich heraus, dass der "Grad der Privatsphäre" einer Transaktion von der Größe ihrer Ringsignatur abhängt. Je mehr zufällige Ausgaben zum Mischen verwendet werden, desto schwieriger ist es, sie zu verfolgen.

Bis 2016 war das Mischen im Monero-Netzwerk optional, und dann wurde die Mindestgröße der Ringsignatur auf 3 erhöht. Sie wuchs also jedes Jahr und beträgt jetzt 11.

In einer Arbeit mit dem Titel „Eine empirische Analyse der Rückverfolgbarkeit in der Monero-Blockchain“ wies eine Gruppe von Forschern 2017 auf zwei Schwachstellen des Kryptowährungsprotokolls hin (es ist erwähnenswert, dass sie nicht die ersten waren, die darüber sprachen, aber die Ergebnisse der Transaktionsanalyse in der Praxis liefern konnten )

Die erste Sicherheitsanfälligkeit bezieht sich auf den negativen Effekt der Verwendung zuvor gültiger Transaktionen ohne Kneten. Es wird auch als "Kettenreaktions" -Analyse bezeichnet. Die Autoren haben in der Praxis gezeigt, dass es nicht nur nutzlos ist, sich nur auf die Anonymisierung mit einmaligen Adressen zu verlassen, sondern auch andere Zahlungen zu dekanonymisieren, indem diese Ausgaben als Knetausgaben verwendet werden - es ist bereits bekannt, wo sie ausgegeben wurden. Mit einer kleinen Anzahl falscher Ausgaben in einer Transaktion können echte mit der Ausschlussmethode mit hoher Wahrscheinlichkeit berechnet werden. So konnten die Forscher rund 62% der vor Februar 2017 getätigten Transaktionen nachverfolgen.

Die zweite Sicherheitsanfälligkeit hängt mit der Art und Weise zusammen, wie die Brieftasche die Ausgänge zum Mischen ausgewählt hat. Die Sache ist, dass die gefälschten Exits gleichmäßig aus der Blockchain ausgewählt wurden, was zu diesem Zeitpunkt nicht die Verhaltensmuster von Kryptowährungsbenutzern widerspiegelte. Die Autoren stellten fest, dass der Benutzer das erhaltene Geld am häufigsten innerhalb von zwei bis drei Monaten ausgibt. Daher wurden in den meisten Fällen die letzten Ausgänge tatsächlich ausgegeben. Das Folgende sind Beispiele für die Verteilung des Ausgabealters in Transaktionen:

Bild

Bild

Mit dieser Heuristik gelang es den Autoren, etwa 80% der Transaktionsquellen aufzudecken.

Jetzt sind diese Techniken jedoch von akademischem Interesse, da die Entwickler diese Schwächen bereits korrigiert haben - sie haben das Mindestmixin auf 11 angehoben, das Verteilungsgesetz, nach dem die Ergebnisse für das Mischen gesammelt, durch eine nähere Realität ersetzt und ein Protokoll vertraulicher Transaktionen implementiert werden.

In einer anderen Arbeit mit dem Titel „Neue empirische Rückverfolgbarkeitsanalyse von CryptoNote-Blockchains“ versuchen Forscher, Monero-Transaktionen mithilfe von „geschlossenen Mengen“ zu analysieren.

Lassen Sie uns anhand eines Beispiels erklären. Angenommen, wir haben vier Ausgänge pk1, pk2, pk3 und pk4. Jetzt müssen wir vier solcher Transaktionen finden, bei denen sie ausschließlich verwendet werden:

Bild

In unserem Fall können wir den Schluss ziehen, dass diese vier Ausgaben alle in diesen vier Transaktionen verschwendet werden. Wenn wir das nächste Mal auf eine Transaktion treffen, die mindestens eine dieser Ausgaben knetet, können wir sie von der als wissentlich falsch eingestellten Anonymität ausschließen.

Die Autoren führten Experimente mit der Monero-Blockchain mit bereits enthaltenen vertraulichen Transaktionen und einer Mindestgröße der Ringsignatur 5 durch. Da solche Sätze jedoch recht selten sind, konnten sie nur 0,084% der Ausgaben verfolgen, und diese Technik kann als Ergänzung zu anderen Analysemethoden angesehen werden. Dieses Ergebnis lässt den Schluss zu, dass das moderne Monero ziemlich starke Garantien für die Vertraulichkeit bietet.

Was ist das Ergebnis?


Wir haben eine ziemlich umfassende Studie zur Analyse anonymer Blockchains durchgeführt. Obwohl niemand versucht, Kryptografie zu knacken, haben einige von ihnen eine Schwachstelle in der Zentralisierung von Anonymisierungsdiensten und andere in der Fähigkeit, transparente Transaktionen durchzuführen. Unserer Meinung nach bietet Monero die besten Vertraulichkeitsgarantien für heute (mit zuvor behobenen Sicherheitslücken), da neuere Studien keine signifikanten Ergebnisse der Rückverfolgbarkeit von Transaktionen liefern.

Source: https://habr.com/ru/post/de471640/


All Articles