In Projekten wie Bitcoin, Ethereum oder Monero sind immer wieder Begrifflichkeiten wie “Hard Fork oder “Soft Fork” gefallen. Doch was ist eigentlich ein Fork und was für Unterschiede gibt es zwischen einem Soft Fork und einem Hard Fork? All diese Fragen werden wir in diesem Blocktrainer 1×1 behandeln.

Was ist überhaupt ein Fork?

Eine Blockchain kannst du dir als eine dezentrale autonome Organistation vorstellen, in der jeder Teilnehmer am Protokoll mitentscheiden kann. Diese Teilnehmer lassen sich meistens in die drei Untergruppen einteilen: Entwickler, Miner und Full-Node-Betreiber. Es obliegt deiner Entscheidung, ob du deine Full-Node auf den neusten Stand updatest oder dich aktiv dagegen entscheidest und weiter nach den alten Regeln arbeitest.

Nehmen wir an, wir möchten eine neue Regel in der Blockchain implementieren. Es kann leicht möglich sein, dass nicht alle Teilnehmer des Netzwerkes nach diesen neuen Regeln arbeiten möchten. In diesem Fall kommt es zu einem “Fork”, also einer Art Abspaltung.

Bei dem Begriff “Fork” wird zwischen “Hard Fork” und “Soft Fork” unterschieden. Doch was ist der Unterschied zwischen diesen beiden Typen?

Was ist ein Hard Fork?

Ein Hard Fork ist ein Software-Update auf dem Blockchain-Protokoll, das alle Nodes implementieren müssen, wenn weiter am Netzwerk teilgenommen werden soll. Diese neuen Regeln erlauben keine Rückwärts-Kompatibilität, da diese Protokoll-Änderungen im Konflikt mit den alten Regeln stehen. Normalerweise herrscht Einigkeit bei einem Hard Fork. Die Mehrheit der Teilnehmer einigen sich auf Regeländerungen. Anschließend wird die Kette mit den neuen Regeln fortgeführt.

Aber es kann auch Uneinigkeit herrschen, sodass sich zwei Lager bilden. In diesem Fall wird die Mehrheit ihre Regeln auf der bestehenden Kette fortführen, während die Minderheit eine Abspaltung weiter führt, die nach ihren Regeln arbeitet. Dadurch entstehen zwei Ketten, die bis zur Abspaltung auch die selbe Historie haben. Ein Beispiel für einen solchen Hard Fork ist die Abspaltung der “Bitcoin Cash-Community” vom Bitcoin-Netzwerk. Damals führten die Bitcoin-Transaktionen aufgrund ihrer limitierten Skalierungsprobleme zu enormen Transaktionskosten. Als Lösung wurde ein größeres Blockgrößenlimit besprochen. Durch dieses wären mehr Transaktionen pro Sekunde möglich, es führt aber zu einem größeren Speicherplatzbedarf und könnte eventuell Teilnehmer vom Netzwerk ausschließen.

Da sich die Community nicht einig werden konnte, spaltete sich Bitcoin Cash am 1. August 2017 unter bekannten Größen, wie Roger Ver und Craig Wright, vom Bitcoin-Netzwerk ab. Dabei lief das Bitcoin-Netzwerk weiter mit einem Blöckegrößenlimit von 1 MB, während Bitcoin-Cash von nun an den neuen Protokoll-Implementierungen von 8 MB folgte. (siehe Abbildung 1)

Da beide Ketten bis zur Abspaltung die selbe Historie haben, hatte nach der Abspaltung jeder Besitzer von Bitcoin auch die gleiche Anzahl an Bitcoin Cash.

Was ist ein Soft Fork?

Im Gegensatz zu einem Hard Fork ist ein Soft Fork eine Regeländerung, bei der aktualisierte Knoten mit anderen Knoten kommunizieren können, die weiterhin den alten Regeln folgen. Ein Beispiel hierfür ist die Einführung von Segwit (Abkürzung für Segregated Witness) ins Bitcoin-Netzwerk. Kurz nach dem Bitcoin-Cash Hard Fork wurde Segwit über das BIP 141 als Antwort für das Skalierungsproblem bei Bitcoin hinzugefügt. Stell dir ein BIP, oder auch Bitcoin-Improvement-Proposal genannt, wie ein digitales Dokument vor, in dem Entwickler Vorschläge einreichen können, um das Bitcoinprotokoll weiterzuentwickeln.

SegWit änderte das Format der Blöcke. Durch das Entfernen der Signatur-Daten aus den Transaktionen war es nun möglich, mehr Platz einzusparen. Dadurch finden mehr Transaktionen in den Blöcken platz.

Aber es gibt noch weitere Soft Fork Möglichkeiten. Stell dir vor, statt einer Blockgrößenerhöhung verringern wir jetzt die Blockgröße von 3 MB auf 2 MB. Nodes, die nach dem alten Protokoll arbeiten sind weiterhin in der Lage, Transaktionen zu bearbeiten und neue Blöcke, die 2 MB oder kleiner sind an die Blockchain anzuhängen. Sollte jetzt aber eine Node versuchen, einen Block anzubinden, der größer als 2 MB ist, wird dieser abgelehnt, da dieser nicht nach den neuen Regeln konform ist. Grafisch ist dieser Vorgang in Abbildung 2 dargestellt.

Dadurch sind die Nodebetreiber ermutigt die Node-Software zu aktualisieren, da sie sonst weniger effizient arbeiten.

_______________________________________________________________________

Was für Hard Forks oder Soft Forks fallen dir noch ein, die in der Kryptowelt passiert sind? Schreib sie gerne in unser Blocktrainer-Forum und diskutiere mit uns!

Autor