Wie greife ich auf die Kettenspitze des Peers zu?

Falls ich ein egoistischer Miner bin und die Blockchain erfolgreich gegabelt habe, möchte ich jederzeit den Fortschritt meiner ehrlichen Nodes wissen – wie kann ich das erreichen?

Tauschen Peers auf separaten Blockchains Informationen über ihren Fortschritt durch Datennachrichten aus?

Schauen wir uns zum besseren Verständnis dieses Szenario an:
selfish node= s ; ehrlicher Knoten = h

s : einen Block#1 abbauen (Kind des Genesis-Blocks), nicht melden
h : Block#2, Block#3 öffentlich abbauen
s : Block#4, Block#5 heimlich abbauen (nicht melden)
h : Block abbauen #4 Öffentlich
s : Informiere dich, auf welcher Blockhöhe das ehrliche Netzwerk ist!?

NOTIZ:

  • pindexLastCommonBlockscheint nicht hilfreich zu sein, da das Nennen seiner Höhe sagen würde, dass der letzte gemeinsame Block 3 ist, aber nicht sagt, auf welcher Höhe ehrliche Knoten sind.
  • setInventoryKnownim Falle eines Forks werden alle jemals geminten Blöcke gespeichert.
peers on separate blockchains- Wenn Sie mit separaten Blockchains verschiedene Coins meinen, sprechen diese Peers überhaupt nicht miteinander. Wenn Sie Peers meinen, die mit derselben Blockchain arbeiten, aber an unterschiedlichen Punkten im Synchronisationsprozess, tauschen diese Peers Datennachrichten aus.
Nein, mit separaten Blockchains meine ich separate Subchains mit einem gemeinsamen gegabelten Block.
Ich sehe keinen Unterschied zu der zweiten Situation, die ich in meinem ersten Kommentar dargestellt habe.
Ok, wenn es dasselbe ist, was Sie mit Knoten mit unterschiedlichen Sync-Punkten meinen, dann sprechen wir vom selben Phänomen

Antworten (1)

SPV-Wallets verfolgen in der Regel auch, was der bekannteste Block für jeden ihrer Kollegen ist, um sicherzustellen, dass sie auf dem neuesten Stand sind, und können die Sicherheit ihrer Transaktionen (Anzahl der Bestätigungen) einschätzen. Sie tun dies, indem sie einen Zähler starten, der mit der in der versionNachricht angegebenen Höhe initialisiert wird. Und dann, wenn der Knoten eine neue inv(Bestands-)Nachricht für einen Block sendet, holen Sie sich diesen Block-Header, und wenn er auf seinem vorherigen besten Header aufbaut, dann erhöhen Sie den Zähler. Mit dieser Methode können Sie eine Zuordnung von Knoten zu ihren Hauptkettenspitzen beibehalten.

Im Wesentlichen verfolgt dies nur die invSendungen eines Peers, wodurch Peers neue Blöcke öffentlich melden.