Blockchain/Niveau III · Das Netzwerk/3.2 Mining/Lektion 6
Stale Blocks und Blockpropagation
Der Wettlauf um die Spitze der Chain – und warum der schnellste Block gewinnt
MaterialienZugang zu mempool.space oder einem ähnlichen Block-ExplorerEin Notizbuch oder eine Tabellenkalkulation
Neugier
- Warum wird ein gültiger Block manchmal verworfen?
- Wie begünstigt Netzwerklatenz große Mining-Betriebe gegenüber kleinen?
- Was passiert, wenn zwei Miner Blöcke auf genau derselben Höhe finden?
Erkunden
- Findet ein Miner einen gültigen Block, leitet er ihn an seine Peers weiter, meist als Compact Block. Begrenzte Bandbreite und Verzögerungen bei der Validierung führen dazu, dass diese Verbreitung Zeit braucht, bis sie jeden Node im Netzwerk erreicht. In dieser Zeitspanne minen andere Miner, die die neue Spitze der Chain noch nicht erhalten haben, weiter auf dem vorherigen Stand der Chain, ohne zu wissen, dass bereits ein konkurrierender Zweig gefunden wurde.
- Entdeckt einer dieser nachhinkenden Miner auf derselben Höhe einen eigenen gültigen Block, bevor ihn die ursprüngliche Übertragung erreicht, entsteht ein vorübergehender Fork. Beide Blöcke haben einen korrekten Proof of Work und sind technisch gültig. Doch nur einer kann Teil der aktiven kanonischen Chain werden. Der nächste Block, den irgendein Miner findet, wird an einen der beiden angehängt und verlängert diesen Zweig; der andere wird zum Stale Block.
- Propagationslatenz erhöht direkt die Wahrscheinlichkeit einer solchen Kollision. Langsamere Propagation erhöht die Stale-Rate und verschwendet Rechenleistung, die eigentlich der Sicherheit des Ledgers dienen soll, auf internen Wettbewerb. Diese Dynamik begünstigt große, gut vernetzte Miner, die ihre Blöcke schneller verbreiten können als kleinere, isolierte Betreiber – ein struktureller Vorteil, der an die Infrastruktur geknüpft ist und nicht nur an die Hashleistung.
- Um Verluste durch Stale Blocks zu verringern, betreiben manche Miner „validierungsloses Mining“. Sie prüfen nur den Proof of Work des eingehenden Blockheaders und beginnen sofort darauf aufzubauen, während sie die vollständigen Transaktionsdaten zur späteren Validierung herunterladen. Diese Abkürzung kann nach hinten losgehen: Im Juli 2015, kurz nach der Aktivierung eines Soft Forks, bauten Miner, die so vorgingen, fünf weitere Blöcke auf einen ungültigen Block – ein Fork von sechs Blöcken, der aufgegeben werden musste.
- Compact Blocks (BIP152) und spezialisierte Relay-Netzwerke wie FIBRE haben die Propagationszeiten deutlich verkürzt, indem sie kurze Transaktionskennungen und nur die Transaktionen senden, die einem Peer fehlen. Diese Optimierungen senken die Stale-Rate im gesamten Netzwerk und erschweren es großen Pools, Latenzvorteile auszunutzen. Das Spannungsfeld zwischen Blockgröße, Validierungszeit und Propagationsgeschwindigkeit bleibt jedoch eine zentrale Randbedingung beim Design von Konsensverfahren.
- Selfish Mining, 2013 von Eyal und Sirer beschrieben, zeigte, dass ein Miner mit erheblicher Hashleistung einen Vorteil erlangen kann, indem er Blöcke strategisch zurückhält, statt sie sofort zu verbreiten. Während Ein-Block-Reorganisationen aufgrund natürlicher Latenz gelegentlich noch vorkommen, sind tiefere Reorgs selten, weil die wirtschaftlichen Kosten anhaltend feindseligen Verhaltens für die meisten Teilnehmer die möglichen Gewinne übersteigen.
Kernfakten
- Ein Stale Block ist ein gültiger Block, der nicht Teil der aktiven Chain des Nodes wird.
- Schnellere Blockpropagation senkt die Stale-Rate und verringert den Vorteil großer, gut vernetzter Miner.
- Beim validierungslosen Mining wird nur der Proof of Work im Blockheader geprüft, um sofort darauf aufbauen zu können.
- Compact Blocks (BIP152) verkürzen die Propagationszeit, indem sie kurze IDs statt vollständiger Transaktionen senden, die der Peer bereits hat.
- Selfish Mining ermöglicht es einem Miner mit erheblicher Hashleistung, durch strategisches Zurückhalten von Blöcken Vorteile zu erzielen.
- Ein-Block-Reorganisationen kommen aufgrund von Latenz gelegentlich vor, tiefere Reorgs sind dagegen selten.
Übung neun, sechs, drei, eins
9SammelnFinden Sie so viele aktuelle Stale Blocks oder Ein-Block-Reorgs wie möglich (Ziel: 9) auf mempool.space oder in öffentlichen Aufzeichnungen und notieren Sie jeweils das Datum und die beteiligten Pools.
6GruppierenGruppieren Sie die 9 in 6 Gruppen danach, was die Aufzeichnungen zeigen: die beteiligten Pools, die Zeit zwischen den konkurrierenden Blöcken, ihre Größe und welcher Zweig sich durchsetzte.
3VerdichtenReduzieren Sie die 6 auf 3 Muster dafür, wie solche Forks entstehen und sich auflösen.
1KristallisierenSchreiben Sie einen Satz, der erklärt, warum die Propagationsgeschwindigkeit ein kritischer Sicherheitsparameter für Proof-of-Work-Systeme ist.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.