Kurz erklärt: Ein Orphan Block (verwaister Block) ist ein regulär geschürfter, technisch gültiger Block, der letztlich nicht Teil der akzeptierten Haupt-Blockchain wird. Er entsteht, wenn zwei Miner nahezu gleichzeitig einen Block finden und sich das Netzwerk anschliessend für die jeweils andere Kette entscheidet.
Entstehung durch gleichzeitige Blockfunde
In einem verteilten Netzwerk benötigt die Ausbreitung eines neuen Blocks eine gewisse Zeit. Finden zwei Miner unabhängig voneinander fast zeitgleich einen gültigen Block auf derselben Höhe, verbreiten sich beide Blöcke parallel. Vorübergehend existieren dadurch zwei konkurrierende Kettenspitzen – ein sogenannter temporärer Fork.
Sobald der nächste Block gefunden wird, verlängert er nur eine der beiden Ketten. Nach der Regel der längsten gültigen Kette (genauer: der Kette mit der grössten kumulierten Arbeit) setzt sich diese durch. Der Block der unterlegenen Kette wird verworfen und gilt als verwaist.
Abgrenzung: Orphan Block und Stale Block
Die Begriffe werden häufig synonym verwendet, technisch bestehen jedoch Unterschiede:
- Stale Block: ein gültiger Block, der die Konkurrenz um eine Blockhöhe verloren hat, weil eine andere Kette bevorzugt wurde. Dies ist der in der Praxis gemeinte Fall.
- Orphan Block (im engeren Sinn): historisch ein Block, dessen Vorgänger dem empfangenden Knoten noch nicht bekannt war, sodass er nicht einsortiert werden konnte. Moderne Clients fordern fehlende Vorgänger nach, weshalb echte Waisen im ursprünglichen Sinn kaum noch auftreten.
Im allgemeinen Sprachgebrauch bezeichnet „Orphan Block“ meist einen verworfenen, konkurrierenden Block.
Folgen für Miner und Netzwerk
Für den Miner eines verwaisten Blocks ist die aufgewendete Rechenarbeit ökonomisch verloren, da die Coinbase-Transaktion dieses Blocks nicht Teil der akzeptierten Kette wird. Die enthaltenen regulären Transaktionen gehen dagegen nicht verloren: Sie kehren in den Speicher offener Transaktionen (Mempool) zurück und werden in einen späteren Block der Hauptkette aufgenommen.
Verwaiste Blöcke sind der Grund, warum bei Zahlungen auf mehrere Bestätigungen gewartet wird. Erst wenn auf einen Block weitere Blöcke folgen, sinkt die Wahrscheinlichkeit, dass er noch verworfen wird, praktisch auf null.
Häufigkeit und Netzwerkvergleich
Die Häufigkeit von Orphan Blocks hängt stark von der Blockzeit und der Ausbreitungsgeschwindigkeit im Netzwerk ab. Bei Bitcoin mit rund zehn Minuten Blockzeit sind sie selten. Netzwerke mit sehr kurzen Blockzeiten produzieren häufiger konkurrierende Blöcke. Ethereum begegnete diesem Problem vor der Umstellung auf Proof of Stake mit dem Konzept der Uncle-Blöcke, bei dem verwaiste Blöcke teilweise belohnt und referenziert wurden, um die Netzwerksicherheit zu stärken.
Häufige Fragen
Was ist ein Orphan Block einfach erklärt?
Ein gültig geschürfter Block, der nicht in die Haupt-Blockchain aufgenommen wird, weil eine konkurrierende Kette bevorzugt wurde. Die Rechenarbeit des Miners ist dann verloren.
Gehen die Transaktionen in einem verwaisten Block verloren?
Nein. Die regulären Transaktionen kehren in den Mempool zurück und werden in einen späteren Block der Hauptkette aufgenommen. Nur die Block-Belohnung des Miners verfällt.
Was ist der Unterschied zwischen Orphan und Stale Block?
Ein Stale Block hat den Wettbewerb um eine Blockhöhe verloren. Ein Orphan Block im engeren Sinn ist ein Block ohne bekannten Vorgänger. Umgangssprachlich werden beide Begriffe gleichgesetzt.
Warum entstehen Orphan Blocks?
Weil sich Blöcke nicht sofort im gesamten Netzwerk verbreiten. Finden zwei Miner fast gleichzeitig einen Block, entsteht kurzzeitig ein Fork, von dem eine Kette später verworfen wird.
Wie kann man sich vor verwaisten Blöcken schützen?
Empfänger warten auf mehrere Bestätigungen. Je mehr Blöcke auf einen Block folgen, desto unwahrscheinlicher ist es, dass er noch verwaist.
Zusammenfassung
Ein Orphan Block ist ein gültiger, aber nicht in die Hauptkette übernommener Block, der bei nahezu gleichzeitigen Blockfunden entsteht. Für den Miner ist die Rechenarbeit verloren, die enthaltenen Transaktionen kehren jedoch in den Mempool zurück. Wegen solcher verworfenen Blöcke wird bei Zahlungen auf mehrere Bestätigungen gewartet.
Weiterführende Quellen
- Wikipedia: Blockchain: de.wikipedia.org
- Bitcoin Developer Reference – Block Chain: developer.bitcoin.org