Verwenden Sie dieses Szenario https://bitcoin.stackexchange.com/a/40435
Nehmen wir an, wir haben zwei konkurrierende Blockchain-Tipps: Sie beginnen beide mit Block A als Elternteil, aber dann werden zwei verschiedene Blöcke gleichzeitig gefunden: Block B1 und Block B2. Beide Blöcke haben den gleichen Schwierigkeitsgrad, und wie wir oben erfahren haben, ist dies unabhängig davon, wann genau sie gefunden wurden. Daher ist die Gesamtschwierigkeit von Block A + Block B1 = Block A + Block B2. Eine der beiden Ketten wird eine größere Gesamtschwierigkeit haben, sobald entweder Block C1 oder Block C2 gefunden wird.
Besteht Einigkeit darüber, dass die Spitze B1 oder B2 ist oder nur bis C1 oder C2 gefunden wird? Wenn 2 Blockchain-Explorer sowohl B1 als auch B2 haben, können sie zufällig eines der beiden als Spitze der Blockchain auswählen und beide würden als richtig angesehen werden?
Nein, es gibt keinen Konsens, bis der nächste Block gefunden ist. Das Netzwerk erlebt einen Blockchain-Fork. Es wird nur repariert, wenn eine der Spitzen durch Hinzufügen eines weiteren Blocks nach vorne zieht. Dann werden alle Knoten zur längsten Kette reorganisiert und der Konsens wird wieder hergestellt. Die Verliererkette wird zu einem erloschenen Zweig – gültig, aber nicht Teil der längsten Kette.
Vorher kann es keinen Konsens geben, da es aus Sicht eines Knotens keine Möglichkeit gibt, zuverlässig zu sagen, welcher der beiden Blöcke im Netzwerk beliebter ist. Sie könnten herumfragen, würden aber gemischte Antworten bekommen und könnten trotzdem durch einen Sybil-Angriff getäuscht werden. Daher akzeptieren Nodes den ersten gültigen Block, von dem sie hören, als aktuellen Blockchain-Tipp, bis das Gegenteil bewiesen ist – der einzig gültige Beweis besteht darin, dass eine längere Kette angezeigt wird. Sie würden jedoch den konkurrierenden Block behalten und propagieren, wenn er später für eine Reorganisation benötigt wird.
Tatsächlich können solche Blockchain-Forks sogar mehrere Blöcke lang bestehen bleiben, wenn anschließend konkurrierende Blöcke gefunden werden. 2012 gab es zB einen Blockchain-Fork mit vier Blöcken .
Während einer Blockchain-Fork besteht ein höheres Risiko von Doppelausgaben, da die konkurrierenden Blöcke auf gleicher Höhe unterschiedliche Transaktionen bestätigen können. Wenn sie jedoch aufgrund eines natürlichen Zufalls (anstelle eines Angriffs) auftreten, würden sie mit demselben Satz unbestätigter Transaktionen arbeiten und sollten einen größtenteils übereinstimmenden Satz enthalten. Da jeder Blockchain-Tipp den anderen für nicht relevant hält, werden die zu bestätigenden Transaktionen nicht aufgeteilt, sondern beide versuchen, den gesamten Satz zu bestätigen.
Also ja. Beides sind gültige Blockchain-Tipps, beide mögen sich auf lange Sicht als Teil der längsten Kette herausstellen, aber ein guter Blockchain-Explorer sollte vielleicht beides zeigen, bis klar ist, welches Teil der längsten Kette bleiben wird.
Nur wenn C1 oder C2 gefunden wird. Davor haben einige Knoten B1 als Spitze, während andere B2 als Spitze haben. Beachten Sie auch, dass die meisten Knoten nicht unbedingt sowohl B1 als auch B2 kennen würden: Die meisten kennen nur entweder B1 oder B2. Als solche sind sich diese Knoten nicht einmal bewusst, dass es keinen globalen Konsens gibt.
Das ist ein Grund, warum Sie für größere Geldbeträge unbedingt mehrere Bestätigungen abwarten möchten. 6 ist eine allgemein als sicher akzeptierte Zahl.
Pieter Wuille
David Schwarz