Seit dem Beginn von Bitcoin im Jahr 2008 als elektronisches Peer-to-Peer-Finanzsystem wurden viele digitale Währungen geschaffen, von denen jede mit einem speziellen Mechanismus funktioniert. Aber eines haben alle digitalen Währungen gemeinsam: Blockchain als Grundelement ihrer Struktur.

Alle Blockchains sind bewusst dezentral konzipiert und fungieren mit wenigen Ausnahmen als digitales Hauptbuch, das von einem verteilten Netzwerk von Computerknoten verwaltet wird. Aus diesem Grund hat die Blockchain-Technologie die Schaffung vertrauenswürdiger Wirtschaftssysteme ermöglicht, in denen Finanztransaktionen transparent und zuverlässig durchgeführt werden können, ohne dass Zwischenhändler erforderlich sind.

Die Verwendung digitaler Währungen wird derzeit als praktikable Alternative zu traditionellen Bankensystemen und Zahlungsmethoden angesehen, die stark auf Vertrauen basieren.

Wie bei den meisten verteilten Computersystemen müssen sich die Teilnehmer eines Kryptowährungsnetzwerks regelmäßig auf den aktuellen Zustand der Blockchain einigen. Dies nennen wir einen Konsens. Es ist jedoch eine sehr schwierige Aufgabe, auf sichere Weise einen Konsens über verteilte Netzwerke zu erzielen.

Wie kann man sich also in einem verteilten Netzwerk von Computerknoten darauf einigen, ob einige Knoten wahrscheinlich ausfallen oder sich illegal verhalten? Dies ist die grundlegende Frage des sogenannten Problems der byzantinischen Generäle, aus der das Konzept der byzantinischen Fehlertoleranz entstand.


Was ist das Problem der byzantinischen Generäle?

Kurz gesagt, das Problem der byzantinischen Generäle von 1982 wurde als logisches Dilemma konzipiert, das veranschaulicht, wie eine Gruppe byzantinischer Generäle Probleme haben könnte, miteinander zu kommunizieren, wenn sie versuchen, sich auf den nächsten Schritt in ihrem Plan zu einigen.

Das Dilemma geht davon aus, dass jeder General seine eigene Armee hat, dass sich jede Gruppe an verschiedenen Orten in der Stadt befindet, die sie angreifen möchte, und dass jeder General entweder einem Angriff oder einem Rückzug zustimmen muss. Dabei spielt es keine Rolle, ob sie angreifen oder sich zurückziehen, solange alle Generäle einen Konsens erzielen, sich also auf eine gemeinsame Entscheidung einigen, um diese koordiniert umzusetzen.

Daher können wir die folgenden Ziele in Betracht ziehen:

  • Jeder General muss entscheiden: Angriff oder Rückzug (ja oder nein).

  • Sobald eine Entscheidung getroffen wurde, kann sie nicht mehr geändert werden.

  • Alle Generäle müssen sich auf die gleiche Entscheidung einigen und diese synchron umsetzen.

Die oben genannten Kommunikationsprobleme hängen damit zusammen, dass jeder einzelne General nur über Nachrichten, die vom Spediteur/Kurier gesendet werden, mit einem anderen General kommunizieren kann. Die größte Herausforderung des Problems für byzantinische Generäle bestand daher darin, dass Nachrichten verzögert, beschädigt oder verloren gehen konnten.

Selbst wenn die Nachricht erfolgreich zugestellt wurde, können sich außerdem ein oder mehrere Generäle (aus irgendeinem Grund) dafür entscheiden, böswillig zu handeln und eine gefälschte Nachricht zu senden, um die anderen Generäle zu verwirren, was zum völligen Scheitern der Mission führt.

Wenn wir dieses Dilemma im Kontext der Blockchain anwenden, stellt jede Generation einen Netzwerkknoten dar und die Knoten müssen einen Konsens über den aktuellen Zustand des Systems erzielen. Anders ausgedrückt: Die Mehrheit der Teilnehmer in einem verteilten Netzwerk muss derselben Aktion zustimmen und diese ausführen, um einen vollständigen Ausfall zu vermeiden.

Daher besteht die einzige Möglichkeit, in solchen verteilten Systemen einen Konsens zu erzielen, darin, ⅔ (zwei Drittel) oder mehr ehrliche Knoten zu haben. Das bedeutet, dass das System anfällig für Ausfälle und Angriffe ist, wenn sich die Mehrheit des Netzwerks für böswilliges Handeln entscheidet (z. B. 51 %-Angriff).


Byzantinische Fehlertoleranz – BFT

Kurz gesagt ist die byzantinische Fehlertoleranz (BFT) die Eigenschaft eines Systems, das in der Lage ist, der Art von Fehlern zu widerstehen, die sich aus dem Problem der byzantinischen Generäle ergeben. Dies bedeutet, dass das BFT-System auch dann weiterarbeiten kann, wenn einige Knoten ausfallen oder sich böswillig verhalten.

Es gibt mehr als eine mögliche Lösung für das Problem der byzantinischen Generäle, und das bedeutet, dass es mehrere Möglichkeiten gibt, ein BFT-System aufzubauen. Ebenso gibt es für Blockchains mehrere unterschiedliche Ansätze, um byzantinische Fehlertoleranz zu erreichen, und dies führt uns zu sogenannten Konsensalgorithmen.


Blockchain-Konsensalgorithmen

Wir können einen Konsensalgorithmus als den Mechanismus definieren, durch den ein Blockchain-Netzwerk einen Konsens erzielt. Die häufigsten Anwendungen sind Proof of Work (PoW) und Proof of Stake (PoS). Aber nehmen wir als Beispiel den Fall Bitcoin.

Während das Bitcoin-Protokoll die Grundregeln des Systems festlegt, ist es der als Proof of Work (PoW) bekannte Konsensalgorithmus, der definiert, wie diese Regeln befolgt werden, um einen Konsens zu erzielen (z. B. bei der Transaktionsüberprüfung).

Obwohl das Konzept des Proof of Work älter ist als Kryptowährungen, entwickelte Satoshi Nakamoto eine modifizierte Version davon als Algorithmus, der die Schaffung von Bitcoin als BFT-System ermöglichte.

Beachten Sie, dass der Proof of Work (PoW)-Algorithmus nicht zu 100 % fehlertolerant ist. Aufgrund des kostenintensiven Mining-Prozesses und der kryptografischen Techniken hat sich PoW jedoch als eine der sichersten und vertrauenswürdigsten Implementierungen von Blockchain-Netzwerken erwiesen.

Daher wird der von Satoshi Nakamoto entwickelte Proof-of-Work-Algorithmus von vielen als eine der genialsten Lösungen für byzantinische Fehler verwendet.


Abschluss

Das Problem der byzantinischen Generäle ist ein interessantes Dilemma, das schließlich zur Entstehung von BFT-Systemen führte, die in verschiedenen Szenarien weit verbreitet sind. Auch außerhalb der Blockchain-Branche gibt es einige Anwendungsfälle von BFT in der Luftfahrt-, Raumfahrt- und Kernenergiebranche.

Im Zusammenhang mit digitalen Währungen ist ein effizientes Kommunikationsnetzwerk zusammen mit einem Konsensmechanismus für jedes Blockchain-System von entscheidender Bedeutung. Die Sicherung dieser Systeme ist ein fortlaufender Aufwand und bestehende Konsensalgorithmen arbeiten noch daran, einige Einschränkungen (z. B. Skalierbarkeit) zu überwinden. Allerdings sind Proof of Work (PoW) und Proof of Stake (PoS) zwei sehr interessante Ansätze für BFT-Systeme und die möglichen Anwendungen sind sicherlich eine Quelle weit verbreiteter Inspiration.