45 / 691REORG

Chain-Reorganisation

Bei der Kettenreorganisation wird das aktive Ende der Blockchain des Knotens durch einen anderen gültigen Zweig mit einem höheren kumulativen Arbeitsnachweis ersetzt. Die alten Spitzenblöcke werden getrennt und der Gewinnerzweig wird angeschlossen.

Bei einer Neuorganisation handelt es sich um eine Änderung des lokalen Kettenstatus, nicht um eine Änderung der Bitcoin-Konsensregeln. Der vollständige Knoten überprüft zunächst die Kandidatenblöcke nach seinen eigenen Regeln und wählt nur unter den gültigen Zweigen denjenigen mit der höchsten kumulativen Kettenarbeit aus. Wenn es unter dem aktuellen Wert abweicht, macht UTXO die Änderungen getrennter Blöcke rückgängig, wendet einen alternativen Zweig an und bewertet die betroffenen Transaktionen erneut anhand des Mempools.

Bitcoin Core wählt nicht einfach den höchsten oder beliebtesten Zweig aus. Die Kandidatenkette muss zunächst alle Konsensregeln erfüllen, die der Knoten durchsetzt. Die Funktionen FindMostWorkChain und ActivateBestChain funktionieren nur mit gültigen Kandidaten; Erst dann ist der kumulierte Arbeitsnachweis maßgebend. Ein ungültiger Block kann also nicht gewinnen, nur weil er mehr Hashrate hat.

Der Verzweigungspunkt ist der letzte Block, der der aktuell aktiven Kette und dem alternativen Zweig gemeinsam ist. Die Tiefe der Reorganisation wird normalerweise durch die Anzahl der Blöcke der aktiven Spitze beschrieben, die von diesem gemeinsamen Vorfahren getrennt werden müssen. Eine Einzelblock-Reorg ersetzt den Hinweis, eine tiefere Reorg gibt mehrere festgeschriebene Blöcke zurück. Die Tiefe ist relativ zur Ansicht eines bestimmten Knotens.

DisconnectTip und die nachfolgende Validierungslogik geben die Auswirkungen getrennter Blöcke in umgekehrter Reihenfolge zurück. Das verbrauchte UTXO wird wiederhergestellt und die vom gelöschten Block erstellten Ausgaben werden nicht mehr bestätigt. Aus diesem Grund speichert Bitcoin Core Undo-Daten: Es muss in der Lage sein, den UTXO-Satz genau am Fork-Punkt zu rekonstruieren.

Nach einem Rollback verbindet ConnectTip die Blöcke des höheren Chainwork-Zweigs in Vorwärtsreihenfolge. Jede Transaktion wird anhand des rekonstruierten UTXO-Sets und der auf der angegebenen Höhe gültigen Regeln erneut validiert. Das Ergebnis ist ein Kettenstatus, der einem bestimmten Verlauf entspricht, und keine Mischung aus Transaktionen aus beiden Zweigen.

Transaktionen aus getrennten Blöcken verschwinden möglicherweise nicht. Bitcoin Core wird versuchen, berechtigte Nicht-Coinbase-Transaktionen an den Mempool zurückzugeben. Einige befinden sich möglicherweise bereits in einem neuen Zweig, andere können Konflikte verursachen, Eingaben verlieren, nicht mehr endgültig sein oder die Mempool-Richtlinie nicht erfüllen. Daher muss das Wallet berücksichtigen, dass die Bestätigung durch eine Neuorganisation storniert werden kann.

Eine Ausnahme bildet die Coinbase-Transaktion: Sie kehrt nach der Trennung nicht in den Mempool zurück und ihre Ausgaben können laut Konsens erst nach 100 Bestätigungen ausgegeben werden. Wenn reorg einen Block mit einer Coinbase entfernt, verschwindet die Belohnung dieses Blocks aus dem aktiven Chainstate. Nachfolgende Transaktionen, die auf dem gelöschten Verlauf beruhten, können ebenfalls ungültig sein.

Die Bestätigung zählt die Blöcke über der Transaktion in der aktuell aktiven Kette eines bestimmten Knotens. Jeder zusätzliche Block erhöht typischerweise den Aufwand, der zum Ersetzen der Historie erforderlich ist, aber keine endliche Anzahl von Bestätigungen schafft mathematisch absolute Endgültigkeit. Börsen und Händler wählen den Schwellenwert daher entsprechend dem Zahlungswert und dem Risikomodell.

Eine kurze Reorganisation kann auf natürliche Weise erfolgen, wenn zwei Miner fast gleichzeitig konkurrierende Blöcke finden und verschiedene Teile des Netzwerks eine Zeit lang unterschiedliche Tipps befolgen; der Zweig mit weniger Kettenarbeit wird dann obsolet. Ein Double-Spend-Angriff nutzt absichtlich denselben Mechanismus. Der technische Ablauf der Kettenauswahl ist derselbe, Ursache und wirtschaftlicher Zweck sind unterschiedlich.

Reorg erfolgt innerhalb eines einzigen Regelsatzes: Ein Knoten wählt zwischen Zweigen, die er für gültig hält. Ein Hard Fork hingegen verändert die Gültigkeit derart, dass alte und neue Software bereits uneinig sein können, ob der Block gültig ist. Daher ist eine Umstrukturierung an sich keine Änderung des Konsenses.

In Bitcoin Core sind die Schritte explizit: FindMostWorkChain findet den besten gültigen Zweig, ActivateBestChainStep kann die aktuelle Spitze trennen, ConnectTip verbindet alternative Blöcke und MaybeUpdateMempoolForReorg überprüft Transaktionen von getrennten Blöcken erneut. Der Quellcode warnt ausdrücklich davor, dass eine umfangreiche Neuorganisation die Verarbeitung von ActivateBestChain erheblich verlängern kann.

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Timechain, Bestätigung, Veralteter Block, Proof of Work, Nakamoto-Konsens, Bitcoin. Auf diesen Eintrag verweisen außerdem Bestätigung, Double Spend, Coinbase-Transaktion, Soft Fork.

DOC · 001Bitcoin Core validation.h — ActivateBestChain and reorg primitivesPrimärquelleDOC · 002Bitcoin Core validation.cpp — DisconnectTip, ConnectTip and mempool reconciliationPrimärquelleDOC · 003Bitcoin Core Doxygen — DisconnectedBlockTransactionsDokumentationDOC · 004Bitcoin Developer Guide — Block chainDokumentationDOC · 005Bitcoin whitepaper — Sections 5 and 11PrimärquelleDOC · 006BIP 50 — March 2013 chain fork post-mortemSpezifikationDOC · 007Bitcoin Core RPC documentationDokumentation
Geprüft am 1. August 2026Quellenbasiert · Keine Anlageberatung