Blockchain/Niveau III · Das Netzwerk/3.3 Konsens und Governance/Lektion 3
Soft Forks und Hard Forks
Die Asymmetrie der Gültigkeit: Warum das Verschärfen von Regeln sicher ist und ihre Lockerung die Kette spaltet
MaterialienEin Block-Explorer mit historischen KettendatenDas BIP-Repository auf GitHub zur Anzeige des Status von Vorschlägen
Neugier
- Warum kann ein Netzwerk strengere Regeln einführen, ohne jeden Node zu zwingen, gleichzeitig zu aktualisieren?
- Welche spezifische strukturelle Veränderung im August 2017 führte dazu, dass Bitcoin Cash sich von Bitcoin abspaltete?
- Wie führte ein Softwarefehler im März 2013 zu zwei konkurrierenden Ketten, die niemand beabsichtigt hatte?
Erkunden
- Ein Soft Fork verschärft die Konsensregeln. Blöcke und Transaktionen, die nach den neuen, strengeren Regeln gültig sind, bleiben auch nach den alten, lockereren Regeln gültig. Diese Rückwärtskompatibilität bedeutet, dass nicht aktualisierte Nodes die Kette weiterhin akzeptieren, während aktualisierte Nodes die neuen Einschränkungen durchsetzen. Solange der Großteil der Hashrate die neuen Regeln durchsetzt, bleibt das Netzwerk auf einer Kette; andernfalls kann selbst ein Soft Fork es spalten, wie im Juli 2015.
- Ein Hard Fork lockert oder ändert Regeln so, dass zuvor ungültige Strukturen gültig werden. Eine Erhöhung der Blockgrößenbegrenzung etwa macht größere Blöcke zulässig. Aktualisieren nicht alle Nodes, um diese neuen Strukturen zu akzeptieren, zerfällt das Netzwerk in zwei konkurrierende Ketten mit unvereinbaren Historien. Zu einer solchen Spaltung kam es am 1. August 2017, als Bitcoin Cash eine größere Blockgröße als Bitcoin einführte.
- Soft Forks erfordern eine sorgfältige Aktivierung, denn die Miner, die die neuen Regeln durchsetzen, müssen die Mehrheit der Hashrate stellen. Ignorieren die Miner das Signal oder setzen sie veraltete Regeln durch, droht dennoch eine Spaltung der Kette. BIP9 (2015–2016) standardisierte die Aktivierung per Miner-Signalisierung: Ein Soft Fork war per Lock-in festgeschrieben, sobald 95 % der Blöcke innerhalb einer Periode von 2.016 Blöcken Bereitschaft signalisiert hatten; nach einer weiteren Periode setzten die aktualisierten Nodes ihn dann durch.
- Der versehentliche Fork im März 2013 entstand, als ein großer Block von Version 0.8 akzeptiert, von Version 0.7 jedoch wegen einer Datenbankbeschränkung abgelehnt wurde. Das Netzwerk spaltete sich, und gelöst wurde das Problem nicht dadurch, dass die längere Kette gewann, sondern dadurch, dass die Miner bewusst auf 0.7 zurückwechselten, sodass der 0.7-kompatible Zweig den anderen überholte. Das zeigte, dass unbeabsichtigte Unterschiede zwischen Versionen das Netzwerk spalten können und dass die Lösung im Notfall eine koordinierte menschliche Entscheidung sein kann, die sich darüber hinwegsetzt, welcher Zweig in diesem Moment mehr Arbeit aufwies.
- Historische Beispiele veranschaulichen diese Mechanismen. P2SH (Pay-to-Script-Hash) wurde 2012 als Soft Fork aktiviert und ermöglichte komplexe Skripte bei gleichzeitiger Kompatibilität mit älteren Nodes. SegWit (Segregated Witness) wurde am 24. August 2017 bei Block 481.824 aktiviert; es verlagerte die Signaturdaten aus dem Teil der Transaktion, der zur Berechnung ihrer ID dient, behob damit die Transaction Malleability und erhöhte die Kapazität. Taproot folgte im November 2021 bei Block 709.632.
- Überprüfen Sie die Abspaltung von Bitcoin Cash in zwei Block-Explorern. Block 478.558 ist der letzte Block, den beide Ketten gemeinsam haben. Rufen Sie Block 478.559 in einem Bitcoin-Explorer und in einem Bitcoin-Cash-Explorer auf: Es handelt sich um unterschiedliche Blöcke, und der Block von Bitcoin Cash ist größer als 1 MB, was die alten Bitcoin-Regeln verboten. Ab dieser Blockhöhe betrachtet jede Kette die Blöcke der anderen als ungültig.
Kernfakten
- Soft Forks verschärfen die Regeln; neue gültige Strukturen sind auch nach den alten Regeln gültig, was die Rückwärtskompatibilität sicherstellt.
- Hard Forks lockern die Regeln; neue gültige Strukturen waren nach den alten Regeln ungültig, was eine Spaltung des Netzwerks riskiert, wenn sie nicht von allen übernommen werden.
- Bitcoin Cash spaltete sich am 1. August 2017 wegen eines Streits über die Blockgrößenbegrenzung von Bitcoin ab.
- Der Fork im März 2013 war eine versehentliche Spaltung zwischen den Bitcoin-Qt/bitcoind-Versionen 0.7 und 0.8, verursacht durch eine nicht dokumentierte Datenbankbeschränkung in 0.7.
- SegWit wurde am 24. August 2017 bei Block 481.824 als Soft Fork aktiviert.
- BIP9 (2015–2016) ermöglichte es Minern, ihre Bereitschaft für einen Soft Fork zu signalisieren; für das Lock-in mussten 95 % der Blöcke innerhalb einer Periode von 2.016 Blöcken signalisieren.
Übung neun, sechs, drei, eins
9SammelnListen Sie 9 bedeutende Konsensänderungen in der Geschichte von Bitcoin von 2009 bis 2023 auf. Geben Sie für jede Änderung das Jahr an sowie an, ob es sich um einen Soft Fork oder Hard Fork handelte.
6GruppierenGruppieren Sie diese 9 Änderungen in 6 Kategorien nach ihrem Einfluss: Kapazitätssteigerungen, Sicherheitsverbesserungen, Funktionsergänzungen, Fehlerbehebungen, versehentliche Forks und gescheiterte Vorschläge.
3VerdichtenReduzieren Sie diese Gruppen auf 3 zentrale Gründe, warum eine Änderung als Soft Fork statt als Hard Fork umgesetzt werden würde.
1KristallisierenSchreiben Sie einen Satz, der den grundlegenden Unterschied der Gültigkeitsmengen zwischen einem Soft Fork und einem Hard Fork erklärt.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.