Seit der Einführung von Bitcoin im Jahr 2008 als Peer-to-Peer-System (Peer-to-Peer) für elektronisches Geld wurden mehrere andere Kryptowährungen geschaffen, jede mit einem bestimmten Mechanismus. Was jedoch fast allen gemeinsam ist, ist ein Blockchain-Netzwerk als zentrales Element ihrer Architektur.
Mit einigen Ausnahmen sind Blockchain-Netzwerke absichtlich dezentralisiert und fungieren als digitales Hauptbuch, das von einem verteilten Netzwerk von Knoten verwaltet wird, die durch Computer repräsentiert werden. Aus diesem Grund hat die Blockchain-Technologie die Schaffung eines Wirtschaftssystems ermöglicht, in dem Finanztransaktionen transparent und zuverlässig sind, ohne dass Zwischenhändler erforderlich sind. Kryptowährungen gewinnen immer mehr an Bedeutung, da sie sich als Alternative zum traditionellen Bankensystem darstellen, das stark vom Vertrauen in Dritte abhängt.
In den meisten verteilten Computersystemen müssen sich die Teilnehmer eines Kryptowährungsnetzwerks regelmäßig über den aktuellen Status ihrer Blockchains einigen, und das nennen wir Konsens erzielen. Allerdings ist es keine leichte Aufgabe, in verteilten Netzwerken auf sichere und zuverlässige Weise einen Konsens zu erzielen.
Wie kann also ein verteiltes Netzwerk von Computern eine Entscheidung treffen, wenn einige Knoten dazu verdammt sind, fehlerhaft oder unehrlich zu handeln? Dies ist eine grundlegende Frage des bekannten Problems der byzantinischen Generäle, aus dem das Konzept der Byzantinischen Fehlertoleranz (BFT) – oder auf Portugiesisch Byzantinische Fehlertoleranz – entstand.
Was ist das Problem mit byzantinischen Generälen?
Kurz gesagt, es wurde 1982 als logisches Dilemma konzipiert, das veranschaulichte, wie eine Gruppe byzantinischer Generäle bei dem Versuch, eine Einigung über den nächsten Kriegsschritt zu erzielen, Kommunikationsschwierigkeiten haben konnte.
Das Dilemma geht davon aus, dass jeder General seine eigene Armee hat und dass jede Gruppe an verschiedenen Orten in der Stadt stationiert ist, die sie angreifen möchte. Generäle müssen sich darauf einigen, wann sie angreifen oder sich zurückziehen. Es spielt keine Rolle, ob sie angreifen oder sich zurückziehen, es ist notwendig, dass sich alle einig sind, um beispielsweise gemeinsam einen Konsens über die Umsetzung der Taktik zu erzielen.
Daher müssen wir die folgenden Ziele berücksichtigen:
Jeder General muss entscheiden: Angriff oder Rückzug (ja oder nein);
Eine einmal getroffene Entscheidung kann nicht mehr geändert werden;
Alle Generäle müssen sich auf die gleiche Taktik einigen und diese synchron ausführen.
Die bereits erwähnten Kommunikationsprobleme hängen damit zusammen, dass ein General mit einem anderen nur über Nachrichten kommunizieren kann, die per Post zugestellt werden. Folglich besteht die zentrale Herausforderung des Problems des byzantinischen Generals darin, dass Nachrichten irgendwie verzögert, zerstört oder verloren gehen können.
Selbst wenn eine Nachricht erfolgreich zugestellt wurde, können sich darüber hinaus ein oder mehrere Generäle (aus welchen Gründen auch immer) dafür entscheiden, böswillig zu handeln oder eine betrügerische Nachricht zu senden, um andere Generäle zu verwirren, was zu einer völligen Katastrophe führt.
Wenn wir dieses Dilemma auf den Kontext von Blockchain-Netzwerken anwenden, stellt jeder General einen Knoten im Netzwerk dar und die Knoten müssen einen Konsens über den aktuellen Zustand des Systems erzielen. Anders ausgedrückt: Die Mehrheit der Teilnehmer innerhalb eines verteilten Netzwerks muss sich auf denselben Prozess einigen, um einen weitverbreiteten Ausfall zu vermeiden.
Die einzige Möglichkeit, in solchen verteilten Systemen einen Konsens zu erreichen, besteht jedoch darin, mindestens ⅔ oder mehr Knoten im Netzwerk zu haben, die vertrauenswürdig und ehrlich sind. Das bedeutet, dass das System anfällig für Ausfälle und Angriffe ist (z. B. den 51 %-Angriff), wenn sich die Mehrheit des Netzwerks für böswilliges Handeln entscheidet.
Byzantinische Fehlertoleranz
Kurz gesagt ist BFT die Eigenschaft eines Systems, verschiedenen Arten von Ausfällen zu widerstehen, die durch das Dilemma der byzantinischen Generäle verursacht werden können. Dies bedeutet, dass ein BFT-System auch dann weiterarbeiten kann, wenn sich einige Knoten im Netzwerk fehlerhaft oder böswillig verhalten.
Es gibt mehrere Möglichkeiten, das Problem der byzantinischen Generäle zu lösen und daher mehrere Methoden zum Aufbau eines BFT-Systems. Ebenso können viele Ansätze erforscht werden, damit ein Blockchain-System dafür sorgen kann, dass BFT korrekt funktioniert, was uns zum begehrten Konsensalgorithmus führt.
Blockchain-Konsensalgorithmus
Wir können den Konsensalgorithmus als einen Mechanismus definieren, durch den jedes Blockchain-Netzwerk eine Einigung über seinen Zustand erzielt. Die bekanntesten Implementierungen sind Proof of Work (PoW) und Proof of Stake (PoS). Aber nehmen wir den Fall von Bitcoin als Beispiel.
Während das Bitcoin-Protokoll die primären Regeln des Systems vorschreibt, definiert der PoW-Konsensalgorithmus, wie diese Regeln befolgt werden, um einen Konsens zu erzielen (z. B. bei der Verifizierung und Validierung von Transaktionen).
Obwohl das Konzept von PoW in Kryptowährungen sehr alt ist, entwickelte Satoshi Nakamoto eine modifizierte Version, die es ermöglichte, Bitcoin als BFT-System zu erstellen.
Beachten Sie, dass der PoW-Algorithmus nicht zu 100 % tolerant gegenüber byzantinischen Fehlern ist. Angesichts der hohen Kosten des Mining-Prozesses und der zugrunde liegenden kryptografischen Techniken hat PoW jedoch bereits bewiesen, dass es sich um eine der sichersten und zuverlässigsten Implementierungen für Blockchain-Netzwerke handelt. In dieser Hinsicht wird der von Satoshi Nakamoto entwickelte PoW-Konsensalgorithmus von vielen als geniale Lösung zur Lösung des byzantinischen Problems angesehen.
Abschließende Überlegungen
Das byzantinische Problem ist ein faszinierendes Dilemma, das schließlich zur Entstehung von BFT-Systemen führte, die in verschiedenen Szenarien eingesetzt werden. Neben der Blockchain-Welt wird das BFT-System auch in der Luftfahrt-, Raumfahrt- und Kernkraftwerksindustrie eingesetzt.
Im Zusammenhang mit Kryptowährungen ist ein effizientes Kommunikationsnetzwerk zusammen mit einem guten Konsensmechanismus für jedes Blockchain-Ökosystem von entscheidender Bedeutung. Die Sicherung dieser Systeme ist eine ständige Anstrengung, und viele existierende Konsensalgorithmen haben einige Einschränkungen (z. B. Skalierbarkeit) noch nicht überschritten. PoW- und PoS-Algorithmen sind jedoch interessante Ansätze für die Funktion als BFT-Systeme, und die möglichen Anwendungen inspirieren sicherlich zu weitreichenden Innovationen.
