Ich lese ein Datenanalysepapier über Bitcoin, und es gibt einen Satz, den ich nicht verstehe:
Wir verwenden den vom Stanford Network Analysis Project erhaltenen Bitcoin-Transaktionsdatensatz. Alle Bitcoin-Transaktionen werden in einem öffentlichen Hauptbuch dokumentiert und in der Währungseinheit Bitcoin (BTC) bezeichnet. Der Datensatz enthält alle Bitcoin-Transaktionen von der Gründung des Netzwerks bis zum 7. April 2013. Für jede Transaktion kann es mehrere Absender- und Empfängeradressen geben. Außerdem können mehrere Adressen zu einem einzigen Benutzer gehören .
Diesen letzten Satz verstehe ich nicht. Ja, sicherlich kann ein Benutzer mehrere private Schlüssel erstellen. Woher wissen wir jedoch, dass ein Benutzer mehrere private Schlüssel erstellt hat, wenn wir nicht dieser Benutzer sind?
Der in diesem Dokument angegebene Datensatz ist sehr groß (6.336.769 Benutzer), daher müssen sie einen Algorithmus anwenden, um private Schlüssel zu gruppieren, die jedem Benutzer gehören. Was wäre es?
Es gibt mehrere Artikel im Internet, die diesen Absatz enthalten. Zum Beispiel: http://cs229.stanford.edu/proj2014... , https://arxiv.org/pdf/1611.03942.pdf usw
Jede scheint die Herkunft der Daten unterschiedlichen Quellen zuzuordnen, aber die Zahlen wirken wie ein Fingerabdruck ( 6.336.769 Knoten und 28.143.065 Kanten ), sodass sie auf eine Arbeit von Ivan Brugere zurückgeführt werden können , die in der Vergangenheit verfügbar gewesen zu sein scheint , aber nicht jetzt, unter compbio.cs.uic.edu , und von denen einige Dokumente unter github verbleiben .
Von ihnen verweist er auf die Arbeit „ An Analysis of Anonymity in the Bitcoin System “ von Fergal Reid und Martin Harrigan :
Angenommen, U ist zunächst unvollständig in dem Sinne, dass jeder Knoten einen einzelnen öffentlichen Schlüssel und keinen Benutzer darstellt und dass jede gerichtete Kante zwischen einer Quelle und einem Ziel ein Eingabe-Ausgabe-Paar einer einzelnen Transaktion darstellt, wobei die Eingabe öffentlich ist -key entspricht der Quelle und der öffentliche Schlüssel der Ausgabe entspricht dem Ziel. Um dieses Netzwerk zu perfektionieren, müssen wir jede Teilmenge von Vertices zusammenziehen, deren entsprechende öffentliche Schlüssel einem einzelnen Benutzer gehören.
... wie von Nakamoto angemerkt: "Einige Verknüpfungen sind bei Multi-Input-Transaktionen immer noch unvermeidlich, die zwangsläufig zeigen, dass ihre Eingaben demselben Eigentümer gehörten. Das Risiko besteht darin, dass, wenn der Eigentümer eines Schlüssels bekannt wird, die Verknüpfung andere enthüllen könnte Transaktionen, die demselben Eigentümer gehörten."
Und zum Abschluss des Arguments in einer umfangreichen Arbeit, die denselben Datensatz abdeckt:
Die Benutzerinformationen werden durch die zweite Gruppe von Dateien organisiert [...], wobei ein „Benutzer“ eine Gruppierung von öffentlichen Schlüsseln ist, die als Eingaben für eine einzelne Transaktion verwendet wurden (der Benutzer besitzt den privaten Schlüssel zu jeder Adresse), wie von vorgeschlagen Reid und Harrigan. Jede Zeile [...] ist eine Gruppierung öffentlicher Schlüssel, wie in Abbildung 3 dargestellt:
Woher wissen wir jedoch, dass ein Benutzer mehrere private Schlüssel erstellt hat, wenn wir nicht dieser Benutzer sind?
Wir können nicht. Der Benutzer kann Schlüssel mit einem beliebigen Berechnungsmechanismus (Stift und Papier, Abakus usw.) erstellen. Das Protokoll ist einseitig und benötigt keinen Drittanbieter (Website, Server usw.)
ein Algorithmus zum Gruppieren privater Schlüssel, die jedem Benutzer gehören. Was wäre es?
Normalerweise wenden sie zuerst Union-Find-Graphalgorithmen an. Nachdem sie in dieser Phase einige Analysen durchgeführt haben, gehen sie davon aus, dass in diesem reduzierten Entitätsdiagramm alle Eingaben für eine Transaktion derselben Entität gehören. Dies war vielleicht schon früh in der Geschichte von Bitcoin der Fall, aber das Verbinden von Münzen ist jetzt ziemlich üblich. Empfänger, die nur bestimmten Sendern zugeordnet sind, werden als Selbstschleifen usw. erstellt. Der Entitätsgraph wird reduziert, es werden transitive, kommutative, assoziative usw. Schließungen angewendet und untersucht.
Soweit ich weiß, was Sie fragen, konnte eine Person mehrere Adressen haben, wenn sie mehrere davon erstellte, oder eine Brieftasche haben, die mehrere Adressen an einem Ort aufbewahrt.
Ich werde versuchen, dies zu beantworten, obwohl ich nicht sicher bin, inwieweit es wahr ist.
Es sagt:
Außerdem können mehrere Adressen zu einem einzigen Benutzer gehören.
Es sagt "kann" nicht "muss"
Lassen Sie mich das an einem Beispiel sagen.
Es gibt beispielsweise 5 Transaktionen mit Transaktions-IDs wie: trans1, trans2, trans3, trans4 und trans5
Die beteiligten Adressen sind Adresse1, Adresse2, Adresse3, Adresse4, Adresse5, Adresse6 und Adresse7
Anfangssalden:
Adresse1: 1 BTC
Adresse2: 2 BTC
Adresse3: 1 BTC
Adresse4: 0 BTC
Adresse5: 0 BTC
Adresse6: 0 BTC
Adresse7: 0 BTC
Transaktionen erfolgten (unter Berücksichtigung vernachlässigbarer Gebühren):
trans1: Adresse1 (1BTC) > Adresse6 (1BTC)
trans2: Adresse2 (2BTC) > Adresse5 (2BTC)
trans3: Adresse3 (1BTC) > Adresse4 (1BTC)
trans4: Adresse4 (1BTC) & Adresse5 (1BTC) > Adresse7 (2BTC)
trans5: Adresse5 (1BTC) & Adresse6 (1BTC) > Adresse7 (2BTC)
Endsalden:
Adresse1: 0 BTC
Adresse2: 0 BTC
Adresse3: 0 BTC
Adresse4: 0 BTC
Adresse5: 0 BTC
Adresse6: 0 BTC
Adresse7: 4 BTC
Betrachten wir nun die Transaktion trans1, trans2 & trans3 als aufgrund einer Zahlungsabwicklung aufgetreten. Und das gibt uns keinen Hinweis darauf, ob diese Empfangsadressen von einer einzelnen Person gehalten werden oder nicht.
Damit die Transaktion trans4 & trans5 stattgefunden hat, benötigt der Benutzer den privaten Schlüssel der Adresse addr4, addr5 & addr6. Dies gibt uns einen Hinweis darauf, dass dieses "kann" (nicht muss) einer einzelnen Person gehören.
Eine weitere versichernde Sache darüber, dass dies einer einzelnen Person gehört, ist, dass diese zu einer einzigen Adresse zusammenlaufen, dh addr7. Dies könnte jedoch jemand anderes sein und eine andere Zahlungsabwicklung sein.
So heißt es in dem Datenanalysepapier:
Außerdem "können" mehrere Adressen zu einem einzigen Benutzer gehören.
Pieter Wuille