Hard Forks und Soft Forks erklärt
Startseite
Artikel
Hard Forks und Soft Forks erklärt

Hard Forks und Soft Forks erklärt

Mittel
Veröffentlicht Nov 29, 2018Aktualisiert Feb 9, 2023
8m

Inhalt


Einführung

Wenn Sie aufgefordert werden, Ihre digitale Banking-App auf Ihrem Smartphone zu aktualisieren, denken Sie wahrscheinlich nicht zweimal drüber nach. Vielleicht aktualisiert sich Ihr Telefon automatisch, ohne dass Sie es merken. Es handelt sich schließlich um einen notwendigen Prozess – wenn Sie nicht die neueste Version der Software installieren, laufen Sie Gefahr, dass Ihnen der Zugang zu ihren Diensten verweigert wird.

Bei den Open-Source-Krypto-Währungen sieht die Sache ganz anders aus. Sie müssen nicht jede Codezeile, die Bitcoin zugrunde liegt, lesen, um Bitcoin zu verwenden, aber die Wahl zu haben, dies zu tun, ist wichtig. Wie Sie sehen, gibt es hier keine Hierarchie und keine Bank, die einfach Aktualisierungen und Änderungen vornehmen kann, wie es ihr gefällt. Infolgedessen kann die Implementierung neuer Funktionen in Blockchain-Netzwerken eine Herausforderung sein.

In diesem Artikel werden wir untersuchen, wie Netzwerke für Krypto-Währungen trotz des Fehlens einer zentralen Behörde mit Upgrades aktualisiert werden können. Dazu verwenden sie zwei verschiedene Mechanismen: Hard Forks und Soft Forks


Wer trifft die Entscheidungen in einem Blockchain-Netzwerk?

Um zu verstehen, wie Forks funktionieren, ist es wichtig, zunächst die Teilnehmer zu verstehen, die am Entscheidungsprozess (oder der Governance) des Netzwerks beteiligt sind.

In Bitcoin könnte man im Großen und Ganzen zwischen drei Untergruppen von Teilnehmern unterscheiden – Entwickler, Miner und Full-Node-Benutzer. Dies sind die Parteien, die tatsächlich zum Netzwerk beitragen. Light-Nodes (d.h. die Wallets auf Ihren Smartphones, Laptops usw.) werden häufig verwendet, aber sie sind nicht wirklich “Teilnehmer”, was das Netzwerk betrifft.


Entwickler

Die Entwickler sind für die Erstellung und Aktualisierung des Codes verantwortlich. Bei vielen Coins kann normalerweise jeder zu diesem Prozess beitragen. Der Code ist öffentlich zugänglich, so dass Änderungen eingereicht werden können, damit andere Entwickler sie überprüfen können.


Miner

Die Miner sind diejenigen, die das Netzwerk sichern. Sie führen den Code der Krypto-Währung aus und widmen Ressourcen dem Hinzufügen neuer Blöcke in die Blockchain. Im Bitcoin-Netzwerk tun sie dies zum Beispiel über das sogenannte Proof of Work. Sie werden für ihre Bemühungen in Form eines Block Reward belohnt.


Full-Node-Benutzer

Full Nodes sind das Rückgrat des Netzwerks bei Krypto-Währungen. Sie validieren, senden und empfangen Blöcke und Transaktionen und verwalten eine Kopie der Blockchain.


In diesen Kategorien werden Sie oft Überschneidungen finden. Sie könnten zum Beispiel ein Entwickler und ein Full-Node-Benutzer oder ein Miner und Full-Node-Benutzer sein. Sie könnten alle drei oder keine sein. Tatsächlich nehmen viele Benutzer von Kryptowährungen keine dieser Rollen ein. Stattdessen entscheiden sie sich für die Verwendung von Light-Nodes oder zentralisierten Diensten.

Wenn man sich die obigen Beschreibungen ansieht, könnte man starke Argumente dafür vorbringen, dass die Entwickler und Miner die Entscheidungen für das Netzwerk treffen. Entwickler erstellen den Code – ohne sie hätten Sie keine Software, die Sie ausführen könnten, und niemanden, der Fehler behebt oder neue Funktionen hinzufügt. Miner sichern das Netzwerk – ohne gesunden Wettbewerb im Mining könnte die Chain gekapert werden oder zum Stillstand kommen.

Wenn diese beiden Kategorien jedoch versuchen würden, den Rest des Netzwerks dazu zu zwingen, ihrem Willen zu folgen, würde das nicht gut ausgehen. Für viele ist die wirkliche Macht in den Full-Nodes konzentriert. Dies ist größtenteils eine Funktion des Opt-in des Netzwerks, was bedeutet, dass die Benutzer wählen können, welche Software sie ausführen. 

Die Entwickler brechen nicht bei Ihnen zu Hause ein und zwingen Sie mit vorgehaltener Waffe, die Bitcoin Core-Binärdateien herunterzuladen. Wenn Miner eine “Entweder so wie ich will oder gar nicht”-Haltung einnehmen, um den Benutzern eine unerwünschte Änderung aufzuzwingen, nun, dann würden die Benutzer einfach gar nichts tun. 

Diese Parteien sind keine allmächtigen Overlords – sie sind Dienstleister. Wenn Menschen sich entscheiden, das Netzwerk nicht zu nutzen, dann verliert die Coin an Wert. Der Wertverlust wirkt sich direkt auf die Miner aus (ihre Belohnungen sind weniger wert, wenn sie in Dollar umgerechnet werden). Was die Entwickler betrifft, so können sie von den Nutzern einfach ignoriert werden.

Wie Sie sehen, es ist nicht so, dass die Software proprietär ist. Sie können alle Änderungen vornehmen, die Sie vornehmen möchten, und wenn andere Ihre modifizierte Software ausführen, können Sie alle kommunizieren. In diesem Fall forken Sie die Software und erstellen ein neues Netzwerk in diesem Prozess.


Was ist ein Fork?

Ein Software Fork tritt an einem Punkt auf, an dem Software kopiert und modifiziert wird. Das ursprüngliche Projekt lebt weiter, aber es ist jetzt getrennt vom neuen Projekt, das eine andere Richtung einschlägt. Nehmen wir an, dass das Team Ihrer bevorzugten Website zum Thema Krypto-Währungen eine große Meinungsverschiedenheit über seine zukünftigen Schritte hätte. Ein Teil des Teams könnte die Website auf einer anderen Domäne replizieren. Aber in Zukunft würden sie andere Inhalte als das Original veröffentlichen.

Die Projekte bauen auf einer gemeinsamen Basis auf und haben eine gemeinsame Geschichte. So wie eine einzige Straße, die sich später in zwei teilt, gibt es nun eine ständige Divergenz in ihren Wegen.

Beachten Sie, dass so etwas bei Open-Source-Projekten häufig vorkommt, und zwar schon lange vor dem Erscheinen von Bitcoin oder Ethereum. Die Unterscheidung zwischen Hard Forks und Soft Forks bezieht sich jedoch fast ausschließlich auf Blockchains. Lassen Sie uns über diese ein bisschen mehr diskutieren.


➠ Möchten Sie mit Krypto-Währungen beginnen? Kaufen Sie Bitcoin auf Binance!


Hard Forks vs. Soft Forks

Obwohl sie ähnliche Namen haben und letztlich dem gleichen Zweck dienen, unterscheiden sich Hard Forks und Soft Forks erheblich. Werfen wir einen Blick auf jede dieser Forks.


Was ist ein Hard Fork?

Hard Forks sind rückwärts-inkompatible Software-Updates. Typischerweise treten diese auf, wenn Nodes neue Regeln auf eine Weise hinzufügen, die mit den Regeln der alten Nodes in Konflikt steht. Neue Nodes können nur mit anderen kommunizieren, die die neue Version betreiben. Infolgedessen teilt sich die Blockchain und es entstehen zwei separate Netzwerke: eines mit den alten Regeln und eines mit den neuen Regeln.


Die Nodes färben sich blau, wenn sie aktualisiert werden. Die älteren gelben Nodes lehnen sie ab, während die blauen sich miteinander verbinden.

Die Nodes färben sich blau, wenn sie aktualisiert werden. Die älteren gelben Nodes lehnen sie ab, während die blauen sich miteinander verbinden.


Es gibt jetzt also zwei Netzwerke, die parallel laufen. Beide werden weiterhin Blöcke und Transaktionen propagieren, aber sie arbeiten nicht mehr auf der gleichen Blockchain. Alle Nodes hatten bis zum Zeitpunkt des Forks eine identische Blockchain (und diese Historie bleibt bestehen), aber danach werden sie unterschiedliche Blöcke und Transaktionen haben.


Blockchain-Fork bei Block 600.000.


Weil es diese gemeinsame Historie gibt, werden Sie am Ende Coins in beiden Netzwerken haben, wenn Sie sie vor dem Fork-Zeitpunkt Coins gehalten haben. Angenommen, Sie hatten 5 BTC, als bei Block 600.000 ein Fork auftrat. Sie könnten diese 5 BTC auf der alten Chain im Block 600.001 ausgeben, aber sie würden nicht im Block 600.001 auf der neuen Blockchain ausgegeben werden. Angenommen, die Kryptographie hat sich nicht geändert, dann halten Sie mit Ihren privaten Schlüsseln weiterhin fünf Coins auf dem geforkten Netzwerk. 

Ein Beispiel für ein Hard Fork war das Fork im Jahr 2017, bei der Bitcoin in zwei getrennte Chains aufgespalten wurde – die ursprüngliche, Bitcoin (BTC), und eine neue, Bitcoin Cash (BCH). Die Fork entstand nach vielen Auseinandersetzungen über den besten Ansatz zur Skalierung. Die Befürworter von Bitcoin Cash wollten die Blockgröße erweitern, während die Bitcoin-Befürworter sich gegen die Änderung aussprachen.

Eine Erweiterung der Blockgröße erfordert eine Änderung der Regeln. Dies war vor der SegWit Soft Fork (mehr dazu in Kürze), so dass die Nodes nur Blöcke akzeptierten, die kleiner als 1MB waren. Wenn Sie einen 2MB-Block erzeugten, der ansonsten gültig war, wurde dieser von anderen Nodes trotzdem abgelehnt.

Nur Nodes, die ihre Software so geändert hatten, dass sie Blöcke mit einer Größe von mehr als 1 MB zuliessen, konnten diese Blöcke akzeptieren. Das würde sie natürlich mit der vorherigen Version inkompatibel machen, so dass nur Nodes mit denselben Protokolländerungen kommunizieren konnten.


Was ist ein Soft Fork

Ein Soft Fork ist ein rückwärts-kompatibles Upgrade, was bedeutet, dass die per Upgrade aktualisierten Nodes weiterhin mit den nicht aktualisierten Nodes kommunizieren können. Was Sie typischerweise in einem Soft Fork sehen, ist das Hinzufügen einer neuen Regel, die nicht mit den älteren Regeln kollidiert.

Zum Beispiel kann eine Verringerung der Blockgröße durch Soft-Forking realisiert werden. Lassen Sie uns zur Veranschaulichung dieses Punktes noch einmal auf Bitcoin zurückgreifen: Es gibt zwar eine Grenze dafür, wie groß ein Block sein kann, aber es gibt keine Grenze dafür, wie klein er sein kann. Wenn Sie nur Blöcke unterhalb einer bestimmten Größe akzeptieren wollen, müssen Sie nur größere Blöcke ablehnen.

Dadurch werden Sie jedoch nicht automatisch vom Netzwerk getrennt. Sie kommunizieren immer noch mit Nodes, die diese Regeln nicht implementieren, aber Sie filtern einige der Informationen heraus, die diese an Sie weitergeben.

Ein gutes Beispiel für Soft Forks aus dem wirklichen Leben war der bereits erwähnte Segregated Witness (SegWit) Fork, der kurz nach der Trennung von Bitcoin/Bitcoin Cash entstand. SegWit war ein Update, welches das Format der Blöcke und Transaktionen änderte, aber es war geschickt ausgearbeitet. Alte Nodes konnten Blöcke und Transaktionen noch immer validieren (die Formatierung verstieß nicht gegen die Regeln), sie würden sie jedoch nicht verstehen. Einige Felder sind nur lesbar, wenn die Nodes zu der neueren Software wechseln, die es ihnen erlaubt, zusätzliche Daten zu auszuwerten.


Selbst zwei Jahre nach der Aktivierung von SegWit sind noch nicht alle Nodes aktualisiert. Das zu tun hätte zwar Vorteile, aber es besteht keine wirkliche Dringlichkeit, da es keine netzwerkzerstörende Änderung darstellt.


Selbst zwei Jahre nach der Aktivierung von SegWit sind noch nicht alle Nodes aktualisiert. Das zu tun hätte zwar Vorteile, aber es besteht keine wirkliche Dringlichkeit, da es keine netzwerkzerstörende Änderung darstellt.


Hard Forks vs. Soft Forks – was ist besser?

Grundsätzlich dienen die beiden oben genannten Arten von Forks unterschiedlichen Zwecken. Umstrittene Hard Forks können eine Gemeinschaft spalten, aber geplante Forks erlauben die Freiheit, die Software im Einvernehmen mit allen zu modifizieren.

Soft Forks sind eine sanftere Option. Im Allgemeinen sind Sie in Ihren Möglichkeiten eingeschränkter, da Ihre neuen Änderungen nicht mit den alten Regeln in Konflikt geraten können. Das heißt, wenn Ihr Update so gestaltet werden kann, dass es kompatibel bleibt, brauchen Sie sich keine Sorgen über die Fragmentierung des Netzwerks zu machen.


Fazit

Hard Forks und Soft Forks sind entscheidend für den langfristigen Erfolg von Blockchain-Netzwerken. Sie ermöglichen es uns, in dezentralisierten Systemen Änderungen und Upgrades vorzunehmen, obwohl es keine zentrale Autorität dafür gibt.

Forks ermöglichen es Blockchains und Krypto-Währungen, neue Funktionen zu integrieren, während sie entwickelt werden. Ohne diese Mechanismen bräuchten wir ein zentralisiertes System mit Steuerung von oben nach unten. Andernfalls würden wir während der gesamten Laufzeit des Protokolls mit genau denselben Regeln arbeiten müssen.


➠ Haben Sie Fragen zu Forks? Fragen Sie auf Ask Academy!