Kurz erklärt: Byzantine Fault Tolerance (BFT), deutsch „byzantinische Fehlertoleranz“, bezeichnet die Fähigkeit eines verteilten Systems, auch dann einen zuverlässigen gemeinsamen Zustand zu erreichen, wenn einzelne Teilnehmer ausfallen oder sich absichtlich böswillig verhalten.
Herkunft: Das Problem der byzantinischen Generäle
Der Begriff geht auf einen 1982 von Leslie Lamport, Robert Shostak und Marshall Pease veröffentlichten Aufsatz zurück, der das „Problem der byzantinischen Generäle“ beschreibt. In dieser Analogie müssen mehrere Generäle einer Armee über Boten einen gemeinsamen Angriffsplan abstimmen, obwohl einzelne von ihnen Verräter sein und widersprüchliche Nachrichten senden könnten.
Das Problem verdeutlicht die Kernfrage verteilter Systeme: Wie können ehrliche Teilnehmer eine verlässliche Übereinkunft erzielen, wenn Nachrichten verfälscht werden können und nicht klar ist, wem zu trauen ist? Ein System ist byzantinisch fehlertolerant, wenn es diese Übereinkunft trotz solcher Störungen garantiert.
Bedeutung für Blockchains
Blockchains sind verteilte Systeme ohne zentrale Kontrollinstanz und damit ein typisches Anwendungsfeld für BFT. Da Teilnehmer anonym sein und eigene Interessen verfolgen können, muss der Konsensmechanismus gegen böswilliges Verhalten abgesichert sein.
Der von Bitcoin eingeführte Proof-of-Work-Konsens löst das Problem auf ökonomischem Weg, indem Manipulation extrem teuer gemacht wird. Andere Netzwerke setzen dagegen auf klassische BFT-Algorithmen, die eine explizite Abstimmung zwischen den Teilnehmern durchführen.
BFT-Algorithmen und Grenzen
Ein bekannter Vertreter ist Practical Byzantine Fault Tolerance (PBFT), 1999 von Miguel Castro und Barbara Liskov vorgestellt. Es und seine Weiterentwicklungen kommen unter anderem bei Cosmos (Tendermint), Hyperledger Fabric und weiteren Netzwerken zum Einsatz.
- Toleranzgrenze: Klassische BFT-Verfahren funktionieren, solange weniger als ein Drittel der Teilnehmer böswillig handelt (Grenze „3f+1“).
- Schnelle Endgültigkeit: Sobald eine Übereinkunft erreicht ist, gilt ein Block als unwiderruflich bestätigt (deterministische Finalität).
- Skalierung: Da alle Teilnehmer miteinander kommunizieren, steigt der Aufwand mit der Zahl der Knoten, was die praktikable Netzwerkgröße begrenzt.
Einordnung
Byzantinische Fehlertoleranz ist ein grundlegendes Konzept der Informatik und älter als die Blockchain-Technologie selbst. Sie bildet die theoretische Grundlage dafür, warum dezentrale Netzwerke ohne zentrale Vertrauensinstanz überhaupt funktionieren können. Nahezu jeder moderne Konsensmechanismus lässt sich danach bewerten, wie gut er byzantinische Fehler verkraftet.
Häufige Fragen
Was ist Byzantine Fault Tolerance einfach erklärt?
Es ist die Eigenschaft eines verteilten Systems, sich trotz fehlerhafter oder böswilliger Teilnehmer zuverlässig auf einen gemeinsamen Zustand zu einigen, ohne dass eine zentrale Kontrollinstanz nötig ist.
Woher stammt der Begriff byzantinisch?
Er stammt aus dem 1982 von Leslie Lamport und Kollegen beschriebenen „Problem der byzantinischen Generäle“, einer Analogie über Generäle, die trotz möglicher Verräter einen gemeinsamen Plan abstimmen müssen.
Wie viele böswillige Teilnehmer verträgt ein BFT-System?
Klassische BFT-Verfahren bleiben sicher, solange weniger als ein Drittel aller Teilnehmer böswillig handelt. Diese Grenze wird oft als 3f+1-Regel bezeichnet.
Welche Blockchains nutzen BFT-Konsens?
BFT-basierte Verfahren wie Tendermint kommen unter anderem bei Cosmos, bei Hyperledger Fabric und in abgewandelter Form bei mehreren Proof-of-Stake-Netzwerken zum Einsatz.
Ist Bitcoin byzantinisch fehlertolerant?
Ja, allerdings auf anderem Weg. Bitcoins Proof-of-Work-Konsens erreicht Fehlertoleranz nicht durch Abstimmung, sondern indem Manipulationsversuche ökonomisch extrem teuer werden.
Zusammenfassung
Byzantine Fault Tolerance beschreibt die Fähigkeit verteilter Systeme, trotz ausfallender oder böswilliger Teilnehmer einen gemeinsamen Zustand zu erreichen. Das Konzept geht auf das 1982 beschriebene Problem der byzantinischen Generäle zurück und bildet die theoretische Grundlage für dezentrale Blockchains. Algorithmen wie PBFT und Tendermint setzen es praktisch um.
Weiterführende Quellen
- Wikipedia – Byzantinischer Fehler: de.wikipedia.org
- Lamport, Shostak, Pease: The Byzantine Generals Problem (1982): lamport.azurewebsites.net