Ich lese gerade das Paper Deanonymisierung von Clients im Bitcoin P2P-Netzwerk [PDF] und habe einige Fragen zum vierten Schritt in „Kapitel 5: Deanonymisierung“.
Ich verstehe den hervorgehobenen Teil nicht:
Schritt 4) Zuordnung von Transaktionen zu Eingangsknoten: Der Angreifer wartet auf
INVENTORY
Nachrichten mit Transaktions-Hashes, die er über alle von ihm hergestellten Verbindungen erhalten hat, und für jede Transaktion T sammelt er R T – die ersten q Adressen von Bitcoin-Servern, die dieINVENTORY
Nachricht weitergeleitet haben.
Welche Informationen werden aus diesen Bestandsmeldungen gewonnen? Ich dachte, es enthält nur den Transaktionshash.
Vielen Dank für Ihre Antwort. Ich habe noch einige Probleme, die Arbeit zu verstehen.
Schritt: Ich sende die GETDADDR
-Message an alle meine Entry-Nodes und sie antworten mit der ADDR
-Message, die die IP-Adressen ihrer bekannten Nodes enthält. Jetzt habe ich mein Set S
mit IP-Adressen.
Schritt: Ich wähle die Teilmenge E
aus S
, die die IP-Adressen enthält, die ich identifizieren möchte.
E
Schritt: Jetzt möchte ich neue Verbindungsclients mit ihren Eintrittsknoten (Eintrittsknoten sind Elemente von ) dem Bitcoin-Netzwerk zuordnen .
Schritt: Dieser läuft parallel zu Schritt 1-3. In diesem Schritt höre ich alle INVENTORY
-Nachrichten ab. Sie sagten also, die INVENTORY
-Message enthält den Transaktions-Hash und eine Aufzählung. Wie wird eine INVENTORY
-Nachricht generiert? Wird diese Nachricht für jede Transaktion generiert und per Broadcast an alle bekannten Knoten im Bitcoin-Netzwerk verteilt? Wer erstellt diese INVENTORY
-Nachricht?
Habe ich die ersten drei Schritte richtig verstanden?
Die Inventarnachricht enthält nur die Transaktions-Hashes oder Block-Hashes und eine Aufzählung, die angibt, welcher Typ ein bestimmter Hash ist. Wenn in der Zeitung von Adressen die Rede ist, sind IP-Adressen gemeint. Was sie hier beschreiben, ist, dass der Angreifer die ersten paar IP-Adressen (in diesem Fall 10) notiert, die Bestandsmeldungen für einen Transaktions-Hash gesendet haben.
Bearbeiten, um Ihre Follow-ups zu beantworten:
- Schritt: Dieser läuft parallel zu Schritt 1-3. In diesem Schritt höre ich alle
INVENTORY
-Nachrichten ab. Sie sagten also, dieINVENTORY
-Message enthält den Transaktions-Hash und eine Aufzählung. Wie wird eineINVENTORY
-Nachricht generiert? Wird diese Nachricht für jede Transaktion generiert und per Broadcast an alle bekannten Knoten im Bitcoin-Netzwerk verteilt? Wer erstellt dieseINVENTORY
-Nachricht?
Die inventory
Nachricht ist nur eine Nachricht, die an die Peers eines Knotens gesendet wird. Es wird nicht an andere Knoten weitergeleitet, da es sich nicht um eine Nachricht wie Transaktions- und Blocknachrichten handelt.
Wenn Sie (als Node) eine inventory
Nachricht von mir (als Node) erhalten, bedeutet dies, dass ich Ihnen mitteile, dass ich eine Transaktion oder einen Block habe, an dem Sie interessiert sein könnten. Wenn Sie diese Transaktion oder diesen Block möchten, Sie wird mit getdata
einer Nachricht antworten und ich werde darauf mit der Transaktion antworten oder sich selbst blockieren.
Habe ich die ersten drei Schritte richtig verstanden?
Ja, ich glaube, das hast du.