Einführung

Wenn Sie aufgefordert werden, Ihre digitale Banking-App auf Ihrem Smartphone zu aktualisieren, denken Sie wahrscheinlich nicht einmal darüber nach. Vielleicht aktualisiert sich Ihr Telefon automatisch, ohne dass Sie es überhaupt bemerken. Schließlich ist es ein notwendiger Vorgang – wenn Sie nicht die neueste Version der Software installieren, besteht das Risiko, dass Ihnen der Zugriff auf die Dienste verweigert wird.

Bei Open-Source-Kryptowährungen ist das ganz anders. Sie müssen nicht jede Zeile Code lesen, die Bitcoin zugrunde liegt, um es zu verwenden, aber die Wahl dazu ist wichtig. Hier gibt es nämlich keine Hierarchie und keine Bank, die einfach Updates pushen und Dinge nach Belieben ändern kann. Daher kann die Implementierung neuer Funktionen in Blockchain-Netzwerken eine Herausforderung sein.

In diesem Artikel untersuchen wir, wie Kryptowährungsnetzwerke trotz fehlender zentraler Autorität aktualisiert werden können. Dazu werden zwei verschiedene Mechanismen verwendet: 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 am Entscheidungsprozess (oder der Governance) des Netzwerks beteiligten Teilnehmer zu verstehen.

Bei Bitcoin kann man grob zwischen drei Teilnehmergruppen 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 Telefonen, Laptops usw.) werden häufig verwendet, sind aber für das Netzwerk keine wirklichen „Teilnehmer“.


Entwickler

Entwickler sind für das Erstellen und Aktualisieren des Codes verantwortlich. Bei einer typischen Münze kann jeder zu diesem Prozess beitragen. Der Code ist öffentlich verfügbar, sodass sie Änderungen einreichen können, die von anderen Entwicklern überprüft werden.


Minenarbeiter

Miner sind diejenigen, die das Netzwerk sichern. Sie führen den Code der Kryptowährung aus und stellen Ressourcen bereit, um der Blockchain neue Blöcke hinzuzufügen. Im Bitcoin-Netzwerk tun sie dies beispielsweise über Proof of Work. Sie werden für ihre Bemühungen in Form einer Blockbelohnung belohnt.


Vollständige Knotenbenutzer

Vollständige Knoten sind das Rückgrat des Kryptowährungsnetzwerks. Sie validieren, senden und empfangen Blöcke und Transaktionen und verwalten eine Kopie der Blockchain.


In diesen Kategorien gibt es häufig Überschneidungen. Sie könnten beispielsweise Entwickler und Full-Node-Benutzer oder Miner und Full-Node-Benutzer sein. Sie könnten alle drei sein oder keines davon. Tatsächlich übernehmen viele derjenigen, die wir als Kryptowährungsbenutzer betrachten, keine dieser Rollen. Stattdessen entscheiden sie sich für die Verwendung von Light Nodes oder zentralisierten Diensten.

Wenn man sich die obigen Beschreibungen ansieht, kann man überzeugende Argumente dafür finden, dass Entwickler und Miner die Entscheidungen für das Netzwerk treffen. Entwickler erstellen den Code – ohne sie gäbe es keine Software zum Ausführen und niemanden, der Fehler behebt oder neue Funktionen hinzufügt. Miner sichern das Netzwerk – ohne gesunden Mining-Wettbewerb könnte die Kette gekapert werden oder zum Stillstand kommen.

Wenn diese beiden Kategorien jedoch versuchen würden, den Rest des Netzwerks mit Gewalt ihrem Willen zu unterwerfen, würde das nicht allzu gut ausgehen. Für viele liegt die wahre Macht in den Full Nodes. Dies ist größtenteils darauf zurückzuführen, dass das Netzwerk Opt-in-basiert ist, 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 Binärdateien von Bitcoin Core herunterzuladen. Wenn die Miner eine „Entweder so oder gar nicht“-Haltung einnehmen, um den Benutzern eine unerwünschte Änderung aufzuzwingen, dann werden die Benutzer eben so vorgehen.

Diese Parteien sind keine allmächtigen Oberherren, sondern Dienstleister. Wenn sich die Leute entscheiden, das Netzwerk nicht zu nutzen, verliert die Münze an Wert. Der Wertverlust wirkt sich direkt auf die Miner aus (ihre Belohnungen sind weniger wert, wenn sie in Dollar ausgedrückt werden). Was die Entwickler betrifft, können sie von den Benutzern einfach ignoriert werden.

Es ist ja nicht so, als wäre die Software proprietär. Sie können alle Änderungen vornehmen, die Sie möchten, und wenn andere Ihre modifizierte Software ausführen, können Sie alle miteinander kommunizieren. In diesem Fall forken Sie die Software und erstellen dabei ein neues Netzwerk.


Was ist eine Fork?

Ein Software-Fork tritt an einem Punkt auf, an dem Software kopiert und geändert wird. Das ursprüngliche Projekt lebt weiter, ist aber jetzt vom neuen Projekt getrennt, das eine andere Richtung einschlägt. Nehmen wir an, das Team Ihrer bevorzugten Website mit Inhalten zu Kryptowährungen ist sich nicht einig, wie es weitergehen soll. Ein Teil des Teams könnte die Website auf einer anderen Domain replizieren. In Zukunft würden sie jedoch andere Arten von Inhalten veröffentlichen als das Original.

Die Projekte bauen auf einer gemeinsamen Basis auf und haben eine gemeinsame Geschichte. So wie sich eine Straße später in zwei teilt, trennen sich ihre Wege nun dauerhaft.

Beachten Sie, dass diese Art von Dingen in Open-Source-Projekten häufig vorkommt und schon lange vor dem Aufkommen von Bitcoin oder Ethereum passiert ist. Die Unterscheidung zwischen Hard Forks und Soft Forks ist jedoch fast ausschließlich im Blockchain-Bereich zu finden. Lassen Sie uns diese etwas genauer besprechen.


➠ Möchten Sie mit Kryptowährungen anfangen? Kaufen Sie Bitcoin auf Binance!


Hard Forks vs. Soft Forks

Obwohl Hard Forks und Soft Forks ähnlich heißen und letztlich demselben Zweck dienen, gibt es erhebliche Unterschiede. Schauen wir uns beide genauer an.


Was ist ein Hard Fork?

Hard Forks sind abwärtskompatible Software-Updates. Normalerweise treten sie auf, wenn Knoten neue Regeln auf eine Weise hinzufügen, die mit den Regeln alter Knoten in Konflikt steht. Neue Knoten können nur mit anderen kommunizieren, die die neue Version betreiben. Infolgedessen spaltet sich die Blockchain und es entstehen zwei separate Netzwerke: eines mit den alten Regeln und eines mit den neuen Regeln.

Nodes turn blue when they update. The older yellow nodes reject them, while blue ones connect to each other.

Knoten werden blau, wenn sie aktualisiert werden. Die älteren gelben Knoten lehnen sie ab, während blaue Knoten eine Verbindung miteinander herstellen.


Es gibt also jetzt zwei Netzwerke, die parallel laufen. Beide werden weiterhin Blöcke und Transaktionen verbreiten, aber sie arbeiten nicht mehr auf derselben Blockchain. Alle Knoten hatten bis zum Zeitpunkt der Abspaltung eine identische Blockchain (und diese Geschichte bleibt bestehen), aber danach werden sie unterschiedliche Blöcke und Transaktionen haben.

blockchain forking at block 600,000.


Da es diese gemeinsame Historie gibt, haben Sie am Ende Coins in beiden Netzwerken, wenn Sie sie vor der Fork hatten. Angenommen, Sie hatten 5 BTC, als eine Fork bei Block 600.000 stattfand. Sie konnten diese 5 BTC in Block 600.001 auf der alten Kette ausgeben, aber sie wurden nicht im Block 600.001 der neuen Blockchain ausgegeben. Vorausgesetzt, die Kryptografie hat sich nicht geändert, enthalten Ihre privaten Schlüssel im gegabelten Netzwerk immer noch fünf Coins.

Ein Beispiel für einen Hard Fork war der Fork von 2017, bei dem Bitcoin in zwei separate Ketten zersplittert wurde – die ursprüngliche, Bitcoin (BTC), und eine neue, Bitcoin Cash (BCH). Der Fork erfolgte nach langen Diskussionen über die beste Vorgehensweise zur Skalierung. Die Befürworter von Bitcoin Cash wollten die Blockgröße erhöhen, während die Befürworter von Bitcoin gegen die Änderung waren.

Eine Erhöhung der Blockgröße erfordert eine Änderung der Regeln. Dies geschah vor dem SegWit-Softfork (mehr dazu in Kürze), sodass Knoten nur Blöcke kleiner als 1 MB akzeptierten. Wenn Sie einen 2-MB-Block erstellten, der ansonsten gültig war, lehnten andere Knoten ihn dennoch ab.

Nur Knoten, die ihre Software so geändert haben, dass sie Blöcke mit einer Größe von über 1 MB zulassen, können diese Blöcke akzeptieren. Das würde sie natürlich mit der vorherigen Version inkompatibel machen, sodass nur Knoten mit denselben Protokolländerungen kommunizieren können.


Was ist ein Soft Fork?

Ein Soft Fork ist ein abwärtskompatibles Upgrade, was bedeutet, dass die aktualisierten Knoten weiterhin mit den nicht aktualisierten kommunizieren können. Was Sie bei einem Soft Fork normalerweise sehen, ist die Hinzufügung einer neuen Regel, die nicht mit den alten Regeln kollidiert.

Eine Verringerung der Blockgröße kann zum Beispiel durch Soft-Forking erreicht werden. Um diesen Punkt zu veranschaulichen, ziehen wir noch einmal Bitcoin heran: Es gibt zwar eine Grenze dafür, wie groß ein Block sein kann, aber keine Grenze dafür, wie klein er sein kann. Wenn Sie nur Blöcke unter einer bestimmten Größe akzeptieren möchten, müssen Sie nur größere Blöcke ablehnen.

Allerdings werden Sie dadurch nicht automatisch vom Netzwerk getrennt. Sie kommunizieren zwar weiterhin mit Knoten, die diese Regeln nicht implementieren, filtern aber einige der Informationen heraus, die diese an Sie weitergeben.

Ein gutes Beispiel für einen Soft Fork aus der Praxis war der bereits erwähnte Segregated Witness (SegWit) Fork, der kurz nach der Aufspaltung von Bitcoin und Bitcoin Cash stattfand. SegWit war ein Update, das das Format von Blöcken und Transaktionen änderte, aber es war geschickt gestaltet. Alte Knoten konnten Blöcke und Transaktionen zwar immer noch validieren (die Formatierung verstieß nicht gegen die Regeln), aber sie verstanden sie einfach nicht. Einige Felder sind nur lesbar, wenn Knoten auf die neuere Software umsteigen, die es ihnen ermöglicht, zusätzliche Daten zu analysieren.

Even two years after SegWit activation, not all nodes have upgraded. There are advantages to doing so, but there’s no real urgency since there’s no network-breaking change.


Selbst zwei Jahre nach der SegWit-Aktivierung wurden noch nicht alle Knoten aktualisiert. Dies hat zwar Vorteile, aber es besteht keine wirkliche Dringlichkeit, da es sich nicht um eine netzwerkzerstörende Änderung handelt.


Hard Forks vs. Soft Forks – was ist besser?

Grundsätzlich dienen die beiden oben genannten Fork-Typen unterschiedlichen Zwecken. Umstrittene Hard Forks können eine Community spalten, geplante Hard Forks hingegen ermöglichen die Freiheit, die Software mit Zustimmung aller zu ändern.

Soft Forks sind eine sanftere Option. Generell sind Sie in Ihren Möglichkeiten eingeschränkter, da Ihre neuen Änderungen nicht mit den alten Regeln in Konflikt geraten können. Wenn Ihr Update jedoch so gestaltet werden kann, dass es kompatibel bleibt, müssen Sie sich keine Sorgen über eine Fragmentierung des Netzwerks machen.


Abschließende Gedanken

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

Forks ermöglichen es Blockchains und Kryptowährungen, neue Funktionen zu integrieren, während sie entwickelt werden. Ohne diese Mechanismen bräuchten wir ein zentralisiertes System mit Top-down-Kontrolle. Andernfalls müssten wir für die gesamte Lebensdauer des Protokolls an genau dieselben Regeln gebunden sein.