KYCP der Bitcoin Privacy-Explorer

9 Min. Lesedauer
Von FuSsY
KYCP der Bitcoin Privacy-Explorer

Know Your Coin Privacy (KYCP) ist ein Online-Tool für Bitcoin-Nutzer, um den Grad der Privatsphäre in einer Bitcoin-Transaktion zu visualisieren.

Verschiedene Metriken werden verwendet, um dies zu quantifizieren, einschließlich der Messung der Widerstandsfähigkeit einer Transaktion gegen Datenschutzangriffe wie Merged Inputs, Heuristik und Coinjoin Sudoku. Diese Metriken machen es besonders nützlich, um die Qualität von gemeinsamen Transaktionen wie CoinJoin oder Spendingtools, wie Stonewallx2 zu bestimmen.

Zero log policy

KYCP ist ein rein statischer Client für OXT (Index.html + JS-Dateien):

  • Es gibt kein Backend oder Drittanbieter-Service außer OXT (.onion service)
  • Anfragen werden über HTTPS direkt an OXT gesendet. Check OXT policy
  • KYCP sieht Ihre Suchanfragen nicht und es werden keine Protokolle geloggt
  • KYCP-gehostete Dateien sind auf Github überprüfbar

Metrics

  • TX entropy Die TX-Entropie berechnet die Anzahl der möglichen Interpretationen ‌einer Transaktion (hohe Entropie = gute Privatsphäre)
  • Entropy density (ED) Berechnet die Entropie pro Input/Output. Dies als Effizienzmetrik unabhängig von der TX-Größe. ED(tx) = Entropie(tx) / Anzahl(tx.inputs + tx.outputs) (hohe ED = gute Privatsphäre)
  • Linkability % ist die Wahrscheinlichkeit (Boltzmann-Score) eines Zusammenhangs zwischen Input/Output (geringe %Linkability = gute Privatsphäre)
  • TX efficiency vergleicht die TX-Entropie mit der "bestmöglichen Transaktion" bei gleicher Anzahl von Inputs / Outputs (100% Effizienz = gute Privatsphäre)
  • Potential CoinJoin sind gekennzeichnet durch einen großen prozentualen Output, der durch eine gemeinsame Stückelung teilbar ist (alle Outputs gleich groß)

Verlinkungen

  • Deterministic links sind unbestreitbare Links = 100% Verlinkbarkeit (keine deterministische Verknüpfung = gute Privatsphäre)
  • Address reuse Die Wiederverwendung von Adressen sind Inputs / Outputs einer Transaktion, die derselben Adresse zugeordnet sind und somit zur selben Wallet gehören (keine Wiederverwendung von Adressen = gute Privatsphäre)
  • Possible input/output merges sind Inputs, die vom selben Tx kommen, und Outputs, die mit dem gleichen TX ausgegeben werden, für einen Tx, der nicht als potenzieller CoinJoin erkannt wird - also möglicherweise zur selben Wallet gehört oder zusammenarbeitet (keine Zusammenführung = gute Privatsphäre)
  • Input/output collaborators sind Inputs, die von demselben Tx kommen, und Outputs, die mit demselben Tx ausgegeben werden, für einen Tx, der als potenzieller CoinJoin erkannt wird (keine collaborator = bessere Anonymität)
  • CoinJoin exit merges sind CoinJoin-Outputs, die mit dem gleichen TX ausgegeben werden, der als potenzieller CoinJoin-Exit erkannt wird (kein Exit-Merge = bessere Anonymität)

Boltzmann

Boltzmann ist ein von @laurentmt entwickeltes Tool von Samourai Wallet, das Datenschutzmetriken für eine Bitcoin-Transaktion berechnet. Es gleicht Inputs / Output-Beträge ab, um die Transaktionsentropie und die Verknüpfung ihrer Inputs und Outputs zu berechnen.

Bitcoin privacy

Sie können sensible Informationen über Ihre Identität, Ihr Guthaben, Ihre vergangenen Transaktionen und Ihre zukünftigen Transaktionen an Ihre Zahler und Empfänger weitergeben. Blockchain-Analyseunternehmen werden bereits dafür bezahlt, Blockchain-Benutzer zu deanonymisieren, auszuspionieren und zu profilieren, was zu Zahlungszensur führt und die Fungibilität von Bitcoin beeinträchtigt. Es gibt Möglichkeiten, sich zu schützen:


So verwenden wir das KYCP Online Tool

KYCP verlässt sich auf OXT für Daten. Wenn Sie Ihre Transaktion nicht analysieren können, müssen Sie warten, bis mindestens 6 Bestätigungen für die Transaktion durchgeführt wurden. Suchen Sie eine Transaktion, die Sie analysieren möchten. Im folgenden Beispiel wird ein Transaktions-Hash verwendet, aber es kann auch ein UTXO bereitgestellt werden. Geben Sie diesen Wert in die Suchleiste bei https://kycp.org ein.

Beispieltransaktion in KYCP.org:

f39d831aef2e49e21f542e2e3a2b0d577dae40132b7da49506b45e0b042794a7

Lesen der Ergebnisse auf KYCP

Im obigen Beispiel gibt KYCP die folgenden Informationen zurück, beginnend von oben:

  1. Wie lange ist die Transaktion her? Vor drei Stunden oder am 2019-07-25 07:33:51.
  2. Ein Link, um die Transaktion in OXT.me zu öffnen.
  3. Der Gesamtwert der Transaktion: 14.6317 ฿.
  4. Anzahl der Adressen, die zuvor in der Transaktion verwendet wurden: 6 Adressen, die wiederverwendet wurden.
  5. Wie viele Eingaben teilen sich eine gemeinsame vorherige Transaktion: 46 Input-Zusammenführungen und 0 Output-Zusammenführungen. Bei Mix-Transaktionen sollte diese Zahl immer Null sein. Dazu später mehr.
  6. Boltzmann-Support-Nachricht: "OXT hat diese Transaktion noch nicht vollständig analysiert. Bitte versuchen Sie es später noch einmal, um vollständige Ergebnisse zu erhalten." Da es sich bei der Beispieltransaktion um eine relativ große Transaktion handelt, sind Boltzmann-Daten nicht verfügbar. Die meisten kleineren Transaktionen zeigen ansonsten die Boltzmann-Informationen einschließlich deterministischer Verknüpfungen, möglicher Kombinationen und Entropie an.

Verstehen von Address Reuses

Eine Adresse gilt als wiederverwendet, wenn sie mehr als ein Input und ein Output gesendet oder empfangen hat. Ein Input und ein Output (1-1) ist eine normale Transaktion, alles andere ist jedoch problematisch. Das obige Beispiel hat sechs Wiederverwendungen von Adressen, was bedeutet, dass sechs der Adressen zuvor in einer Transaktion verwendet wurden. Darüber hinaus gibt es 46 Input-Zusammenführungen. Dies bedeutet, dass von den 81 Inputs, sich 46 eine gemeinsame vorherige Transaktion teilen. Daher kann davon ausgegangen werden, dass sie zum selben Wallet gehören oder zusammenarbeiten. Keine Zusammenführungen zu haben, ist ideal für die Privatsphäre.

Grundlegendes zum Diagramm

Die linke Seite des Diagramms zeigt alle Transaktions-Inputs, einschließlich der Adresse (beachten Sie die Farbe), ein farbiges Kästchen (entweder orange, grün oder rot - mehr dazu im nächsten Abschnitt), einen linken Pfeil in eckigen Klammern (<), Bitcoin-Betrag und Eingabeindex.

In der rechten Spalte des Diagramms befinden sich die Outputs. Einige Transaktionen können hier Bezeichnungen wie "ANON_" oder Wallet-Namen haben. Diese werden automatisch aus OXT.me importiert. Im Beispiel gibt es insgesamt 81 Inputs. Von diesen 81 teilen sich 46 Inputs eine gemeinsame vorherige Transaktion, die farbcodiert sind. Beachten Sie beispielsweise, dass Index 2 und Index 3 beide rosa sind. Insgesamt erscheint diese Adresse (6c8df... 2d3) viermal in der Transaktion.

Ein Klick auf die linke eckige Klammer (<) öffnet einen Link zur vorherigen Transaktion in KYCP.org. Beachten Sie, dass es sich bei den Links für Index 2 und 3 um dieselbe Transaktion handelt.

Verstehen der Cluster

In der mittleren Spalte werden gruppierte Ein- und Ausgänge visualisiert, die als Teil derselben Entität oder desselben Eigentümers neu gruppiert wurden (dies kann dieselbe Börse oder dieselbe einzelne Wallet usw. sein). Wie im vorherigen Abschnitt erwähnt, wird in der Eingabeliste neben einer Adresse ein Farbfeld angezeigt. Diese Farbe entspricht der Farbe der hier gezeigten Bänder. Ein orangefarbener Streifen zeigt an, dass Sie im selben Cluster identifiziert wurden. Für zusammengeführte Inputs bedeutet dies, dass sie aus derselben Transaktion stammen, während es für zusammengeführte Outputs bedeutet, dass sie von derselben Transaktion ausgegeben wurden. Ein roter Streifen zeigt eine Beziehung zwischen den beiden Clustern an, also die Wiederverwendung von Adressen.

Grüne Bänder hingegen weisen keine deterministischen Verknüpfungen auf. Ein Beispieldiagramm dazu finden Sie im nächsten Abschnitt.

Beachten Sie im obigen Beispiel die Eingaben 22 und 36. Wenn man sich die TXIDS für 22 und 36 in der linken Spalte ansieht, kann man feststellen, dass es sich tatsächlich um die gleiche vorherige Transaktion handelt (c5896... DC0), hellgrün dargestellt. Dies bedeutet, dass die beiden Inputs aus derselben Transaktion stammen. In diesem Beispiel können wir sehen, wie die 2 Eingänge zuvor miteinander vermischt wurden.

Beachten Sie im folgenden Beispiel, dass die Inputs 1, 53, 71 und 74 rot sind, was auf die Wiederverwendung von Adressen hinweist. Wenn man sich ihre Adressen in der linken Spalte ansieht, kann man feststellen, dass es sich tatsächlich um die gleiche Adresse handelt (bc1qg... 2du), die in Cyan aufgeführt sind. Dies bedeutet, dass diese beiden Cluster zur selben Wallet gehören.

Im nächsten Beispiel sind die Inputs 5, 55 und 80 über den Input 55 mit dem Output 97 verbunden.

Obwohl der Output 97 noch nicht ausgegeben ist, wird sie ihre problematische Geschichte mit sich bringen, sobald sie ausgegeben wird!

Adresse bc1qt…azv auf der Input Spalte

Beachten Sie den Input 55 in der Liste der Inputs. Die selbe Adresse wird im Output 97 verwendet.

Beispiel Diagramme

Ein Coinjoin mit dem Samourai Whirlpool: https://www.kycp.org/#/b8593dad70162185d070f86e00a208d334411114f749629869a8d6ffe9162087/in

Im obigen CoinJoin werden die Boltzmann-Informationen zurückgegeben, während dies im vorherigen Beispiel der großen Transaktion nicht der Fall war. Da es sich um eine kleine Transaktion handelt, kann das System seine Analyse leicht zurückgeben.

Die obige CoinJoin-Transaktion hat fünf Inputs mit jeweils einer gleichen Anzahl von Inputbeträgen (.05 ฿). Es gibt keine deterministischen Verbindungen, was bedeutet, dass die Wahrscheinlichkeit einer Verbindung zwischen einem Input und einem Output Null ist. Dies gilt als gute Privatsphäre. Die Transaktionseffizienz (TX) vergleicht die Transaktionsentropie mit der "bestmöglichen Transaktion" mit der gleichen Anzahl von Ein- und Ausgängen. 100% gilt als gute Privatsphäre.

Schließlich ist das Folgende ein Beispiel dafür, wie die überwiegende Mehrheit der Bitcoin-Transaktionen aussieht.

Die Entropiedichte & mögliche Verlinkungen

Entropy density wurde eingeführt, um den erhaltenen Prozentsatz der möglichen Entropie zu ergänzen, der als Wallet-Effizienz bekannt ist und in KYCP einfach als "Effizienz" bezeichnet wird. Die Wallet-Effizienz wird berechnet, indem die tatsächliche Entropie der Transaktion durch die theoretische perfekte Punktzahl dividiert wird, die für diese bestimmte Transaktionskonfiguration erhalten werden konnte. Ein Nachteil der Wallet-Effizienz ist jedoch, dass sie oft so niedrig ist (unter 1%), dass sie unpraktisch sein kann. Die Entropiedichte hingegen ist die Art und Weise, wie die erhaltene Entropie auf alle IN- und OUTPUTS verteilt wird. In der Informationstheorie ist die Entropie das Maß für die Unsicherheit einer Variablen, während die Dichte die Konzentration einer Substanz misst. Im Rahmen der Adressanalyse ist daher eine höhere Entropiekonzentration wünschenswert, nicht weniger.

Die Entropy density (ED) wurde berechnet, indem die Entropie* durch die Gesamtzahl der Ein- und Ausgänge dividiert wurde. Für Coinjoin ist eine Entropiedichte von 1,0 oder höher das Ziel, auf das geschossen werden soll. Umgekehrt bezeichnet eine Entropiedichte von weniger als 1,0 ein suboptimales Coinjoinergebnis.

A suboptimal coinjoin with an entropy density calculated at 0.988 (undesirable).
A Samourai STONEWALL transaction with a 43% wallet efficiency and an entropy density score of 0.264.

Die obige Transaktion nutzt die kostenlose STONEWALL-Funktion von Samourai und Sparrow Wallet. STONEWALL lässt Zweifel aufkommen, ob eine Transaktion ein oder zwei Wallets umfasst oder nicht. Der Entropiedichte-Score ist für einen nicht perfekten Coinjoin hoch, ebenso wie die Wallet-Effizienz, die auch für jede Art von Transaktion als hoch angesehen werden kann. Der Entropie-Score von 1,585 ist der Standard-Score für eine STONEWALL-Transaktion einer Komposition aus 2 Inputs und 4 Outputs.

Whirlpool-Coins erzielen strukturell eine 100% ige Wallet-Effizienz (100% der maximal möglichen Entropie für ihre Zusammensetzung) und erzielen immer eine Entropiedichte von über 1,0. Der erste Screenshot im Abschnitt "Beispiel Diagramme" ist ein Beispiel für einen Whirlpool-Coinjoin.


Die RAW-Entropie kann angezeigt werden, indem Sie auf die Schaltfläche OXT klicken und die Daten auf der Registerkarte "Zusammenfassung" einsehen. Beachten Sie jedoch, dass die Entropie nur für Transaktionen innerhalb einer bestimmten Begrenzung der Anzahl der In- und Outputs vorgesehen ist.

Hinweis: Alle perfekten Coinjoins (d. h. ein Coinjoin, der die gleiche Anzahl von Ein- und Ausgängen hat und alle Ausgabewerte gleich sind) von 3 Eingängen und 3 Ausgängen und höher geben immer eine Entropiedichte größer als 1,0 zurück. Jeder Coinjoin kleiner als 1,0 gilt als suboptimal. Daher sollte bei der Durchführung eines Coinjoin und noch mehr, wenn die Entropie weniger als 100% beträgt, besonders auf die Entropiedichte geachtet werden.

Support the Know Your Coin Privacy project:

https://paynym.is/+rapidhaze2d9 Twitter Bug reports

ThX 2 bibi janey for the origin Guide published at Samourai Wallet - Medium.com

Hat dir der Artikel gefallen? ... cheers ;)

Onchain / LN Beer: https://coinos.io/FuSsY

Beer over Onion

Lightning only Beer: [email protected]