Byzantinische Fehlertoleranz in der Blockchain: ein genauerer Blick

Das Gebiet der Kryptowährung hat sich in den letzten Jahren enorm erweitert. Der Aufstieg neuer Projekte zeigt auch verschiedene Möglichkeiten auf, wie Entwickler bestehende Probleme in diesem Bereich angehen.

Ein häufig um sich geworfener Begriff ist der „BFT-Konsensmechanismus“. BFT steht für Byzantine Fault Tolerance und stellt ein theoretisches Problem in Computersystemen dar, das lange vor Bitcoin existierte.

Viele Blockchain-basierte Protokolle sind jedoch damit beschäftigt, die Probleme der byzantinischen Fehlertoleranz zu lösen, und im Folgenden wird die Materie und alles, was dazugehört, genauer betrachtet.

Erläuterung des Problems der byzantinischen Generäle

Das Problem der byzantinischen Generäle ist eine der am meisten diskutierten theoretischen Situationen, wenn es um die Konsensfrage geht.

Das Problem wurde erstmals 1982 in einem Artikel mit dem Titel The Byzantine Generals Problem von Leslie Lamport, Robert Shostak und Marshall Pease erkannt. Die Zeitung liest:

Ein zuverlässiges Computersystem muss in der Lage sein, den Ausfall einer oder mehrerer seiner Komponenten zu verkraften. Eine ausgefallene Komponente kann ein häufig übersehenes Verhalten aufweisen, das widersprüchliche Informationen an verschiedene Teile des Systems sendet. Das Problem der Bewältigung dieser Art von Scheitern wird abstrakt als das Problem der byzantinischen Generäle ausgedrückt.

Der Name stammt von der Analogie, die im Dokument dargestellt wird. Genauer gesagt beschreiben die Autoren eine theoretische Situation, in der mehrere Divisionen der byzantinischen Armee außerhalb einer feindlichen Stadt lagern. Jede Division wird von einem eigenen General kommandiert, die alle in verschiedenen Lagern sitzen. Kommandeure müssen einen gemeinsamen Aktionsplan entwickeln (Angriff oder Rückzug) und können nur mit Nachrichten kommunizieren. Einige der Generäle können jedoch Verräter sein und versuchen, loyale Generäle daran zu hindern, eine Einigung (Konsens) zu erzielen.

bft_img2
Quelle: Wikipedia

Daher müssen Generäle einen Weg finden, um sicherzustellen, dass:

  • Alle loyalen Generäle beschließen den gleichen Aktionsplan.
  • Eine kleine Anzahl von Verrätern kann treue Generäle nicht dazu bringen, einen schlechten Plan zu verfolgen.

Es wird angenommen, dass ein System, das in der Lage ist, das Obige zu lösen, eine byzantinische Fehlertoleranz (BFT) hat. Hier kommt der BFT-Konsensalgorithmus her.

Im Wesentlichen ist die byzantinische Fehlertoleranz eine Bedingung, die verhindert, dass das System unter unzuverlässigen (unloyalen) Teilnehmern leidet.

Löse das Problem des byzantinischen Generals

Um das Problem der byzantinischen Generäle zu lösen und Byzantine Fault Tolerance (BFT) zu erreichen, muss unter den Generälen eine mehrheitliche Einigung über ihre Strategie erzielt werden.

Dies wird je nach System und Bedarf auf unterschiedliche Weise erreicht. Im Zusammenhang mit Blockchain sind sowohl Proof-of-Work als auch Proof-of-Stake in der Lage, byzantinische Fehlertoleranz zu erreichen, aber der Ansatz ist bei beiden unterschiedlich.

Die meisten Proof-of-Stake-Blockchains können tolerieren, dass bis zu einem Drittel ihrer Nodes defekt sind, was Raum für die 3f + 1 -Regel lässt, bei der F die Anzahl der untreuen Nodes ist und die Formel die Anzahl der loyalen Nodes angibt, die das System benötigt haben.

Beispielsweise kann in einem System mit 4 Knoten nur einer von ihnen fehlerhaft sein, um die Kriterien (3f + 1) zu erfüllen.

Im Februar 1999 veröffentlichten Miguel Castro und Barbara Liskov vom Laboratory for Computer Science des Massachusetts Institute of Technology (MIT) einen Artikel, in dem sie eine Lösung des Problems durch die sogenannte Practical Byzantine Fault Tolerance vorstellten.

Wie löst Blockchain das Problem der byzantinischen Generäle?

Blockchain-basierte Technologie bietet mehrere Lösungen für das Problem der byzantinischen Generäle. Die Unterschiede ergeben sich aus dem festgelegten Konsensalgorithmus und ihrem Ansatz für BFT, aber sowohl Proof-of-Work als auch Proof-of-Stake bieten praktikable Lösungen.

bft_img1

Wie löst Bitcoin das Problem der byzantinischen Generäle?

Interessanterweise erwähnte Satoshi Nakamoto im ursprünglichen Whitepaper das Problem der byzantinischen Generäle nicht, aber mit der Einführung des Bitcoin-Netzwerks löste der pseudonyme Schöpfer es im Grunde durch den Proof-of-Work (PoW)-Konsensalgorithmus.

Um das Problem zu lösen, hat Satoshi eine Möglichkeit geschaffen, kryptografische Sicherheit und Public-Key-Kryptografie in einem digitalen Netzwerk zu verwenden. Um jegliche Datenmanipulation zu verhindern, verwendet die kryptografische Sicherheit Hashing, während die Identität eines Netzwerkbenutzers mit seinem öffentlichen Schlüssel verifiziert wird.

Transaktionen werden in Blöcken gesichert, die durch ihren Hashwert mit anderen Blöcken verknüpft und durch Verschlüsselung geschützt sind. Es ist wichtig zu beachten, dass die Blockchain einen Merkle-Baum verwendet, um die Hashes zu verifizieren, die aus dem Genesis-Block (Anfangsblock) stammen. Jeder Block, der vom Genesis-Block abgeleitet ist, ist gültig. Diese Blöcke werden von Bergleuten validiert, die kryptografische Rätsel in einem Wettbewerb lösen, um Blöcke als Teil der Konsensmethode zu produzieren.

Bitcoin hat eine klare und definitiv objektive Regelung aufgestellt, der die Blockchain folgen muss, um das Problem der byzantinischen Generäle zu überwinden. Ein Mitglied des Netzwerks muss den Abschluss der Arbeit nachweisen, um Informationen zur Blockchain hinzuzufügen (daher Arbeitsnachweis). Dies ist für das Mitglied mit hohen Kosten verbunden und macht es für sie entmutigend, falsche Informationen weiterzugeben, da diese von anderen Mitgliedern des Staates widerlegt werden.

Alle Regeln sind klar und objektiv, was bedeutet, dass Informationen nicht manipuliert werden können.

Wie löst der Proof-of-Stake das Problem der byzantinischen Generäle?

Netzwerke, die vom Proof-of-Stake-Konsensalgorithmus gesteuert werden, basieren nicht auf Mining, sondern auf Staking. Um ein Netzwerk-Validator zu werden, muss der Benutzer zuerst die Gelder im System einsetzen. Diejenigen, die einen größeren Anteil besitzen, können auch mehr Blöcke validieren und größere Belohnungen verdienen. Diejenigen, die versuchen, Informationen zu manipulieren, riskieren, den Einsatz zu verlieren.

Die Art und Weise, wie diese Systeme das Problem lösen, ist unterschiedlich. Beispielsweise verwendet Ethereum 2.0 den Casper-Algorithmus. Eine Mindestmehrheit von zwei Dritteln aller Knoten ist erforderlich, um sich auf einen bestimmten Block zu einigen, bevor er erstellt und dem Netzwerk hinzugefügt werden kann.

Je nach Bedarf des Systems und Vorgehensweise des Teams gibt es unterschiedliche Versuche, das Problem zu beheben. Mit Delegated Proof of Stake (dPoS) beispielsweise ist die Konsensfindung deutlich schneller. Andererseits implementieren einige Systeme die praktische byzantinische Fehlertoleranz.

Post Byzantine Fault Tolerance in Blockchain: A Closer Look erschien erstmals auf CryptoPotato .