Seit der Einführung von Bitcoin im Jahr 2008 als elektronisches Peer-to-Peer-Zahlungssystem wurden viele andere Kryptowährungen geschaffen, jede mit einem bestimmten Funktionsmechanismus. Doch eines haben fast alle Kryptowährungen gemeinsam: die Blockchain, ein zentrales Element ihrer Architektur.
Mit wenigen Ausnahmen sind Blockchains bewusst dezentralisiert und fungieren als digitales Hauptbuch, das von einem verteilten Netzwerk von Computerknoten verwaltet wird. In diesem Zusammenhang ermöglichte die Blockchain-Technologie die Schaffung vertrauensfreier Wirtschaftssysteme, in denen transparente und zuverlässige Finanztransaktionen ohne den Einsatz von Intermediären abgewickelt werden konnten. Kryptowährungen werden als praktikable Alternative zu traditionellen Bank- und Zahlungssystemen eingeführt, die stark auf Vertrauen angewiesen sind.
Wie bei den meisten verteilten Computersystemen müssen sich die Teilnehmer eines Kryptowährungsnetzwerks sehr regelmäßig über den Zustand der Blockchain einigen, dies wird als Konsensbildung bezeichnet. Es ist jedoch keine leichte Aufgabe, auf sichere und zuverlässige Weise über verteilte Netzwerke hinweg einen Konsens zu erzielen.
Wie kann sich also ein verteiltes Netzwerk von Computerknoten auf eine Entscheidung einigen, wenn einige der Knoten wahrscheinlich ausfallen oder unehrlich handeln? Dies ist die grundlegende Frage des sogenannten Problems der byzantinischen Generäle, aus der das Konzept der byzantinischen Fehlertoleranz hervorging.
Was ist los mit den byzantinischen Generälen?
Einfach ausgedrückt wurde das Problem der byzantinischen Generäle 1982 als logisches Dilemma konzipiert, das beschreibt, wie eine Gruppe byzantinischer Generäle Kommunikationsprobleme haben kann, wenn sie versucht, sich auf ihren nächsten strategischen Schritt zu einigen.
Das Dilemma geht davon aus, dass jeder General seine eigene Armee hat und dass sich jede bewaffnete Gruppe an verschiedenen Orten rund um eine Stadt befindet, die sie belagern möchte. Die Generäle müssen einem Angriff oder Rückzug zustimmen. Unabhängig davon, ob sie angreifen oder sich zurückziehen, müssen alle Generäle einen Konsens erreichen, sich also auf eine gemeinsame Entscheidung einigen, um diese koordiniert umzusetzen.
Daher können wir folgende Ziele berücksichtigen:
Jeder General muss eine Entscheidung treffen: Angriff oder Rückzug (ja oder nein);
Sobald die Entscheidung getroffen wurde, kann sie nicht mehr geändert werden.
Alle Generäle müssen sich auf die gleiche Entscheidung einigen und diese synchron ausführen.
Die oben genannten Kommunikationsprobleme hängen damit zusammen, dass ein General mit einem anderen nur über Nachrichten kommunizieren kann, die von einem Abgesandten übermittelt werden. Daher besteht die zentrale Herausforderung des Problems der byzantinischen Generäle darin, dass Nachrichten verzögert, zerstört oder verloren gehen können.
Selbst wenn eine Nachricht erfolgreich zugestellt wurde, können sich außerdem ein oder mehrere Generäle (aus welchen Gründen auch immer) dafür entscheiden, böswillig zu handeln und eine betrügerische Nachricht zu senden, um die anderen Generäle zu verwirren, was zu einem völligen Misserfolg führt.
Wenn wir das Dilemma auf den Kontext von Blockchains anwenden, stellt jeder General einen Netzwerkknoten dar und die Knoten müssen einen Konsens über den aktuellen Zustand des Systems erzielen. Mit anderen Worten: Die Mehrheit der Teilnehmer eines verteilten Netzwerks muss sich darauf einigen und die gleiche Aktion ausführen, um einen vollständigen Ausfall zu vermeiden.
Daher besteht die einzige Möglichkeit, in solchen verteilten Systemen einen Konsens zu erreichen, darin, mindestens ⅔ zuverlässige und ehrliche Netzwerkknoten zu haben. Das bedeutet, dass das System anfällig für Ausfälle und Angriffe ist (wie der 51-Prozent-Angriff), wenn die Mehrheit des Netzwerks beschließt, böswillig zu handeln.
Byzantinische Fehlertoleranz (BFT)
Kurz gesagt, die byzantinische Fehlertoleranz (BFT) charakterisiert ein System, das in der Lage ist, der Reihe von Fehlern standzuhalten, die sich aus dem Problem der byzantinischen Generäle ergeben. Dies bedeutet, dass ein BFT-System auch dann weiter betrieben werden kann, wenn einige der Knoten ausfallen oder böswillig handeln.
Es gibt mehr als eine mögliche Lösung für das Problem der byzantinischen Generäle und daher mehrere Möglichkeiten, ein BFT-System aufzubauen. Ebenso gibt es unterschiedliche Ansätze für eine Blockchain, um byzantinische Fehlertoleranz zu erreichen, was uns zu Konsensalgorithmen führt.
Blockchain-Konsensalgorithmen
Wir können einen Konsensalgorithmus als einen Mechanismus definieren, durch den ein Blockchain-Netzwerk einen Konsens erzielt. Die gängigsten Implementierungen sind Proof of Work und Proof of Stake. Aber nehmen wir als Beispiel den Bitcoin-Fall.
Während das Bitcoin-Protokoll die Hauptregeln des Systems vorschreibt, ist es der PoW-Konsensalgorithmus, der definiert, wie diese Regeln befolgt werden, um einen Konsens zu erzielen (z. B. bei der Überprüfung und Validierung von Transaktionen).
Obwohl das Konzept des Arbeitsnachweises älter ist als Kryptowährungen, entwickelte Satoshi Nakamoto eine modifizierte Version davon als BFT-Algorithmus und -System, die die Erstellung von Bitcoin ermöglichten.
Beachten Sie, dass der PoW-Algorithmus byzantinische Fehler nicht zu 100 % toleriert, aber aufgrund des teuren Mining-Prozesses und der zugrunde liegenden kryptografischen Techniken hat sich PoW als eine der sichersten und zuverlässigsten Implementierungen für Blockchain-Netzwerke erwiesen. In diesem Sinne wird der von Satoshi Nakamoto entwickelte Proof-of-Work-Konsensalgorithmus von vielen als eine der relevantesten Lösungen für byzantinische Fehler angesehen.
Abschluss
Das Problem der byzantinischen Generäle ist ein faszinierendes Dilemma, das letztendlich zur Entstehung von BFT-Systemen führte, die in verschiedenen Szenarien weit verbreitet sind. Über den Blockchain-Sektor hinaus umfassen einige Anwendungsfälle für BFT-Systeme die Luftfahrt-, Raumfahrt- und Kernenergiebranche.
Im Kontext der Kryptowährung ist eine effektive Netzwerkkommunikation gepaart mit einem guten Konsensmechanismus für jedes Blockchain-Ökosystem von entscheidender Bedeutung. Die Sicherung dieser Systeme ist ein fortlaufender Aufwand und bestehende Konsensalgorithmen müssen noch einige Einschränkungen überwinden (z. B. Skalierbarkeit). Dennoch sind PoW und PoS als BFT-Systeme sehr interessante Ansätze, und ihre potenziellen Anwendungen erfordern sicherlich umfassende Innovationen.

