Byzantinische Fehlertoleranz (BFT)
Byzantinische Fehlertoleranz (Byzantine Fault Tolerance, BFT) ist die Fähigkeit eines Systems, weiterhin zu einer korrekten Einigung zu gelangen, selbst wenn einige Teilnehmer beliebig ausfallen – etwa lügen, widersprüchliche Nachrichten senden oder aktiv zusammenarbeiten, um das Netzwerk zu stören. Der Name stammt vom „Problem der byzantinischen Generäle“, einem Gedankenexperiment aus dem Jahr 1982 über Heerführer, die einen Angriff koordinieren müssen, obwohl einige Generäle Verräter sein könnten, die widersprüchliche Befehle erteilen.
Das ist das Kernproblem, das jede Blockchain löst: Tausende Fremde müssen sich auf eine einzige Transaktionshistorie einigen, obwohl davon auszugehen ist, dass einige von ihnen böswillig sind. Klassische BFT-Protokolle, die von PBFT (Practical Byzantine Fault Tolerance) abstammen, funktionieren, indem eine bekannte Gruppe von Validatoren Abstimmungsrunden austauscht; sie können verkraften, dass bis zu ein Drittel der Validatoren fehlerhaft ist. Tendermint – die Konsens-Engine hinter den Cosmos-Chains – finalisiert einen Block zum Beispiel, sobald mehr als zwei Drittel des Stimmgewichts der Validatoren ihn signiert haben, sodass ein Block in dem Moment unumkehrbar ist, in dem er festgeschrieben wird. Ethereums Finalitätsmechanismus Casper FFG wendet dasselbe Zwei-Drittel-Prinzip an.
Ein verbreiteter Irrtum ist, dass Bitcoin ein BFT-Abstimmungsprotokoll nutzt; Bitcoin erreicht byzantinische Fehlertoleranz stattdessen probabilistisch über Proof of Work und die Regel der längsten Kette, ganz ohne dass Validatoren abstimmen – ein eigenständiger Ansatz, der oft Nakamoto-Konsens genannt wird. Der praktische Unterschied zeigt sich bei der Finalität: Chains im BFT-Stil bieten nach einem Block sofortige, absolute Finalität, während Chains im Nakamoto-Stil ein Vertrauen bieten, das mit jeder Bestätigung wächst, aber nie mathematische Gewissheit erreicht.