Byzantine Fault oder das Problem der byzantinischen Generäle war ein viel diskutiertes Thema in verschiedenen Bereichen wie Informatik oder verteilte Systeme. In der Kryptotechnik, insbesondere der Blockchain-Technologie, spielt die Byzantine Fault Tolerance (BFT) eine äußerst wichtige Rolle. Lassen Sie uns in diesem Artikel mehr über BFT erfahren!
Was ist byzantinische Fehlertoleranz (BFT)?
Byzantinische Fehlertoleranz ist die Fähigkeit, wie ein verteiltes System oder Netzwerk funktionieren und einen Konsens (neutrale Vereinbarung) erreichen kann, wenn man bedenkt, dass einige Teilnehmer möglicherweise nicht oder böswillig handeln. Sein Name leitet sich von einem Paradox namens Problem der byzantinischen Generäle ab, während Byzantine Fault Tolerance die Lösung des Problems ist.
Damit das Netzwerk richtig funktioniert, muss es einige gemeinsame Regeln und Bedingungen geben, damit die funktionellen Teilnehmer den Konsens des Netzwerks garantieren können, auch wenn einige seiner Teilnehmer (absichtlich oder unabsichtlich) auf Probleme stoßen.
Was ist das Problem der byzantinischen Generäle?
Das Problem der byzantinischen Generäle wurde erstmals 1982 in einem Artikel von einer Gruppe von Personen bei Microsoft Research vorgestellt. Das Problem wurde wie folgt klar beschrieben:
„Stellen Sie sich vor, dass mehrere Divisionen der byzantinischen Armee außerhalb einer feindlichen Stadt lagern, wobei jede Division von einem eigenen General kommandiert wird. Die Generäle können nur per Boten miteinander kommunizieren. Nachdem sie den Feind beobachtet haben, müssen sie sich für einen gemeinsamen Aktionsplan entscheiden.
Einige der Generäle könnten jedoch Verräter sein und versuchen, die loyalen Generäle daran zu hindern, eine Einigung zu erzielen. Die Generäle müssen entscheiden, wann sie die Stadt angreifen, aber sie brauchen eine starke Mehrheit ihrer Armee, um gleichzeitig anzugreifen.
Die Generäle müssen einen Algorithmus haben, der garantiert, dass (a) alle loyalen Generäle sich für denselben Aktionsplan entscheiden und (b) eine kleine Anzahl von Verrätern die loyalen Generäle nicht dazu bringen kann, einen schlechten Plan anzunehmen. Die loyalen Generäle werden alle tun, was der Algorithmus sagt, aber die Verräter können tun, was sie wollen. Der Algorithmus muss Bedingung (a) garantieren, unabhängig davon, was die Verräter tun. Die loyalen Generäle sollten sich nicht nur einigen, sondern sich auf einen vernünftigen Plan einigen.“
Das Problem der byzantinischen Generäle ist, obwohl es dem Problem der zwei Generäle (Paradoxon der zwei Generäle) ähnlich ist, eine allgemeinere Version. Auf eine kompliziertere Weise kann das Problem der byzantinischen Generäle mehr Variationen auferlegen. Beispielsweise können die Boten die Nachricht unterwegs nicht zustellen oder sogar den ursprünglichen Inhalt absichtlich verändern.
Was ist BFT in Krypto?
In der Kryptotechnik, insbesondere der Blockchain-Technologie , spielt die byzantinische Fehlertoleranz eine äußerst wichtige Rolle. Wenn wir das Problem der byzantinischen Generäle auf Krypto anwenden, sind die Generäle die Knoten . Alle Knoten innerhalb eines Blockchain-Netzwerks müssen miteinander kommunizieren und einen Weg finden, einen Konsens zu erzielen, was zu Methoden führt, die wir Konsensalgorithmen nennen .
Es gibt zahlreiche Möglichkeiten, byzantinische Fehlertoleranz zu erreichen. Daher gibt es auch im Blockchain-Raum verschiedene Konsensalgorithmen mit jeweils eigenen Problemlösungen für optimale Effizienz.
Bitcoin gehört mit seinem Proof-of-Work-Konsensalgorithmus zu den ersten, die die byzantinische Fehlertoleranz in Krypto erreichen. Seit seiner Einführung im Jahr 2008 hat sich Proof of Work neben dem Erfolg von Bitcoin als eine der sichersten und zuverlässigsten Lösungen für dieses Problem erwiesen.
Wie Proof of Work die byzantinische Fehlertoleranz erreicht
Wie funktioniert Praktische byzantinische Fehlertoleranz?
Practical Byzantine Fault Tolerance (pBFT) ist ein Konsensalgorithmus, der Ende der 90er Jahre von Barbara Liskov und Miguel Castro mit dem Ziel eingeführt wurde, die bestehenden Probleme der bereits verfügbaren Byzantine Fault Tolerance-Lösungen zu lösen.
Im Allgemeinen funktioniert pBFT, indem zunächst 1 Knoten als primärer (führender) Knoten und andere als sekundärer (Backup-) Knoten zugewiesen werden. Jeder Knoten kann zum Primärknoten werden, falls der aktuelle ausfällt.
Darüber hinaus kann ein pBFT-System nur dann funktionieren, wenn die maximale Anzahl bösartiger Knoten nicht größer oder gleich einem Drittel aller Knoten innerhalb des Systems sein darf.
Es gibt 4 Phasen von pBFT-Konsensrunden:
- Anfrage: Der Client sendet eine Anfrage an den primären (Leader) Knoten.
- Vorbereiten: Der primäre (Leader)-Knoten sendet die Anfrage an alle sekundären (Backup-)Knoten.
- Vorbereiten: Die Knoten (primär und sekundär) führen den angeforderten Dienst aus.
- Commit: Die Antwort wird an den Client gesendet, wenn sie gültig ist.
Wie praktische byzantinische Fehlertoleranz (pBFT) funktioniert
Zentralisierung und Dezentralisierung
Wie Sie sehen können, muss jeder Knoten (oder Teilnehmer) innerhalb des Netzwerks miteinander kommunizieren und kooperieren, um Byzantine Fault Tolerance zu erreichen. Es gibt keine vertrauenswürdige Informationsquelle, auf die sich jeder verlassen kann. Daher müssen nur dezentrale Netzwerke die byzantinische Fehlertoleranz berücksichtigen.
Andererseits gibt es bei zentralisierten Netzwerken immer einen oder mehrere Dritte, die als Vermittler zwischen den einzelnen Teilnehmern fungieren, was die Kommunikation und den Konsens erheblich erleichtert. Jeder Teilnehmer muss dem anderen nicht mehr vertrauen; sie können einfach alle Informationen an den Vermittler liefern.
Byzantinische Fehlertoleranz in Zentralisierung und Dezentralisierung
Häufig gestellte Fragen zu BFT in Krypto
Ist Proof of Stake byzantinische Fehlertoleranz?
Wie oben erwähnt, erfordert die Blockchain-Technologie Konsensalgorithmen, um die byzantinische Fehlertoleranz zu erreichen. Als einer von ihnen kann Proof of Stake genau wie Proof of Work die Anforderungen der byzantinischen Fehlertoleranz erfüllen.
Mehr erfahren: Was ist PoS? Warum ist es byzantinische Fehlertoleranz?
Ist Tendermint BFT?
Tendermint wurde erstmals 2014 eingeführt und ist die erste Anpassung des Proof-of-Stake-Konsenses, der aus dem Algorithmus von Practical Byzantine Fault Tolerant (PBFT) abgeleitet wurde. Daher wird es als BFT Proof-of-Stake-Konsensalgorithmus betrachtet.
Ist Ethereum byzantinische Fehlertoleranz?
Ethereum verwendet derzeit den Proof-of-Work-Konsensalgorithmus, ähnlich wie Bitcoin. Künftig wird Ethereum sein Netzwerk auf Proof-of-Stake umstellen.
In jedem Fall ist Ethereum immer noch in der Lage, die byzantinische Fehlertoleranz zu erfüllen.
Fazit
Byzantinische Fehlertoleranz ist die Fähigkeit, wie ein verteiltes System oder Netzwerk funktionieren und einen Konsens (neutrale Vereinbarung) erreichen kann, wenn man bedenkt, dass einige Teilnehmer möglicherweise nicht oder böswillig handeln.
Sein Name leitet sich von einem Paradox namens Problem der byzantinischen Generäle ab, während Byzantine Fault Tolerance die Lösung des Problems ist.
Kurz gesagt, das Problem der byzantinischen Generäle bezieht sich auf ein Problem, bei dem mehrere Generäle eine Festung angreifen wollen und als Gruppe entscheiden müssen, ob sie angreifen oder sich zurückziehen. Wir müssen herausfinden, wie diese Generäle unabhängig von böswilligen Handlungen oder gescheiterten Kommunikationsversuchen zu einem Konsens gelangen können.
Wenn wir das Problem der byzantinischen Generäle auf Krypto anwenden, sind die Generäle die Knoten. Alle Knoten innerhalb eines Blockchain-Netzwerks müssen miteinander kommunizieren und einen Weg finden, einen Konsens zu erreichen, was zu Methoden führt, die wir Konsensalgorithmen nennen.
Es gibt zahlreiche Möglichkeiten, byzantinische Fehlertoleranz zu erreichen. Daher gibt es auch im Blockchain-Raum verschiedene Konsensalgorithmen mit jeweils eigenen Problemlösungen für optimale Effizienz.