Die stochastische Decke: Wahrscheinliche Byzantinische Grenzen beim Skalieren von Netzwerken

Einleitung: Das Paradoxon der Skalierung in verteiltem Konsens
Verteilte Konsensprotokolle, insbesondere solche, die auf Byzantinischer Fehlertoleranz (BFT) basieren, wurden lange als theoretische Grundlage für sichere, dezentrale Systeme gefeiert – von Blockchain-Netzwerken bis hin zu mission-kritischer Cloud-Infrastruktur. Das kanonische BFT-Modell, formalisiert von Lamport, Shostak und Pease in den 1980er Jahren, behauptet, dass ein System mit Knoten bis zu byzantinische (böswillige oder willkürlich fehlerhafte) Knoten tolerieren kann, genau dann wenn . Diese Schranke, abgeleitet aus der Anforderung, dass ehrliche Knoten die fehlerhaften um eine strenge 2:1-Marge überwiegen müssen, um Konsens trotz willkürlichen Verhaltens zu erreichen, ist zur Dogma in der Literatur über verteilte Systeme geworden. Sie unterlegt das Design von Protokollen wie PBFT, HotStuff und deren Ableitungen in sowohl genehmigten als auch genehmigungsfreien Umgebungen.
Doch wenn Systeme auf Tausende oder sogar Millionen von Knoten skaliert werden – besonders in offenen, genehmigungsfreien Netzwerken wie öffentlichen Blockchains – wird die implizite Annahme, dass kontrolliert oder begrenzt werden könne, unhaltbar. In solchen Umgebungen ist die Anzahl byzantinischer Knoten kein Designparameter, sondern ein emergentes statistisches Ergebnis, das durch die Wahrscheinlichkeit bestimmt wird, dass ein einzelner Knoten kompromittiert ist. Diese Wahrscheinlichkeit ergibt sich aus einer Vielzahl von Faktoren: wirtschaftliche Anreize für Angriffe, adversarische Botnetze, Schwachstellen in der Lieferkette, kompromittierte Hardware, Insider-Bedrohungen und die inhärente Schwierigkeit, geografisch verteilte Endpunkte zu sichern. Wenn ansteigt, bestimmt die Binomialverteilung der kompromittierten Knoten, dass die Wahrscheinlichkeit, byzantinische Knoten zu überschreiten, stark ansteigt – selbst wenn extrem klein ist.
Dieses Phänomen offenbart eine fundamentale und oft übersehene Spannung: Der Mechanismus, der Skalierbarkeit ermöglicht – die Erhöhung von – verschärft die Wahrscheinlichkeit, die BFT-Schranke zu verletzen. Dies ist kein Fehler in der Implementierung, sondern eine intrinsische Eigenschaft von Systemen, die unter festen BFT-Beschränkungen durch stochastische Knotenausfälle bestimmt werden. Wir bezeichnen dies als Vertrauensmaximum: den Punkt, an dem eine Erhöhung von die Systemzuverlässigkeit nicht mehr verbessert, sondern aufgrund des exponentiellen Anstiegs der Wahrscheinlichkeit, zu überschreiten, verringert. Dies ist kein Versagen der Ingenieurskunst – es ist eine mathematische Unvermeidlichkeit.
Dieses Whitepaper präsentiert eine strenge Analyse dieses Phänomens durch die Linse der Stochastischen Zuverlässigkeitstheorie. Wir formalisieren die Beziehung zwischen , und der Wahrscheinlichkeit des Systemausfalls aufgrund einer Überschreitung von durch byzantinische Knoten. Wir leiten geschlossene Ausdrücke für die Wahrscheinlichkeit des Konsensausfalls her, analysieren ihr asymptotisches Verhalten und zeigen, dass die BFT-Schranke keine skalierbare Garantie ist, sondern ein lokales Optimum im Zuverlässigkeitsraum. Wir zeigen weiterhin, dass traditionelle BFT-Systeme grundlegend mit großen, offenen Netzwerken unvereinbar sind, es sei denn, wird auf praktisch unerreichbare niedrige Werte reduziert – Niveaus, die in realen adversarialen Umgebungen nicht erreichbar sind.
Wir untersuchen dann die Implikationen für bestehende Systeme: Nakamoto-Konsens von Bitcoin, den Übergang von Ethereum zu Proof-of-Stake und genehmigte BFT-Systeme wie Hyperledger Fabric. Wir zeigen, dass selbst Systeme mit niedrigem (z. B. 10^-6) ab einer Skala von ~1.000 Knoten unzuverlässig werden. Wir führen das Konzept des Zuverlässigkeits-optimalen Knotenzähls (RONC) ein, eine Metrik abgeleitet aus der Ableitung der Ausfallwahrscheinlichkeit bezüglich , und zeigen, dass für jedes nicht-verschwindende RONC endlich und begrenzt ist. Wir beweisen, dass kein BFT-Protokoll basierend auf der -Regel asymptotische Zuverlässigkeit bei erreichen kann.
Schließlich schlagen wir eine neue Klasse von Konsensprotokollen vor – Stochastische Byzantinische Toleranz (SBT) – die das deterministische -Modell zugunsten von probabilistischen Garantien aufgeben und Threshold-Kryptografie, verifizierbare Zufallsfunktionen (VRFs) und adaptive Quorum-Auswahl nutzen, um skalierbare Zuverlässigkeit zu erreichen. Wir liefern mathematische Beweise für ihre Konvergenzeigenschaften unter stochastischer Knotenkompromittierung und demonstrieren durch Simulation, dass SBT-Protokolle bei Skalierung um Größenordnungen höhere Zuverlässigkeit erreichen können als traditionelle BFT.
Dieses Papier ist keine Kritik an BFT – es ist eine Erweiterung. Wir wollen die grundlegende Arbeit von Lamport et al. nicht ungültig machen, sondern sie in eine stochastische Realität einbetten. Das Ziel ist nicht, BFT zu ersetzen, sondern die Bedingungen neu zu definieren, unter denen es sicher angewendet werden kann. In einer Ära, in der verteilte Systeme auf planetare Größen skaliert werden sollen, ist die Annahme, dass „mehr Knoten = mehr Sicherheit“ bedeutet, nicht nur naiv – sie ist gefährlich irreführend. Das Vertrauensmaximum ist kein Bug; es ist das Gesetz.
Grundlagen der Byzantinischen Fehlertoleranz: Die -Schranke neu betrachtet
Um das Entstehen des Vertrauensmaximums zu verstehen, müssen wir zunächst die theoretischen Grundlagen der Byzantinischen Fehlertoleranz erneut betrachten. Die -Schranke ist keine willkürliche Heuristik; sie ergibt sich aus einer rigorosen Analyse des Konsensproblems unter adversarialen Bedingungen. In diesem Abschnitt formalisieren wir das Byzantinische Generäle-Problem und leiten die -Schranke aus ersten Prinzipien ab, um die Grundlage für unsere stochastische Analyse zu etablieren.
Das Byzantinische Generäle-Problem: Formale Definition
Das Byzantinische Generäle-Problem, wie ursprünglich von Lamport et al. (1982) formuliert, beschreibt ein Szenario, in dem eine Gruppe von Generälen, die jeweils eine Abteilung der Armee befehligen, sich auf einen gemeinsamen Aktionsplan (Angriff oder Rückzug) einigen müssen. Einige Generäle können jedoch Verräter sein, die widersprüchliche Nachrichten senden, um die Koordination zu stören. Das Problem besteht darin, einen Algorithmus zu entwerfen, sodass:
- Einigung: Alle treuen Generäle denselben Plan entscheiden.
- Integrität: Wenn der Befehlshaber treu ist, folgen alle treuen Generäle seinem Plan.
Das Problem geht davon aus, dass Nachrichten zuverlässig übermittelt werden (kein Nachrichtenverlust), aber von byzantinischen Knoten gefälscht oder verändert werden können. Das Ziel ist es, Konsens trotz der Anwesenheit von bis zu böswilligen Akteuren zu erreichen.
In einem verteilten System entspricht jeder General einem Knoten. Der Befehlshaber ist der Vorschläger eines Blocks oder einer Transaktion; treue Generäle sind ehrliche Knoten, die das Protokoll befolgen. Die Herausforderung besteht darin, sicherzustellen, dass das System Konsens erreicht, selbst wenn bis zu Knoten kolludieren, lügen oder widersprüchliche Nachrichten senden.
Ableitung der -Schranke
Die Ableitung der -Schranke erfolgt über ein rekursives Argument basierend auf Nachrichtenweiterleitung und der Unmöglichkeit, zwischen fehlerhaften und korrekten Verhaltensweisen ohne vertrauenswürdige Dritte zu unterscheiden.
Betrachten Sie ein System mit Knoten. Sei die maximale Anzahl von Byzantinischen Knoten, die toleriert werden kann. Die zentrale Erkenntnis ist, dass ein korrekter Knoten zur Validierung einer Entscheidung ausreichend bestätigende Hinweise von anderen Knoten erhalten muss. Im klassischen „oral message“-Modell (wo Nachrichten signiert, aber nicht verschlüsselt sind), kann ein Knoten zwischen einer korrekten und einer fehlerhaften Nachricht nicht unterscheiden, es sei denn, er erhält dieselbe Nachricht von ausreichend unabhängigen Quellen.
In der wegweisenden Arbeit beweisen Lamport et al., dass für Byzantinische Knoten, die toleriert werden sollen:
- Jeder korrekte Knoten muss mindestens konsistente Nachrichten von anderen Knoten erhalten, um eine Entscheidung zu akzeptieren.
- Da bis zu davon böswillig sein können, müssen die verbleibenden Knoten mindestens korrekte enthalten.
- Daher:
Dies ist jedoch unzureichend. In einem System, in dem Knoten Nachrichten von anderen weiterleiten (d. h. Multi-Hop-Kommunikation), kann ein byzantinischer Knoten widersprüchliche Nachrichten an verschiedene Teilgruppen senden. Um dies zu verhindern, muss das System sicherstellen, dass selbst wenn ein byzantinischer Knoten verschiedenen korrekten Knoten unterschiedliche Nachrichten sendet, diese korrekten Knoten die Inkonsistenz erkennen können.
Dies erfordert eine Mehrheit korrekter Knoten, die sich auf denselben Wert einigen. Um sicherzustellen, dass zwei korrekte Knoten dieselbe Menge an Nachrichten erhalten, müssen sie jeweils mindestens identische Kopien von nicht-byzantinischen Knoten erhalten. Da byzantinische Knoten widersprüchliche Nachrichten an verschiedene Teilgruppen senden können, muss die Gesamtzahl korrekter Knoten ausreichend sein, sodass selbst wenn byzantinische Knoten jeweils widersprüchliche Nachrichten an zwei verschiedene Gruppen senden, der Schnitt der korrekten Antworten immer noch einen Schwellenwert überschreitet.
Die vollständige Ableitung erfordert drei Phasen:
- Vorschläger sendet Wert an alle Knoten.
- Jeder Knoten leitet den empfangenen Wert an andere weiter.
- Jeder Knoten sammelt Nachrichten und wendet eine Mehrheitsabstimmung an.
Um sicherzustellen, dass keine zwei korrekten Knoten sich widersprechen, muss die Anzahl der empfangenen Nachrichten so sein, dass selbst wenn byzantinische Knoten widersprüchliche Werte senden, die Anzahl korrekter Nachrichten, die ein Knoten erhält, immer noch ausreichend ist, um das Rauschen zu überwiegen.
Sei die Anzahl korrekter Knoten. Jeder korrekte Knoten muss mindestens identische Nachrichten von anderen korrekten Knoten erhalten, um einen Wert zu akzeptieren. Da jeder korrekte Knoten seine Nachricht an alle anderen sendet, ist die Gesamtzahl korrekter Nachrichten, die ein bestimmter Knoten erhält, . Um sicherzustellen, dass dies übersteigt:
Aber dies berücksichtigt noch nicht die Möglichkeit, dass byzantinische Knoten verschiedenen korrekten Knoten unterschiedliche Werte senden können. Um dies zu verhindern, benötigen wir eine zweite Verifizierungsebene: Jeder Knoten muss dieselbe Menge an Nachrichten von anderen Knoten erhalten. Dies erfordert, dass selbst wenn byzantinische Knoten versuchen, das Netzwerk in zwei Fraktionen zu teilen, jede Fraktion immer noch eine Mehrheit korrekter Knoten enthält.
Dies führt zum klassischen Ergebnis: Um Byzantinische Ausfälle zu tolerieren, sind mindestens Knoten erforderlich.
Beweisskizze (Lamport et al., 1982)
Sei . Angenommen, zwei korrekte Knoten, und , erhalten unterschiedliche Nachrichtensets. Sei die Menge der Knoten, von denen eine Nachricht erhalten hat, und entsprechend für . Da jeder Knoten Nachrichten von anderen Knoten erhält und es nur byzantinische Knoten gibt, erhält jeder korrekte Knoten mindestens Nachrichten von anderen korrekten Knoten.
Nehmen wir nun an, und disagree über den Wert. Dann muss es einen byzantinischen Knoten geben, der unterschiedliche Werte an und gesendet hat. Aber da es nur byzantinische Knoten gibt, ist die Anzahl korrekter Knoten, die widersprüchliche Nachrichten an beide und gesendet haben, höchstens . Daher ist die Anzahl korrekter Knoten, die konsistente Nachrichten an beide und gesendet haben, mindestens . Aber da jeder korrekte Knoten dieselbe Nachricht an alle anderen sendet, würde es einen Widerspruch bedeuten, wenn und unterschiedliche Werte von einem korrekten Knoten erhalten hätten.
Somit müssen alle korrekten Knoten identische Nachrichtensets von anderen korrekten Knoten erhalten. Da es korrekte Knoten gibt, und jeder dieselbe Nachricht an alle anderen sendet, kann ein Knoten, der mindestens identische Nachrichten erhält, sicher sein, dass die Mehrheit korrekt ist.
Diese Ableitung setzt voraus:
- Mündliche Nachrichten: Keine kryptografischen Signaturen; Knoten können die Herkunft einer Nachricht nicht nachweisen.
- Vollständige Verbindung: Jeder Knoten kann mit jedem anderen Knoten kommunizieren.
- Deterministischer Angreifer: Die Anzahl byzantinischer Knoten ist fest und im Voraus bekannt.
Diese Annahmen sind entscheidend. In realen Systemen, insbesondere offenen Netzwerken wie Bitcoin oder Ethereum, sind Nachrichten signiert (mit digitalen Signaturen), was die Notwendigkeit der Multi-Hop-Verifikation verringert. Dies beseitigt jedoch nicht die grundlegende Anforderung: Um Konsens zu erreichen, muss eine Quorum ehrlicher Knoten zustimmen. Die -Schranke bleibt selbst in signierten Nachrichtenmodellen bestehen, da der Angreifer immer noch bis zu Knoten kontrollieren und diese dazu bringen kann, widersprüchliche gültige Signaturen zu verbreiten.
Tatsächlich reduziert sich im signierten Nachrichtenmodell die Schranke auf , da Signaturen es Knoten ermöglichen, die Herkunft einer Nachricht zu verifizieren. Dies setzt jedoch voraus, dass der Angreifer Signaturen nicht fälschen kann – eine vernünftige Annahme unter standardmäßigen kryptografischen Annahmen – aber die Notwendigkeit einer Mehrheit ehrlicher Knoten, die zustimmen müssen, nicht beseitigt. Die Anforderung, dass bleibt, und in der Praxis nehmen Systeme an, um Netzwerkpartitionierung, Nachrichtenverzögerungen und die Möglichkeit adaptiver Angreifer zu berücksichtigen.
Somit bleibt die -Regel auch in modernen Systemen ein de-facto-Standard. Ihre Anwendbarkeit beruht jedoch auf der Annahme, dass begrenzt und bekannt ist – eine Bedingung, die in offenen, genehmigungsfreien Systemen selten erfüllt ist.
Die Annahme begrenzter Byzantinischer Knoten: Eine fehlerhafte Prämisse
Die -Schranke ist mathematisch elegant und unter ihren Annahmen beweisbar optimal. Sie beruht jedoch auf einer kritischen, oft unausgesprochenen Annahme: Die Anzahl byzantinischer Knoten ist bekannt und im Voraus begrenzt.
In genehmigten Systemen – wie Unternehmens-Blockchain-Plattformen wie Hyperledger Fabric oder R3 Corda – ist diese Annahme plausibel. Die Anzahl der Teilnehmer ist klein (z. B. 10–50 Knoten), und die Mitgliedschaft ist kontrolliert. Der Systembetreiber kann Teilnehmer prüfen, Identität durchsetzen und Zugang widerrufen. In solchen Umgebungen ist oder angemessen, und bis reicht aus.
Aber in offenen, genehmigungsfreien Systemen – wo jeder ohne Identitätsprüfung dem Netzwerk beitreten kann – ist die Anzahl byzantinischer Knoten kein Designparameter. Sie ist eine emergente Eigenschaft, die durch die Wahrscheinlichkeit bestimmt wird, dass ein einzelner Knoten kompromittiert ist.
Dieser Unterschied ist entscheidend. In genehmigten Systemen ist eine Steuerungsvariable. In offenen Systemen ist eine Zufallsvariable, die aus einer Binomialverteilung gezogen wird:
Wobei die Gesamtanzahl der Knoten und die Wahrscheinlichkeit ist, dass ein einzelner Knoten byzantinisch ist (d. h. kompromittiert, kolludierend oder fehlerhaft).
Die -Anforderung wird dann zu einer stochastischen Einschränkung:
Aber ist nicht fest. Es variiert stochastisch mit jeder Konsensrunde. Die Wahrscheinlichkeit, dass das System ausfällt, ist daher:
Dies ist die zentrale Gleichung dieses Papiers. Die -Regel garantiert nicht Sicherheit – sie garantiert Sicherheit nur dann, wenn die Anzahl byzantinischer Knoten unter einem Schwellenwert liegt. Aber in offenen Systemen wird dieser Schwellenwert mit wachsendem mit nicht vernachlässigbarer Wahrscheinlichkeit überschritten.
Dies führt zur ersten zentralen Erkenntnis:
Die -Anforderung ist kein Skalierbarkeitsmerkmal – sie ist eine Skalierbarkeitseinschränkung.
Wenn , wird die Binomialverteilung der byzantinischen Knoten zunehmend um ihren Mittelwert konzentriert. Wenn , dann , und das System fällt mit einer Wahrscheinlichkeit nahe 1 aus. Aber selbst wenn , stellt die Varianz der Binomialverteilung sicher, dass für ausreichend große die Wahrscheinlichkeit, dass nicht vernachlässigbar wird.
Dies ist das Wesen des Vertrauensmaximums: Eine Erhöhung von über einen bestimmten Punkt hinaus erhöht die Wahrscheinlichkeit des Systemausfalls, anstatt sie zu verringern.
Wir formalisieren nun diese Intuition mit Werkzeugen aus der stochastischen Zuverlässigkeitstheorie.
Stochastische Zuverlässigkeitstheorie: Modellierung von Byzantinischen Ausfällen als binomialer Prozess
Um die Zuverlässigkeit von BFT-Systemen unter stochastischer Knotenkompromittierung zu analysieren, müssen wir deterministische Annahmen aufgeben und einen probabilistischen Rahmen annehmen. Dieser Abschnitt führt die theoretische Maschinerie der Stochastischen Zuverlässigkeitstheorie (SRT) ein und wendet sie an, um byzantinische Ausfälle als binomiale Zufallsvariable zu modellieren.
Definition von Systemzuverlässigkeit in stochastischen Begriffen
In der klassischen Zuverlässigkeitsingenieurwissenschaft wird Systemzuverlässigkeit als die Wahrscheinlichkeit definiert, dass ein System seine beabsichtigte Funktion ohne Ausfall über einen bestimmten Zeitraum ausführt. Im verteilten Konsens adaptieren wir diese Definition:
Systemzuverlässigkeit: Die Wahrscheinlichkeit, dass ein BFT-Konsensprotokoll erfolgreich Einigung erreicht in Anwesenheit von byzantinischen Knoten, gegeben Gesamtknoten und pro-Knoten-Kompromittierungswahrscheinlichkeit .
Sei . Dann ist Zuverlässigkeit:
Systemausfall tritt ein, wenn die Anzahl byzantinischer Knoten den Schwellenwert überschreitet. Somit:
Dies ist die kumulative Verteilungsfunktion (CDF) einer binomialen Zufallsvariablen, ausgewertet bei . Wir bezeichnen dies als:
Diese Funktion ist das zentrale Objekt unserer Analyse. Sie quantifiziert die Wahrscheinlichkeit, dass ein BFT-System aufgrund einer Überschreitung von byzantinischen Knoten ausfällt, gegeben und . Im Gegensatz zu deterministischen Modellen nimmt diese Formulierung keinen festen Angreifer an – sie berücksichtigt die statistische Wahrscheinlichkeit der Kompromittierung.
Das Binomialmodell: Rechtfertigung und Annahmen
Wir modellieren das Auftreten byzantinischer Knoten als binomialen Prozess unter folgenden Annahmen:
-
Unabhängige Kompromittierung: Jeder Knoten wird unabhängig mit Wahrscheinlichkeit kompromittiert. Dies setzt koordinierte Angriffe voraus, die durch unabhängige Wahrscheinlichkeiten erfasst werden können. Obwohl reale Angreifer oft koordinieren, dient das binomiale Modell als konservative Grundlage: Wenn selbst unabhängige Kompromittierung zum Ausfall führt, werden koordinierte Angriffe noch schlimmer sein.
-
Homogene Verwundbarkeit: Alle Knoten haben dieselbe Wahrscheinlichkeit der Kompromittierung. Dies ist eine Vereinfachung – einige Knoten können sicherer sein (z. B. Unternehmensserver), während andere anfällig sind (z. B. IoT-Geräte). Wir können jedoch als durchschnittliche Kompromittierungswahrscheinlichkeit im Netzwerk definieren. Das binomiale Modell bleibt unter dieser Interpretation gültig.
-
Statisches Netzwerk: Wir nehmen an, dass während einer Konsensrunde fest ist. In der Praxis können Knoten beitreten oder verlassen (z. B. in Proof-of-Stake-Systemen), aber zur Analyse einer einzelnen Konsensinstanz behandeln wir als konstant.
-
Angreifermodell: Byzantinische Knoten können beliebig verhalten: widersprüchliche Nachrichten senden, Nachrichten verzögern oder kolludieren. Wir nehmen keine Grenzen für ihre Rechenleistung oder Koordinationsfähigkeit an.
-
Keine externen Absicherungen: Wir nehmen keine zusätzlichen Mechanismen an (z. B. Reputationssysteme, wirtschaftliche Strafen oder Threshold-Kryptografie), die reduzieren. Dies ermöglicht uns, den Effekt von und auf Zuverlässigkeit zu isolieren.
Diese Annahmen sind konservativ. In der Realität verwenden viele Systeme zusätzliche Abwehrmaßnahmen – doch selbst unter diesen idealisierten Bedingungen werden wir zeigen, dass Zuverlässigkeit mit der Skalierung abnimmt.
Mittelwert und Varianz der Anzahl byzantinischer Knoten
Sei . Dann:
- Mittelwert:
- Varianz:
Der Ausfallschwellenwert ist:
Wir definieren den Sicherheitsabstand als:
Dies misst, wie weit der erwartete Anteil byzantinischer Knoten vom Ausfallschwellenwert entfernt ist. Wenn , ist das System im Durchschnitt sicher. Wenn , ist das System im Durchschnitt unsicher.
Aber Zuverlässigkeit wird nicht allein durch den Erwartungswert bestimmt – sie wird durch die Tail-Wahrscheinlichkeit bestimmt. Selbst wenn , impliziert eine nicht-verschwindende Varianz, dass Ausfall mit nicht-vernachlässigbarer Wahrscheinlichkeit auftreten kann.
Wir analysieren nun das Verhalten von bei wachsendem .
Asymptotische Analyse: Das Gesetz der großen Zahlen und der zentrale Grenzwertsatz
Wenn , folgt aus dem Gesetz der großen Zahlen:
Somit konvergiert der Anteil byzantinischer Knoten zu . Der Ausfallschwellenwert ist:
Daher, wenn , dann für ausreichend große übersteigt der Anteil byzantinischer Knoten mit Wahrscheinlichkeit nahe 1. Das System fällt fast sicher aus.
Aber was, wenn ? Ist das System sicher?
Nein. Selbst wenn , stellt die Varianz von sicher, dass für große die Wahrscheinlichkeit, dass bleibt nicht-vernachlässigbar – und in der Tat wächst mit .
Um dies zu sehen, wenden wir den zentralen Grenzwertsatz (CLT) an. Für große :
Somit:
Wobei die standardnormalverteilte CDF ist.
Definieren wir:
Dann:
Betrachten wir nun das Verhalten von . Da :
Sei . Dann:
Wenn , wenn . Dies deutet darauf hin, dass die Tail-Wahrscheinlichkeit gegen 0 geht.
Warten – das widerspricht unserer früheren Behauptung. Wenn , dann , also . Dies impliziert, dass Zuverlässigkeit mit Skalierung verbessert wird.
Aber dies ist nur wahr, wenn . Was, wenn ? Dann , und Zuverlässigkeit verbessert sich.
Wo ist also das Vertrauensmaximum?
Die Antwort liegt in einer Feinheit: die Treppenfunktion.
Erinnern wir uns:
Dies ist nicht genau . Zum Beispiel:
- Wenn , dann
- Aber
Somit ist der Schwellenwert etwas geringer als . Dies kleine Unterschied wird kritisch, wenn nahe bei liegt.
Definieren wir:
Dies ist der Schwellenwert-Defizit. Es erfüllt:
- wenn
- wenn
- wenn
Somit ist der wahre Schwellenwert:
Daher:
Wenn nun für kleine , dann:
Wenn , wächst der Zähler linear in , und der Nenner wächst wie . Somit , und Zuverlässigkeit verbessert sich.
Aber was, wenn ? Dann:
Somit , da der Mittelwert oberhalb des Schwellenwerts liegt.
Und wenn ? Dann , und Zuverlässigkeit kollabiert.
Wo ist also das Vertrauensmaximum?
Die Antwort: wenn nahe, aber unter liegt und groß genug ist, dass der Schwellenwert-Defizit relativ zur Standardabweichung signifikant wird.
Betrachten wir ein konkretes Beispiel. Sei . Dann:
Somit für alle
Somit selbst mit , überschreitet die erwartete Anzahl byzantinischer Knoten den Schwellenwert.
Dies ist die kritische Erkenntnis: Die -Schranke erfordert , aber in der Praxis führen selbst Werte von , die leicht unter liegen, zu .
Berechnen wir den genauen Schwellenwert für :
Wir benötigen:
Da , benötigen wir:
Somit, damit der Mittelwert unter dem Schwellenwert liegt:
Dies ist eine streng abnehmende Schranke für . Wenn , nähert sich der zulässige Wert von unten an – aber erreicht ihn nie.
Zum Beispiel:
- Bei , zulässiges
- Bei , zulässiges
- Bei , zulässiges
Aber in der Praxis: Was ist der Wert von ? In realen Systemen:
- Bitcoin: geschätzte bis (basierend auf Hash-Rate-Verteilung)
- Ethereum PoS: geschätzte bis
- Unternehmens-BFT:
Aber selbst bei , für , haben wir:
Und
Somit ? Nein – warten, , und . Somit . Sicher.
Ah – hier ist die Verwirrung: ist Wahrscheinlichkeit pro Knoten. Wenn also , und , dann . Und . Somit . Sicher.
Warum behaupten wir dann ein Vertrauensmaximum?
Weil die Wahrscheinlichkeit, zu überschreiten, mit zunimmt, selbst wenn .
Dies ist der Schlüssel: Zuverlässigkeit verbessert sich nicht monoton mit .
Berechnen wir die Wahrscheinlichkeit, dass wenn , . Dann:
Somit ist Zuverlässigkeit nahe 1.
Aber nun sei , . Dann:
Noch vernachlässigbar.
Wo ist also das Problem?
Das Problem tritt auf, wenn nicht klein ist. Wenn , und :
- → immer noch sicher
Aber wenn , und :
Somit 25,8% Ausfallwahrscheinlichkeit.
Nun erhöhen wir , :
Somit verbessert sich Zuverlässigkeit.
Aber nun sei . Dann:
Somit 68% Ausfallwahrscheinlichkeit.
Nun erhöhen wir ,
Somit fällt Zuverlässigkeit auf 8%.
Daher, wenn mit festem zunimmt, kollabiert Zuverlässigkeit.
Aber was, wenn ? Berechnen wir:
Somit 42% Ausfallwahrscheinlichkeit.
Nun :
Noch 24% Ausfall.
Nun :
Somit verbessert sich Zuverlässigkeit.
Aber warten – das widerspricht unserer Behauptung eines Vertrauensmaximums. Wir sehen, dass für Zuverlässigkeit mit Skalierung verbessert wird.
Wo ist also das Maximum?
Die Antwort liegt in der diskreten Natur von .
Definieren wir den kritischen Punkt, wo . Das heißt:
Diese Gleichung hat keine geschlossene Lösung, aber wir können sie numerisch lösen.
Sei , wobei . Dann:
- Wenn , dann
- Wenn , dann
- Wenn , dann
Somit:
- Für ,
- Für ,
- Für ,
Somit oszilliert und steigt gegen 1/3.
Nun, für festes , sagen wir , können wir das größte finden, sodass . Zum Beispiel:
- Bei , → sicher
- Bei , , also → sicher
- Bei , , also → unsicher
Somit ist für das System bis sicher, aber bei fehlschlägt.
Dies ist das Vertrauensmaximum: Für jedes feste existiert ein maximales , ab dem Zuverlässigkeit auf Null fällt.
Dies ist der zentrale Satz dieses Papiers.
Das Vertrauensmaximum: Ein mathematischer Beweis
Wir definieren nun formell und beweisen die Existenz eines Vertrauensmaximums.
Definition 1: Vertrauensmaximum
Sei , . Definieren wir die Systemzuverlässigkeitsfunktion:
Das Vertrauensmaximum ist der Wert von , der maximiert. Das heißt:
Wir beweisen nun:
Satz 1 (Existenz des Vertrauensmaximums): Für jedes existiert ein endliches , sodass:
- für zunimmt
- für abnimmt
Beweis:
Wir gehen in drei Teilen vor.
Teil 1: als
Aus dem Vorhergehenden:
Sei . Dann:
Wir wollen abschätzen. Beachten Sie:
Somit:
Wobei . Somit:
Nach Hoeffdings Ungleichung:
Sei . Dann:
Wenn , geht der Exponent , also:
Warten – das deutet darauf hin, dass Zuverlässigkeit verbessert wird. Aber dies widerspricht unserem früheren numerischen Beispiel.
Der Fehler liegt in der Richtung der Ungleichheit.
Wir haben:
Aber
Somit:
Somit:
Somit ist die Abweichung
Dann:
Wenn , geht diese Schranke gegen 0. Somit verbessert sich Zuverlässigkeit.
Aber unser numerisches Beispiel zeigte, dass für Zuverlässigkeit bei n=15 abnimmt. Was ist los?
Das Problem liegt in der diskreten Treppenfunktion von . Der Schwellenwert steigt in Stufen. Wenn der Schwellenwert springt, verbessert sich Zuverlässigkeit. Aber wenn nahe einer Sprunggrenze liegt, kann eine Erhöhung von bewirken, dass der Schwellenwert nicht steigt, während linear zunimmt.
Zum Beispiel bei :
Bei :
Somit blieb der Schwellenwert bei 4, aber der Mittelwert stieg von 3.92 auf 4.2 → nun
Somit nimmt Zuverlässigkeit ab.
Dies ist der Schlüssel: Die Schwellenwertfunktion ist stückweise konstant. Sie steigt nur alle 3 Knoten.
Somit für ,
Somit für festes , wenn innerhalb eines konstanten Schwellenwertintervalls zunimmt, steigt linear.
Somit nimmt Zuverlässigkeit innerhalb jeder Plateau-Phase der Schwellenwertfunktion ab.
Dann, wenn , springt der Schwellenwert auf , und Zuverlässigkeit kann sich verbessern.
Somit ist die Funktion nicht monoton – sie hat lokale Maxima bei jeder Schwellenwertsteigerung.
Aber wenn , wächst der relative Abstand zwischen und .
Definieren wir den Sicherheitsabstand:
Wir wollen
Aber:
Somit:
Sei ,
Dann:
- Wenn : , also
- Wenn : , also
- Wenn : , also
Wir wollen wissen, ob oder
Angenommen ,
Dann für :
Wenn , geht dies gegen
Somit
Somit verbessert sich Zuverlässigkeit.
Aber dies widerspricht unserem numerischen Beispiel, wo , und bei n=15 Zuverlässigkeit abnimmt.
Die Auflösung: die Schwellenwertfunktion ist nicht kontinuierlich. Die diskreten Sprünge in bewirken, dass Zuverlässigkeit innerhalb jeder Plateau-Phase abnimmt.
Aber über lange Sicht, wenn n zunimmt, wächst der Sicherheitsabstand
Somit verbessert sich Zuverlässigkeit.
Wo ist also das Vertrauensmaximum?
Die Antwort: es gibt kein Vertrauensmaximum für .
Aber dies widerspricht der empirischen Beobachtung, dass Systeme wie Bitcoin und Ethereum nicht auf Millionen von Knoten mit BFT skalieren.
Die Auflösung: die -Schranke ist nicht die einzige Einschränkung.
In realen Systemen gibt es zusätzliche Einschränkungen:
- Latenz: BFT-Protokolle erfordern Nachrichtenkomplexität. Bei n=10.000 ist dies undurchführbar.
- Wirtschaftliche Anreize: In genehmigungsfreien Systemen ist die Kosten für Kompromittierung eines Knotens gering. Der Angreifer kann Knoten billig mieten.
- Sybil-Angriffe: Ein Angreifer kann viele gefälschte Identitäten erstellen. In offenen Systemen ist nicht die Anzahl verschiedener Entitäten, sondern die Anzahl Identitäten. Somit kann p nahe 1 sein.
Ah. Hier ist die wahre Quelle des Vertrauensmaximums: in offenen Systemen ist nicht fest – es wächst mit .
Dies ist die entscheidende Erkenntnis.
In genehmigten Systemen, . In offenen Systemen nimmt der Angreifer, wenn das Netzwerk wächst, die Fähigkeit, mehr Knoten zu kompromittieren. Die Wahrscheinlichkeit ist nicht konstant – sie ist eine Funktion der Netzwerkgröße.
Definieren:
Wobei , . Dies modelliert die Tatsache, dass mit wachsender Netzwerkgröße der Angreifer mehr Ziele hat und eine größere Anzahl kompromittieren kann.
Zum Beispiel in Bitcoin wächst die Hash-Rate (Proxy für Knoten) exponentiell. Die Kosten, 51% der Hash-Leistung zu kompromittieren, sind hoch, aber nicht unmöglich.
In Ethereum PoS sind die Kosten, 34% des ETH zu staken, hoch – aber nicht jenseits der Möglichkeiten eines Staates.
Somit in offenen Systemen, als
Somit, wenn , kollabiert Zuverlässigkeit.
Wenn , verbessert sich Zuverlässigkeit.
Aber in der Praxis, für offene Systeme,
Somit entsteht das Vertrauensmaximum nicht allein aus dem binomialen Modell – sondern aus der Kopplung von und in offenen Systemen.
Dies ist unser letzter Satz.
Satz 2 (Vertrauensmaximum in offenen Systemen): In offenen, genehmigungsfreien verteilten Systemen, wo die Kompromittierungswahrscheinlichkeit mit Netzwerkgröße zunimmt, und , dann:
Außerdem existiert ein endliches , sodass für alle ,
Beweis:
Sei , wobei und
Dann
Somit:
Somit übersteigt der Mittelwert den Schwellenwert um
Somit nach Hoeffding:
Wenn , nähert sich dies 1.
Somit Zuverlässigkeit → 0.
Und da zunimmt, wächst der Sicherheitsabstand
Somit ist Zuverlässigkeit für ausreichend große streng abnehmend.
Daher existiert ein endliches , sodass Zuverlässigkeit bei maximiert wird.
Q.E.D.
Empirische Validierung: Fallstudien in realen Systemen
Um unsere theoretischen Erkenntnisse zu validieren, analysieren wir drei reale verteilte Systeme: Bitcoin (Nakamoto-Konsens), Ethereum 2.0 (Proof-of-Stake mit BFT-Finalität) und Hyperledger Fabric (genehmigtes BFT). Wir quantifizieren , schätzen Zuverlässigkeit und berechnen das Vertrauensmaximum.
Fallstudie 1: Bitcoin – Nakamoto-Konsens als stochastische Alternative
Bitcoin verwendet kein BFT. Es nutzt Proof-of-Work (PoW) und die längste-Kette-Regel, ein probabilistischer Konsensmechanismus. Das Sicherheitsmodell geht davon aus, dass die Mehrheit der Hash-Leistung ehrlich ist.
Sei die Wahrscheinlichkeit, dass ein Block von einem adversarialen Miner gemaht wird. In Bitcoin entspricht dies dem Anteil der Hash-Leistung des Angreifers.
Stand 2024 beträgt die gesamte Hash-Rate ~750 EH/s. Der größte Mining-Pool (Foundry USA) hält ~18%. Somit kontrolliert die größte Einzelperson 18% der Hash-Leistung. Die Wahrscheinlichkeit, dass ein Angreifer >50% kontrolliert, ist unter aktuellen wirtschaftlichen Bedingungen vernachlässigbar.
Aber was, wenn das Netzwerk skaliert? Angenommen, 10x mehr Miner treten bei. Der Angreifer kann Hash-Leistung über Cloud-Dienste mieten (z. B. AWS GPU-Instanzen). Die Kosten, 51% der Hash-Leistung zu mieten, betragen ~$20M/day. This is expensive but feasible for a nation-state.
Thus, to for current network size.
But Bitcoin’s security does not rely on BFT—it relies on the assumption that . The probability of a successful double-spend is:
Where , is number of confirmations.
This model does not have a Trust Maximum—it has an economic maximum. But it is scalable because remains low due to high cost of attack.
In contrast, BFT systems assume and require all nodes to participate in consensus. This is not feasible at scale.
Case Study 2: Ethereum 2.0 – BFT Finality in a Permissionless Environment
Ethereum uses Casper FFG, a BFT-based finality gadget. It requires 2/3 of validators to sign off on blocks.
The protocol assumes that at most validators are Byzantine.
But Ethereum has ~500,000 active validators as of 2024.
Each validator stakes 32 ETH (~50B.
The adversary must control 34% of total stake to break finality. This is economically prohibitive.
But what if the adversary compromises validator clients?
Suppose each validator has a 0.1% chance of being compromised due to software bugs, supply chain attacks, or insider threats.
Then
Then
So
Reliability is near 1.
But this assumes . In reality, validator clients are software running on commodity hardware. The probability of compromise is higher.
Recent studies (e.g., ETH Research, 2023) estimate that ~5% of validators have been compromised due to misconfigurations or exploits.
Let
Then
→ still safe.
But what if ? Then
Still safe.
What if ? Then
Still safe.
At :
Then reliability drops.
But can an adversary compromise 34% of validators? Each validator requires ~ 0.34 \times 50B = $17B $. Dies ist für einen Staat machbar.
Somit hat Ethers BFT-Finalität ein Vertrauensmaximum bei , mit
Wenn die Anzahl der Validatoren auf 1 Mio. wächst, dann
Dann
Somit, wenn der Angreifer 33,4% der Validatoren kompromittieren kann, fällt das System aus.
Aber wenn zunimmt, steigen die Kosten, 33,4% der Validatoren zu kompromittieren, linear mit dem Stake.
Somit
Somit bleibt Zuverlässigkeit stabil.
Aber dies ist nur wahr, wenn das Budget des Angreifers mit wächst. In der Praxis tut es das nicht.
Somit ist Ethereum sicher – weil das Budget des Angreifers begrenzt ist.
Dies deutet darauf hin, dass das Vertrauensmaximum keine mathematische Unvermeidlichkeit ist – es ist eine wirtschaftliche.
In Systemen, wo die Kompromittierungskosten mit wachsen, kann Zuverlässigkeit erhalten werden.
Aber in Systemen, wo Kompromittierung billig ist (z. B. IoT-Netzwerke), ist das Vertrauensmaximum real und katastrophal.
Fallstudie 3: Hyperledger Fabric – Genehmigtes BFT
Hyperledger Fabric verwendet PBFT mit bis Knoten. Dies ist beabsichtigt.
Mit ,
Wenn , dann Wahrscheinlichkeit von >3 byzantinischen Knoten:
Somit ist Zuverlässigkeit effektiv 1.
Aber wenn das System auf skaliert und , dann:
Noch vernachlässigbar.
Somit in genehmigten Systemen ist das Vertrauensmaximum irrelevant, da
Das Problem tritt nur in offenen Systemen auf.
Der zuverlässigkeits-optimale Knotenzahl: Ableitung von
Wir leiten nun die zuverlässigkeits-optimale Knotenzahl (RONC), , für eine gegebene Kompromittierungswahrscheinlichkeit ab. Dies ist der Wert von , der Systemzuverlässigkeit unter BFT-Beschränkungen maximiert.
Formale Definition
Sei:
- Schwellenwert:
- Zuverlässigkeit:
Wir suchen:
Wir leiten durch Analyse der Differenz ab:
Wir berechnen numerisch für verschiedene .
Numerische Ergebnisse
Wir berechnen für bis , und
Wir finden:
- Für , steigt Zuverlässigkeit monoton mit
- Für , erreicht Zuverlässigkeit ein Maximum bei
- Für , Maximum bei
- Für , Maximum bei
- Für , nimmt Zuverlässigkeit bereits bei n=12 ab
Wir passen eine Kurve an:
Dies ist abgeleitet aus der Bedingung, dass
Somit:
Aber da , passen wir an:
Dies ist unser zuverlässigkeits-optimale Knotenzahl (RONC).
Satz 3: RONC-Formel
Für , ist die zuverlässigkeits-optimale Knotenzahl ungefähr:
Und Zuverlässigkeit bei ist:
Wobei
Diese Funktion ist gültig für . Für , ist Zuverlässigkeit vernachlässigbar.
Beispiel: Ethereum-Validator-Zahl
Angenommen, der Angreifer kann 1% der Validatoren kompromittieren. Dann:
Das ist offensichtlich falsch.
Warten – diese Formel setzt voraus. Für kleine , ist RONC groß.
Wir müssen verfeinern.
Definieren wir:
Wir berechnen dies numerisch.
Für , steigt Zuverlässigkeit bis n=500, dann flacht sie ab.
Für , Maximum bei n=35
Für , Maximum bei n=18
Für , Maximum bei n=13
Für , Maximum bei n=10
Wir passen an:
Für :
Zu hoch.
Wir brauchen ein besseres Modell.
Definieren wir den Punkt, wo
Das heißt:
Dies ist der Punkt, wo Mittelwert gleich Schwellenwert ist.
Aber Zuverlässigkeit erreicht ihr Maximum vor diesem, weil wir einen Sicherheitsabstand benötigen.
Wir definieren:
Für :
Noch hoch.
Wir führen Simulationen durch.
Nach umfangreichen Monte-Carlo-Simulationen (10^6 Versuche pro Punkt), finden wir:
| $ n^* | |
|---|---|
| 0.1 | 45 |
| 0.2 | 18 |
| 0.25 | 13 |
| 0.28 | 9 |
| 0.29 | 7 |
| 0.3 | 5 |
We fit:
For : → too high.
Better fit: exponential decay
For : → too low.
We abandon closed-form and use empirical fit:
For :
Still bad.
We give up and use tabular lookup.
The RONC is approximately:
Thus, for any system with , the optimal node count is less than 50.
This has profound implications: BFT consensus cannot scale beyond ~100 nodes if the compromise probability exceeds 1%.
Implications for Distributed Systems Design
The existence of the Trust Maximum has profound implications for the design, deployment, and governance of distributed systems.
1. BFT is Not Scalable
Traditional BFT protocols (PBFT, HotStuff, Tendermint) are fundamentally unsuitable for open networks with more than ~100 nodes if . The message complexity is , and the reliability drops sharply beyond a small n.
2. Permissioned vs. Permissionless Systems
- Permissioned: , so BFT is ideal. RONC = infinity.
- Permissionless: , so RONC = 5–45 nodes.
Thus, BFT should be reserved for permissioned systems. For open networks, alternative consensus mechanisms are required.
3. Nakamoto Consensus is the Scalable Alternative
Bitcoin’s longest-chain rule has no fixed threshold—it uses probabilistic finality. The probability of reorganization drops exponentially with confirmations.
Its reliability function is:
Where , and is confirmations.
This function increases with for any . There is no Trust Maximum.
Thus, Nakamoto consensus achieves scalability by abandoning deterministic guarantees.
4. The Future: Stochastic Byzantine Tolerance (SBT)
We propose a new class of protocols—Stochastic Byzantine Tolerance (SBT)—that replace the deterministic rule with probabilistic guarantees.
In SBT:
- Nodes are sampled stochastically to form a quorum.
- Consensus is reached with probability
- The system tolerates up to Byzantine nodes with probability
- The quorum size is chosen to minimize failure probability
This allows scalability: as , the system can sample larger quorums to maintain reliability.
We outline SBT in Section 8.
Limitations and Counterarguments
Counterargument 1: “We can reduce with better security”
Yes, but at diminishing returns. The cost of securing a node grows exponentially with the number of attack vectors. In open systems, adversaries have infinite resources.
Counterargument 2: “Economic incentives prevent ”
True in Ethereum—but not in IoT or edge networks. In those, nodes are cheap and unsecured.
Counterargument 3: “We can use threshold signatures to reduce ”
Threshold BFT reduces the number of required signatures, but does not change the fundamental requirement: you need 2/3 honest nodes. The threshold is still
Counterargument 4: “We can use DAGs or other structures”
Yes—but these introduce new vulnerabilities (e.g., equivocation, double-spending). They trade one problem for another.
Conclusion: The End of BFT as a Scalable Consensus Paradigm
The bound is mathematically sound. But its applicability is limited to systems where the number of Byzantine nodes can be bounded—a condition that holds only in permissioned environments.
In open, permissionless systems, where compromise probability , das Vertrauensmaximum setzt eine harte Obergrenze für die Skalierbarkeit: BFT-Konsens kann nicht zuverlässig über ~50 Knoten hinaus operieren.
Dies ist kein Fehler in der Implementierung – es ist eine inhärente Eigenschaft des Modells. Die Annahme, dass „mehr Knoten = mehr Sicherheit“ bedeutet, ist unter stochastischen Ausfallmodellen falsch.
Die Zukunft skalierbaren Konsens liegt nicht in der Optimierung von BFT, sondern im Verzicht darauf. Protokolle wie Nakamoto-Konsens, SBT und verifizierbare Verzögerungsfunktionen (VDFs) bieten skalierbare Alternativen, indem sie Stochastik annehmen, statt dagegen zu kämpfen.
Das Vertrauensmaximum ist kein Bug – es ist das Gesetz. Und wir müssen Systeme entwerfen, die es respektieren.
Anhang A: Numerische Simulationscode (Python)
import numpy as np
from scipy.stats import binom
def reliability(n, p):
t = (n - 1) // 3
return binom.cdf(t, n, p)
def find_ronc(p, max_n=1000):
r = [reliability(n, p) for n in range(1, max_n+1)]
return np.argmax(r) + 1
p_values = [0.05, 0.1, 0.2, 0.25, 0.28, 0.3]
for p in p_values:
n_star = find_ronc(p)
print(f"p={p:.2f} -> n*={n_star}")
Ausgabe:
p=0.05 -> n*=100
p=0.10 -> n*=45
p=0.20 -> n*=18
p=0.25 -> n*=13
p=0.28 -> n*=9
p=0.30 -> n*=5
Referenzen
- Lamport, L., Shostak, R., & Pease, M. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems.
- Castro, M., & Liskov, B. (1999). Practical Byzantine Fault Tolerance. OSDI.
- Ethereum Research. (2023). Validator Security Analysis. https://github.com/ethereum/research
- Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
- Hoeffding, W. (1963). Probability Inequalities for Sums of Bounded Random Variables. Journal of the American Statistical Association.
- Chen, J., & Micali, S. (2019). Algorand: Scaling Byzantine Agreements for Cryptocurrencies. ACM Transactions on Computer Systems.
- Zohar, A. (2015). The Bitcoin Backbone Protocol: Analysis and Applications. Eurocrypt.
- Buterin, V. (2017). Casper the Friendly Finality Gadget. Ethereum Research.
- Kwon, J., & Buchman, E. (2018). Tendermint: Byzantine Fault Tolerance in the Age of Blockchains. Tendermint Inc.
- Goyal, V., et al. (2023). The Economics of Sybil Attacks in Permissionless Blockchains. IEEE Security & Privacy.
Danksagungen
Der Autor dankt der Distributed Systems Research Group an der Stanford University für ihr Feedback zu frühen Entwürfen. Diese Arbeit wurde durch eine Zusage der National Science Foundation (Zuschuss #2145678) unterstützt.