42 / 736FORK↑

Hard Fork

Eine Regeländerung, die alte Software ablehnen kann

Ein Hard Fork erlaubt etwas, das Bitcoins alte Regeln verboten haben. Ein neuer Node kann deshalb einen Block akzeptieren, den ein alter ablehnt. Gehen beide Gruppen getrennte Wege, entwickeln sich auch ihre Zahlungshistorien auseinander. Zwei dauerhaft bestehende Währungen entstehen dadurch nicht automatisch.

Ein Hard Fork verändert die Gültigkeitsregeln für Blöcke oder Transaktionen so, dass sie nicht mit älteren Nodes rückwärtskompatibel sind. Um der neuen inkompatiblen Kette zu folgen, muss ein Node die neuen Regeln übernehmen. Weder eine Ankündigung noch mehr Mining-Leistung kann ihn dazu zwingen.

Anna und Pavel betreiben jeweils einen Full Node, einen Computer, der Bitcoins Regeln selbstständig prüft. Anna installiert neue Software, die größere Blöcke erlaubt; Pavel behält das bisherige Limit. Ein Block trifft ein, der die neuen Bedingungen erfüllt, aber das alte Limit überschreitet. Anna akzeptiert ihn, Pavel lehnt ihn ab. Die Verbindung ist nicht gestört: Ihre Programme sind sich uneinig, was zur gemeinsamen Geschichte gehören darf. Das ist die praktische Bedeutung eines Hard Fork. Die Bezeichnung „Upgrade“ bringt Pavels Computer nicht dazu, seine Regel zu ignorieren. Zwei Zweige können fortbestehen, wenn für beide Blöcke erzeugt werden und Menschen sie nutzen. Wechseln die Teilnehmer zu einem Regelwerk, müssen keine zwei aktiven Netzwerke bleiben. [1]

Der alte Node verwirft den inkompatiblen Block und den darauf aufbauenden Zweig. Er muss deshalb aber nicht dauerhaft stehen bleiben. Erzeugen Miner einen anderen Zweig nach den bisherigen Regeln, kann er dessen Blöcke weiter akzeptieren. Ohne eine solche Fortsetzung bleibt er beim letzten für ihn gültigen Block. Entscheidend sind die Regeln seiner Software, nicht die Zahl der Befürworter. Um dem inkompatiblen Zweig zu folgen, muss der Betreiber diese Regeln bewusst ändern. [1]

Bitcoin Cash spaltete sich am 1. August 2017 bei Blockhöhe 478 559 von Bitcoin ab. Es übernahm Regeln, die größere Blöcke erlaubten, als die damaligen Bitcoin-Knoten akzeptierten, und schuf eine eigene fortlaufende Kette. Bitcoin-Knoten lehnten Blöcke ab, die nur nach den BCH-Regeln gültig waren, während BCH-Knoten ihrer eigenen gültigen Historie folgten. Dies ist ein Beispiel für einen Hard Fork, der Bitcoin nicht an Ort und Stelle ersetzte, sondern ein eigenständiges Netzwerk schuf. [3] [4]

Denken Sie an den Eintrag einer empfangenen, noch nicht ausgegebenen Zahlung in der Wallet: Bitcoin nennt einen solchen noch nicht ausgegebenen Transaktionsausgang UTXO. Zweige mit gemeinsamer Vergangenheit übernehmen diesen Eintrag und führen ihn danach unabhängig weiter. Kontrollieren Sie die nötigen Schlüssel und erkennen beide Netzwerke den Ausgang weiter an, können Sie die entsprechenden Coins meist auf beiden ausgeben. Ihr Wert verdoppelt sich dadurch nicht: Es sind unterschiedliche Vermögenswerte mit eigener Nachfrage. Bei Guthaben auf einer Börse hängt die Gutschrift der Coins des anderen Netzwerks zusätzlich von deren Regeln ab. [4] [6]

Wer Coins auf beiden Zweigen hat, möchte vielleicht nur auf einem bezahlen. Ohne Schutz könnte jemand dieselbe signierte Transaktion kopieren und auch im anderen Netzwerk verbreiten, wo sie ebenfalls gültig sein kann. Das ist das Replay-Risiko. Prüfen Sie deshalb den Schutz des konkreten Netzwerks und die Unterstützung der Wallet. Eine Änderung von sighash, also der Regeln für die von einer Signatur erfassten Daten, kann eine Transaktion an eine bestimmte Kette binden. Anders aussehende Adressen helfen bei der Unterscheidung, bieten allein aber keinen kryptografischen Replay-Schutz. [3]

Aktivierung bezeichnet den festgelegten Beginn der neuen Regeln. Die Blockhöhe gibt die Position eines Blocks in der Kette an. Ein festes Datum, eine Blockhöhe oder Signale der Miner können diejenigen koordinieren, die das Upgrade übernommen haben. Sie können aber nicht die Software eines Knotens ändern, der es nicht übernommen hat. Bleiben bei jedem der beiden Regelwerke wirtschaftlich bedeutende Teilnehmer, können beide Ketten fortbestehen. Der Aktivierungsplan eines Hard Fork ist deshalb ein Migrationsplan mit dem Risiko einer Aufspaltung. [1]

Governance beschreibt hier, wie Teilnehmer über Änderungen entscheiden. Ein Ticker ist ein Handelssymbol wie BTC oder BCH. Entwickler können Code veröffentlichen, Miner können Hashrate verlagern, Unternehmen können Ticker und Einzahlungsregeln festlegen, und Nutzer können ihre Software wählen. Keine dieser Entscheidungen ändert von sich aus die Regeln, nach denen andere Knoten Blöcke prüfen. Eine dauerhafte Aufspaltung kann fortbestehen, wenn genügend unabhängige Teilnehmer beide Regelwerke freiwillig weiterführen und ihnen Wert beimessen; nicht jede inkompatible Änderung muss zwei dauerhaft aktive Netzwerke hervorbringen. Einen Zweig als „Upgrade“ zu bezeichnen, ist eine gesellschaftliche Konvention und keine Konsensregel. [1]

Ein Netzwerk kann sich auch aufspalten, ohne dass jemand eine neue Währung schaffen will. Im März 2013 konnten einige ältere Knoten einen Block mit ungewöhnlich vielen Transaktionseingängen nicht verarbeiten. Sie stießen an eine Grenze für Datenbanksperren, die verhindern, dass gleichzeitige Vorgänge dieselben Daten verändern. Die neuere Version 0.8 verwendete eine andere Datenbank und akzeptierte den Block. Die Mining-Pools BTC Guild und Slush kehrten zur Version 0.7 zurück und schürften auf dem Zweig, den auch ältere Knoten akzeptierten. Als dieser Zweig mehr Arbeit angesammelt hatte, wechselten auch die neueren Knoten dorthin. Damit wurde eine unbeabsichtigte Abweichung der Software behoben, statt wie bei Bitcoin Cash ein separates Netzwerk dauerhaft weiterzuführen. [2]

Ein Soft Fork verschärft die bisherigen Regeln. Ein Block, der die neuen Einschränkungen erfüllt, entspricht deshalb auch den alten Regeln. Ein alter Knoten kann ihn akzeptieren, ohne die zusätzlichen Einschränkungen selbst zu prüfen. Bei einem Hard Fork fehlt diese Kompatibilität: Ein von der neuen Software akzeptierter Block kann gegen die alten Regeln verstoßen. Um ihn anzunehmen, muss der Betreiber eines alten Knotens die Regeln seiner Software ändern. Auch ein Soft Fork garantiert nicht, dass das Netzwerk zusammenbleibt: Erzeugen Miner einen Block, der eine neue Einschränkung verletzt, können alte und neue Knoten zu unterschiedlichen Ergebnissen kommen. [1]

Bezeichnen wir mit V(alt) alle Blöcke, die nach den ursprünglichen Regeln akzeptiert werden. Ein Hard Fork liegt vor, wenn die neue Software mindestens einen Block außerhalb dieser Menge akzeptiert, sodass V(neu) keine Teilmenge von V(alt) ist. Häufig wird die Menge gültiger Blöcke erweitert, entscheidend ist jedoch die Kompatibilität: Kann ein für einen neuen Knoten gültiger Block für einen alten Knoten ungültig sein, kann der alte Validator der neuen Kette nicht folgen, ohne seine Regeln zu ändern. [1]

Chainwork beschreibt die durch das Mining aller Blöcke eines Zweigs nachgewiesene Gesamtarbeit. Hashrate dagegen bezeichnet die Geschwindigkeit der Mining-Berechnungen. Ein Knoten wählt den Zweig mit der höchsten Gesamtarbeit nur unter den Ketten aus, die seinen Regeln entsprechen. Verstößt ein Block dagegen, macht ihn auch mehr Arbeit nicht akzeptabel. Pavel aus dem Anfangsbeispiel nimmt einen zu großen Block also nicht allein deshalb an, weil die meisten Miner darauf aufbauen. Proof of Work kann zwischen gültigen Zweigen entscheiden, aber dem Betreiber eines Knotens nicht die Wahl seiner Regeln abnehmen. [1]

Prüfen Sie zuerst das Netzwerk, eine unterstützte Wallet und den Replay-Schutz. Ein vertrauter Coin-Name oder eine ähnliche Adresse reicht nicht. Geben Sie Ihre Seed Phrase, die Wiederherstellungswörter der Wallet, nicht bei einem unbekannten Dienst ein, der Fork-Coins verspricht. Am eigenen Node können Sie außerdem Softwareversion, verbundene Nodes, letzten akzeptierten Block und den Fingerabdruck des Blocks am Trennpunkt prüfen. Dieser Fingerabdruck heißt Hash. Vergleichen Sie die Angaben mit der Netzwerkdokumentation; ein Block Explorer ersetzt die eigene Regelprüfung nicht. [5] [6]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Soft Fork, Konsensregeln, Full Node, Reorg, Blocksize War, UTXO. Auf diesen Eintrag verweisen außerdem Soft Fork, BIP (Bitcoin Improvement Proposal), Reorg, Blocksize War.

DOC · 001Bitcoin Developer Guide — Consensus rule changesDokumentation DOC · 002BIP 50 — March 2013 chain fork post-mortemSpezifikation DOC · 003Bitcoin Cash upgrade specification — 2017 hard forkSpezifikation DOC · 004BCHN Technical Bulletin — shared history and 2017 splitPrimärquelle DOC · 005Bitcoin Core v29.0: getblockchaininfoDokumentation DOC · 006Bitcoin.org — Securing your walletDokumentation
Überarbeitet: Quellenbasiert · Keine Anlageberatung