Soft Fork – Hard Fork | Was ist das?

Wie jede Software wird auch die Blockchain aktualisiert. Diese Updates werden in der kryptographischen Welt als Forks bezeichnet. Das Wort Fork kommt aus dem Englischen und bedeutet Gabelung. Wie sich im Laufe des Artikels noch herausstellen wird, ist dies eine treffende Bezeichnung dafür.

Aufgrund der Tatsache, dass die Blockchain dezentral ist, gibt es keine zentrale Instanz, die beschließt einen Fork durchzuführen. Teilweise werden Forks von den Programmierern der Kryptowährung selbst implementiert, wie derzeit z.B. bei der Umstellung von Ethereum auf Ethereum 2.0. Allerdings ist es teilweise bei Open-Source-Projekten auf erwünscht, dass Nutzer mit Programmierkenntnissen die Software nach ihren eigenen Vorstellungen modifizieren und verbessern.

Man unterscheidet zwischen zwei Arten von Forks. Den Soft Fork und den Hard Fork. Wie das Gegensatzpaar bereits erkennen lässt, gibt es deutliche Unterschiede zwischen diesen beiden Forks.

Soft Fork

Als Soft Fork versteht man eine Änderung des Protokolls, die rückwärts-kompatibel ist. Das heißt, dass die neuen Regeln die bis zum Zeitpunkt des Soft Forks bereits bestehenden Regeln des Protokolls nicht ausschließen. Dadurch sind alle Nodes und noch dazu befähigt Blöcke zu generieren und der Blockchain anzuschließen.

Da sich das alles sehr abstrakt anhört, wird die Situation noch einmal an einem Beispiel erklärt. Die bereits bestehenden Regeln des Protokolls schreiben es vor, dass ein Block 5MB erreichen muss und dann der Blockchain angehängt wird. Jetzt wird das Protokoll allerdings aktualisiert und es die Blöcke sollen nur noch 3MB groß werden, bis sie der Blockchain angeheftet werden. Da die älteren Knoten Blöcke mit der Speicherkapazität von 5MB zu generieren, sind sie jetzt auch dazu in der Lage Blöcke mit 3MB der Blockchain anzuhängen. Somit können die alten wie auch die neuen Nodes Blöcke an die Blockchain anhängen.

Versuchen alte Nodes jedoch einen Block mit 5MB in die Blockchain einzufügen, so wird dieser von den neuen Nodes abgelehnt, da dieser Block nicht den neuen Regeln des Protokolls entspricht. Mit der Zeit befolgen nun auch die alten Nodes nur noch die Regeln des neuen Protokolls.

Du weißt nicht genau was ein Node ist und was dessen Aufgabe darstellt? Lies dir doch unseren Mining Guide durch und frische dein Wissen auf!

Hard Fork?

Ein Hard Fork hingegen ist eine Änderung des Protokolls, die nicht rückwärts-kompatibel ist. Es stellt also das Gegenteil eines Soft Forks dar. Bei einem Hard Fork werden die Regeln des Protokolls so abgeändert, dass die alten Nodes keine Transaktion mehr in Blöcke der neuen Regelung packen können, da die alten Regeln den neuen widersprechen. Somit müssen sich die Miner entscheiden, ob sie ihre Nodes auf das neue Protokoll updaten oder ob sie die Nodes auf dem alten Protokoll weiterlaufen lassen.

Bis zu diesem Schritt läuft jeder Hard Fork gleich ab. Ab hier gibt es jetzt jedoch Unterschiede.

Der erste Fall ist, dass ein Fork implementiert wird, der von den meisten Nutzern als Verbesserung des alten Protokolls empfunden wird. Ist dies der Fall, so werden sich die meisten Nutzer der neuen Blockchain anschließen und dort weiter ihre Transaktionen tätigen. Dem alten Protokoll werden kaum noch Teilnehmer folgen und so stirbt diese mit der Zeit aus.

Allerdings gibt es auch noch einen zweiten Fall. Hierbei ist eine große Zahl der Nutzer sich uneinig darüber, ob das Update zu einem Vorteil führt und daher ob sie sich dem neuen Protokoll anschließen wollen. Wird das Protokoll nun geupdatet, so werden sich aus der bisherigen Blockchain zwei Blockchains bilden. -> Aus einer Kryptowährung werden zwei!

Alle bis dahin registrierten Blöcke der Blockchain sind nun auf der alten sowie der neuen Blockchain einsehbar. Du hast nach dieser Art des Hard Forks die Anzahl deiner Coins der alten Blockchain sowohl auf der alten als auch auf der neuen Blockchain gespeichert. Ab dem Zeitpunkt des Forks jedoch werden Transaktionen nur noch auf der Blockchain veröffentlicht, auf der sie gemacht werden.

Beschreiben wir die Situation wieder an einem Beispiel. Angenommen die bereits bestehenden Regeln des Protokolls schreiben wie im oben genannten Beispiel 5 MB als Blockgröße vor. Im neuen Protokoll wird jedoch festgelegt, dass eine Datenmenge von 7MB pro Block erreicht werden muss, dass dieser der Blockchain angehängt werden kann. In diesem Fall sind die alten Nodes nicht mit dem neuen Protokoll kompatibel. Der Miner muss nun entscheiden, ob er seinen Node weiterhin auf dem alten Protokoll laufen lassen will oder ob er ihn auf das Neue updated.

Um einen Hard Fork zu gestalten, ist also immer eine ausreichend große Community notwendig, die diesen auch akzeptiert. Bei wenigen Teilnehmern werden Transaktionen kaum noch bestätigt.

Beispiele Hard Fork

In der Kryptowelt gab es bis jetzt schon so einige Hard Forks. Zu den bekanntesten Zählen jedoch die von Bitcoin und Ethereum

Bitcoin – Bitcoin Cash

Am 01. August 2017 fand der Hard Fork von Bitcoin statt. An diesem Tag spaltete sich die Bitcoin Blockchain beim Block 478558 in zwei Teile auf. Die Bitcoin Blockchain blieb bestehen und die Bitcoin Cash Blockchain entstand. Jeder Nutzer der Bitcoins auf der Blockchain vermerkt hatte, hat dieselbe Menge der Coins nun auch in Bitcoin Cash.

Das grundsätzliche Ziel dieses Forks war es, die Blockgröße von 1MB auf 8MB zu steigern. Dieser Fork wurde von Entwicklern als dringend überfällig angesehen, da dadurch mehr Transaktionen gleichzeitig abgewickelt werden können. Aufgrund der niedrigeren Transaktionsdauer haben sich auch die Transaktionskosten gesenkt. Da wie bereits bekannt: Je höher die Transaktionsgebühr, desto schneller wird die Transaktion verarbeitet.

Ethereum – Ethereum Classic

In der Geschichte von Ethereum gab es bereits mehrere Hard Forks. Der wohl am meisten diskutierte Hard Fork von Ethereum wurde am 20. Juli 2016 durchgeführt. Der Fork entstand aus einer Reihe von Hackangriffen gegen einen Smart Contract.

Dieser Smart Contract (DAO) ermöglichte es allen Nutzern, die dort investierten, darüber zu entscheiden, welche dApps auf der Ethereum Blockchain mitfinanziert werden und welche nicht. Es bestand jedoch auch die Möglichkeit, seine DAO-Token wieder in Ether umzutauschen. Und genau in diesem System gab es eine Schwachstelle, die sich Hacker zu eigen machten. Insgesamt erbeuteten sie so 50 Millionen US-Dollar.

Damit die Sicherheit der Blockchain für jedermann wieder gewährleistet werden konnte, hat sich ein Großteil der Community für einen Hard Fork ausgesprochen. So entstand die neue Blockchain (Ethereum) und die alte Blockchain (Ethereum Classic) blieb trotzdem erhalten. Auf der Homepage von Ethereum Classic wird dies auch noch einmal deutlich.

Derzeit arbeiten die Entwickler von Ethereum auch an einem Hard Fork. Das Ziel ist es Ethereum zu verbessern und auf Ethereum 2.0 zu updaten. Mehr zu dem letzten Update findest du hier!