Was wird aus dem Abhören von Bestandsmeldungen gelernt?

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 INVENTORYNachrichten 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 die INVENTORYNachricht 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.

  1. 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 Smit IP-Adressen.

  2. Schritt: Ich wähle die Teilmenge Eaus S, die die IP-Adressen enthält, die ich identifizieren möchte.

  3. ESchritt: Jetzt möchte ich neue Verbindungsclients mit ihren Eintrittsknoten (Eintrittsknoten sind Elemente von ) dem Bitcoin-Netzwerk zuordnen .

  4. 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?

Antworten (1)

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:

  1. 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?

Die inventoryNachricht 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 inventoryNachricht 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 getdataeiner 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.