Byzantinische Fehlertoleranz
Startseite
Artikel
Byzantinische Fehlertoleranz

Byzantinische Fehlertoleranz

Fortgeschritten
Veröffentlicht Dec 6, 2018Aktualisiert Aug 17, 2023
5m

Seit der Einf√ľhrung von Bitcoin im Jahr 2008, als peer-to-peer elektronisches Cash-System, wurden viele weitere Kryptow√§hrungen geschaffen, jede mit einem bestimmten Mechanismus. Eines aber, das fast alle Kryptow√§hrungen gemeinsam haben, ist die Blockchain als Kernelement ihrer Architektur.

Mit wenigen Ausnahmen sind Blockchains bewusst dezentral aufgebaut und arbeiten als digitales Aufzeichnungsmodell (Ledger), das von einem verteilten Netzwerk von Computerknoten (Nodes) verwaltet wird. Aus diesem Grund erm√∂glichte die Blockchain-Technologie die Schaffung vertrauensunabh√§ngiger Wirtschaftssysteme, in denen transparente und zuverl√§ssige Finanztransaktionen ohne die Notwendigkeit von Vermittlern durchgef√ľhrt werden konnten. Kryptow√§hrungen werden als praktikable Alternative zu traditionellen Bank- und Zahlungssystemen eingesetzt, deren Dienstleistungen stark vom Vertrauen der Nutzer abh√§ngig sind.

Wie die meisten verteilten Computersysteme m√ľssen sich die Teilnehmer eines Kryptow√§hrungsnetzwerks regelm√§√üig √ľber den aktuellen Status der Blockchain einigen, was wir als Konsensfindung definieren. Allerdings ist es keineswegs einfach √ľber verteilte Netzwerke sicher und vertrauensw√ľrdig Konsens zu erreichen.

Wie schafft es also ein verteiltes Netzwerk von Computerknoten Konsens zu finden, wenn einige der Knoten wahrscheinlich versagen oder unehrlich handeln? Das ist die grundlegende Frage des Problems der sogenannten byzantinischen Generäle, aus der das Konzept der byzantinischen Fehlertoleranz hervorging.


Was ist das Problem der byzantinischen Generäle?

Mit wenigen Worten, das Problem der byzantinischen Generäle wurde 1982 als logisches Dilemma konzipiert, das veranschaulicht, wie eine Gruppe byzantinischer Generäle Kommunikationsprobleme haben kann, wenn sie versuchen, sich auf ihren nächsten Schritt zu einigen.

Das Dilemma geht davon aus, dass jeder General seine eigene Armee hat und dass sich jede Gruppe an verschiedenen Orten in der Stadt befindet, die sie angreifen wollen. Die Gener√§le m√ľssen sich auf einen Angriff oder R√ľckzug einigen. Es spielt keine Rolle, ob sie angreifen oder sich zur√ľckziehen, solange alle Gener√§le einen Konsens erzielen, d.h. sich auf einen gemeinsamen Beschluss einigen, um ihn in Koordination auszuf√ľhren.

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

  • Jeder General muss sich entscheiden: Angriff oder R√ľckzug (ja oder nein);

  • Nachdem die Entscheidung getroffen wurde, kann sie nicht mehr ge√§ndert werden;

  • Alle Gener√§le m√ľssen die gleiche Entscheidung treffen und sie gleichzeitig ausf√ľhren.

Die oben genannten Kommunikationsprobleme h√§ngen damit zusammen, dass ein General nur √ľber Nachrichten, die von einem Kurier weitergeleitet werden, mit einem anderen kommunizieren kann. Die zentrale Herausforderung des Problems der byzantinischen Gener√§le besteht daher darin, dass die Botschaften irgendwie verz√∂gert, zerst√∂rt oder verloren gehen k√∂nnen.

Dar√ľber hinaus k√∂nnen ein oder mehrere Gener√§le, selbst wenn eine Nachricht erfolgreich zugestellt wird, (aus welchem Grund auch immer) b√∂swillig handeln und eine betr√ľgerische Nachricht senden, um die anderen Gener√§le zu verwirren, was zu einem Totalversagen f√ľhrt.

Wenn wir das Dilemma auf den Kontext von Blockchains anwenden, repr√§sentiert jeder General einen Netzwerkknoten und die Knoten m√ľssen einen Konsens √ľber den aktuellen Status des Systems erreichen. Anders ausgedr√ľckt, die Mehrheit der Teilnehmer innerhalb eines verteilten Netzwerks muss die gleiche Aktion vereinbaren und ausf√ľhren, um ein vollst√§ndiges Versagen zu vermeiden.

Daher ist der einzige Weg, einen Konsens in diesen Arten von verteilten Systemen zu erreichen, mindestens ‚ÖĒ oder mehr zuverl√§ssige und ehrliche Netzwerkknoten zu haben. Das bedeutet, dass, wenn die Mehrheit des Netzwerks beschlie√üt, b√∂swillig zu handeln, das System anf√§llig f√ľr St√∂rungen und Angriffe ist (wie z.B. die 51% Attacke).


Byzantinische Fehlertoleranz (BFT)

Mit wenigen Worten, die byzantinische Fehlertoleranz (BFT) ist definiert als die Eigenschaft eines Systems das Problemdilemma der byzantinischen Gener√§le zu √ľberwinden. Das bedeutet, dass ein BFT-System auch dann weiterarbeiten 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 damit mehrere M√∂glichkeiten, ein BFT-System aufzubauen. Ebenso gibt es verschiedene Ans√§tze f√ľr eine Blockchain, um byzantinische Fehlertoleranz zu erreichen, und das f√ľhrt uns zu den sogenannten Konsensalgorithmen.


Blockchain Konsensalgorithmen

Wir können einen Konsensalgorithmus als den Mechanismus definieren, durch den ein Blockchain-Netzwerk einen Konsens erreicht. Die gängigsten Implementierungen sind Proof of Work (PoW) und Proof of Stake (PoS). Aber nehmen wir den Fall 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 √úberpr√ľfung und Validierung von Transaktionen).

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

Beachte, dass der PoW-Algorithmus nicht 100% tolerant gegen√ľber byzantinischen Fehlern ist, aber aufgrund des kostenintensiven Mining-Prozesses und der zugrunde liegenden kryptographischen Techniken hat sich der PoW als eine der sichersten und zuverl√§ssigsten Implementierungen f√ľr Blockchain-Netzwerke erwiesen. Daher wird der von Satoshi Nakamoto entwickelte Proof of Work Konsensalgorithmus von vielen als eine der genialsten L√∂sungen f√ľr die byzantinischen Fehler angesehen.


Fazit

Das Problem der byzantinischen Gener√§le ist ein faszinierendes Dilemma, das schlie√ülich zu den BFT-Systemen f√ľhrte, die in verschiedenen Bereichen umfassend Anwendung finden. √úber die Blockchain-Industrie hinaus sind einige weitere Anwendungsf√§lle von BFT-Systemen die Luft- und Raumfahrtindustrie sowie die Kernkraftindustrie.

Im Kontext von Kryptow√§hrungen ist eine effiziente Netzwerkkommunikation zusammen mit einem guten Konsensmechanismus f√ľr jedes Blockchain-√Ėkosystem von zentraler Bedeutung. Die Sicherung dieser Systeme ist ein st√§ndiges Unterfangen, und die bestehenden Konsensalgorithmen m√ľssen noch einige Grenzen √ľberwinden (z.B. Skalierbarkeit). Dennoch sind PoW und PoS als BFT-Systeme sehr interessante Ans√§tze, und die potenziellen Anwendungsbereiche inspirieren sicherlich zu weitreichenden Innovationen.

Beitrag teilen
Eröffne ein Konto
Setze dein Wissen in die Praxis um und eröffne noch heute ein Binance-Konto.