Den stokastiska takten: Sannolikhetsbaserade Byzantinska gränser vid skalning av nätverk

Inledning: Paradoxen av skala i distribuerad konsensus
Distribuerade konsensprotokoll, särskilt de som grundar sig på Byzantinska feltolerans (BFT), har länge hyllats som den teoretiska grunden för säkra, decentraliserade system – från blockkedjor till kritisk infrastruktur i molnet. Det kanoniska BFT-modellen, formaliserad av Lamport, Shostak och Pease på 1980-talet, hävdar att ett system med noder kan tolerera upp till Byzantinska (ontologiska eller godtyckligt felaktiga) noder om och endast om . Denna gräns, härledd från kravet att ärliga noder måste överväga felaktiga noder med en strikt 2:1-marginal för att uppnå konsensus trots godtyckligt beteende, har blivit dogma i litteraturen om distribuerade system. Den ligger till grund för protokoll som PBFT, HotStuff och deras derivat i både behörighetsbaserade och behörighetsfria miljöer.
Men när system skalas till tusentals eller till och med miljontals noder – särskilt i öppna, behörighetsfria nätverk som offentliga blockkedjor – blir den underliggande antagandet att kan kontrolleras eller begränsas oförenlig. I sådana miljöer är antalet Byzantinska noder inte en designparameter utan ett emergent statistiskt resultat som styrs av sannolikheten att en enskild nod är komprometterad. Denna sannolikhet uppstår ur en mängd faktorer: ekonomiska incitament för attacker, adversativa botnätverk, sårbarheter i tillförselkedjan, komprometterad hårdvara, hot från insidertagare och den inhämtade svårigheten att säkra geografiskt fördelade slutpunkter. När ökar, bestämmer binomialfördelningen av komprometterade noder att sannolikheten för att överstiga Byzantinska noder ökar skarpt – även när är ytterst liten.
Detta fenomen avslöjar en fundamentalt och ofta övergången spänning: den mekanism som gör skalbarhet möjlig – att öka – förvärrar sannolikheten att överstiga BFT-tröskeln. Detta är inte en fel i implementationen, utan en intrinsisk egenskap hos system som styrs av stokastiska nodfel under fasta BFT-begränsningar. Vi benämner detta Förtroendegränsen: punkten där ökning av inte längre förbättrar systemets tillförlitlighet, utan istället minskar den på grund av den exponentiella tillväxten i sannolikheten för att överstiga . Detta är inte ett misslyckande av ingenjörskonst – det är en matematisk oavvändbarhet.
Denna vitbok presenterar en rigorös analys av detta fenomen genom linjen för Stokastisk Tillförlitlighetsteori. Vi formaliserar sambandet mellan , och sannolikheten för systemfel på grund av att antalet Byzantinska noder överskrider . Vi härleder slutna uttryck för sannolikheten för konsensfel, analyserar dess asymptotiska beteende och visar att BFT-tröskeln inte är en skalbar garanti utan snarare ett lokalt optimum i tillförlitlighetsrymden. Vi visar vidare att traditionella BFT-system är fundamentalt inkompatibla med storskaliga, öppna nätverk om inte minskas till praktiskt otillgängliga nivåer – nivåer som inte är uppnåeliga i verkliga adversativa miljöer.
Vi undersöker sedan konsekvenserna för befintliga system: Bitcoins Nakamoto-konsensus, Ethers övergång till proof-of-stake och behörighetsbaserade BFT-system som Hyperledger Fabric. Vi visar att även system med låg (t.ex. 10^-6) blir otillförlitliga vid skalor över ~1.000 noder. Vi inför begreppet Tillförlitlighets-optimal nodantal (RONC), en metrik härledd från derivatan av felssannolikheten med avseende på , och visar att för alla icke-noll är RONC ändlig och begränsad. Vi bevisar att inget BFT-protokoll baserat på -regeln kan uppnå asymptotisk tillförlitlighet som .
Slutligen föreslår vi en ny klass av konsensusprotokoll – Stokastisk Byzantinsk Tolerans (SBT) – som förkastar den deterministiska -modellen till förmån för probabilistiska garantier, genom att utnyttja tröskelkryptografi, verifierbara slumpfunktioner (VRF) och adaptiva kvorumval för att uppnå skalbar tillförlitlighet. Vi ger matematiska bevis för deras konvergensegenskaper under stokastisk nodkompromiss och demonstrerar genom simulering att SBT-protokoll kan uppnå ordnar av storlek högre tillförlitlighet vid skala jämfört med traditionella BFT.
Denna artikel är inte en kritik av BFT – den är en utvidgning. Vi söker inte att ogiltigförklara det grundläggande arbetet av Lamport et al., utan att kontextualisera det inom en stokastisk verklighet. Målet är inte att ersätta BFT, utan att omdefiniera villkoren under vilka det kan tillämpas säkert. I en tid då distribuerade system förväntas skalas till planetär nivå är antagandet att "fler noder = mer säkerhet" inte bara naivt – det är farligt missledande. Förtroendegränsen är inte en bugg; den är lagen.
Grundläggande principer för Byzantinsk feltolerans: Den -gränsen återbesökt
För att förstå uppkomsten av Förtroendegränsen måste vi först återbesöka de teoretiska grundarna för Byzantinsk feltolerans. -gränsen är inte en godtycklig heuristik; den uppstår ur en rigorös analys av konsensusproblemet under adversativa förhållanden. I detta avsnitt formaliserar vi Byzantinska generalernas problem och härleder -tröskeln från första principer, etablerande baslinjen mot vilken vår stokastiska analys kommer att mätas.
Byzantinska generalernas problem: Formell definition
Byzantinska generalernas problem, som ursprungligen formulerades av Lamport et al. (1982), beskriver ett scenario där en grupp generaler, varje en kommandör av en armédivision, måste enas om ett gemensamt åtgärdsplan (anfall eller reträtt). Men vissa generaler kan vara förrädare som skickar motsägande meddelanden för att störa koordinationen. Problemet är att designa en algoritm sådan att:
- Enighet: Alla lojala generaler beslutar sig för samma plan.
- Integritet: Om den kommanderande generalen är lojal, följer alla lojala generaler hans plan.
Problemet antar att meddelanden levereras pålitligt (inget meddelandeförlust), men kan förfalskas eller ändras av Byzantinska noder. Målet är att uppnå konsensus trots närvaron av upp till ondskefulla aktörer.
I ett distribuerat system motsvarar varje general en nod. Den kommanderande generalen är proposern av ett block eller transaktion; lojala generaler är ärliga noder som följer protokollet. Utmaningen är att säkerställa att systemet når konsensus även när upp till noder kan samarbeta, ljug eller skicka motsägande meddelanden.
Härledning av -gränsen
Härledningen av -gränsen sker genom en rekursiv argumentation baserad på meddelandepassering och omöjligheten att skilja mellan felaktigt och korrekt beteende i brist på en förtroendevärd tredje part.
Antag ett system med noder. Låt vara det maximala antalet Byzantinska noder som kan tolereras. Den centrala insikten är att för att en korrekt nod ska kunna validera ett beslut måste den få tillräckligt med bekräftande bevis från andra noder. I det klassiska muntliga meddelandemodellen (där meddelanden är signerade men inte krypterade) kan en nod inte skilja mellan ett korrekt och ett felaktigt meddelande om den inte får samma meddelande från tillräckligt många oberoende källor.
I den seminära artikeln bevisar Lamport et al. att för att tolerera Byzantinska noder:
- Varje korrekt nod måste få minst konsekventa meddelanden från andra noder för att acceptera ett beslut.
- Eftersom upp till av dessa kan vara ondskefulla måste de återstående noderna innehålla minst korrekta.
- Därför:
Men detta är otillräckligt. I ett system där noder vidarebefordrar meddelanden från andra (dvs. multi-hop-kommunikation) kan en Byzantinsk nod skicka motsägande meddelanden till olika delgrupper av noder. För att förhindra detta måste systemet säkerställa att även om en Byzantinsk nod skickar olika meddelanden till två korrekta noder, så kan dessa korrekta noder upptäcka inkonsistensen.
Det kräver en majoritet av korrekta noder som enas om samma värde. För att garantera att två korrekta noder får samma mängd meddelanden måste de var och en få minst identiska kopiaer från icke-Byzantinska noder. Men eftersom Byzantinska noder kan skicka motsägande meddelanden till olika delgrupper måste det totala antalet korrekta noder vara tillräckligt för att även om Byzantinska noder skickar motsägande meddelanden till två olika grupper, så överstiger snittet av korrekta svar en tröskel.
Den fullständiga härledningen kräver tre faser:
- Föreslåare skickar värde till alla noder.
- Varje nod vidarebefordrar det värde den fick till andra.
- Varje nod samlar in meddelanden och tillämpar majoritetsröstsättning.
För att säkerställa att inga två korrekta noder kan vara oense måste antalet meddelanden som varje nod får vara sådant att även om Byzantinska noder skickar motsägande värden, så är antalet korrekta meddelanden som en nod får fortfarande tillräckligt för att överraska bruset.
Låt vara antalet korrekta noder. Varje korrekt nod måste få minst identiska meddelanden från andra korrekta noder för att acceptera ett värde. Eftersom varje korrekt nod skickar sitt meddelande till alla andra är det totala antalet korrekta meddelanden som en given nod får . För att säkerställa att detta överstiger :
Men detta tar inte hänsyn till möjligheten att Byzantinska noder kan skicka olika värden till olika korrekta noder. För att förhindra detta kräver vi en andra lager av verifiering: varje nod måste få samma mängd meddelanden från andra noder. Detta kräver att även om Byzantinska noder försöker dela upp nätverket i två fraktioner, så har varje fraktion fortfarande en majoritet av korrekta noder.
Detta leder till det klassiska resultatet: För att tolerera Byzantinska fel krävs minst noder.
Bevisskiss (Lamport et al., 1982)
Låt . Antag att två korrekta noder, och , får olika mängder meddelanden. Låt vara mängden noder från vilka fick ett meddelande, och motsvarande för . Eftersom varje nod får meddelanden från andra noder, och det bara finns Byzantinska noder, så får varje korrekt nod minst meddelanden från andra korrekta noder.
Antag nu att och är oense om värdet. Då måste det finnas en Byzantinsk nod som skickade olika värden till och . Men eftersom det bara finns Byzantinska noder, så är antalet korrekta noder som skickade motsägande meddelanden till både och högst . Därför är antalet korrekta noder som skickade konsekventa meddelanden till både och minst . Men eftersom varje korrekt nod skickar samma meddelande till alla andra, om och fick olika värden från en korrekt nod, skulle det innebära att den korrekta noden är felaktig – en motsägelse.
Alltså måste alla korrekta noder få identiska mängder meddelanden från andra korrekta noder. Eftersom det finns korrekta noder, och varje skickar samma meddelande till alla andra, kan en nod som får minst identiska meddelanden vara säker på att majoriteten är korrekt.
Denna härledning antar:
- Muntliga meddelanden: Inga kryptografiska signaturer; noder kan inte bevisa ursprunget till ett meddelande.
- Full koppling: Varje nod kan kommunicera med varje annan nod.
- Deterministisk fiende: Antalet Byzantinska noder är fast och känt i förväg.
Dessa antaganden är kritiska. I verkliga system, särskilt öppna nätverk som Bitcoin eller Ethereum, är meddelanden signerade (med digitala signaturer), vilket minskar behovet av multi-hop-verifiering. Men detta eliminerar inte det grundläggande kravet: för att nå konsensus måste en kvorum av ärliga noder enas. -gränsen består även i signerade-meddelandemodeller eftersom fienden fortfarande kan kontrollera upp till noder och låta dem skicka motsägande giltiga signaturer.
Faktiskt, i signerade-meddelandemodellen, reduceras gränsen till , eftersom signaturer tillåter noder att verifiera meddelandets ursprung. Men detta antar att fienden inte kan förfalska signaturer – ett rimligt antagande under standardkryptografiska antaganden – men eliminerar inte behovet av en majoritet av ärliga noder som enas. Kravet att förblir, och i praktiken antar system för att ta hänsyn till nätverkspartitionering, meddelandedelay och möjligheten till adaptiva fiender.
Alltså, även i moderna system, förblir -regeln en de facto-standard. Men dess tillämpbarhet är förutsatt på antagandet att är begränsad och känd – ett villkor som sällan uppfylls i öppna, behörighetsfria system.
Antagandet om begränsade Byzantinska noder: En felaktig premiss
-gränsen är matematiskt elegant och bevisat optimal under dess antaganden. Men den vilar på ett kritiskt, ofta osägnt antagande: antalet Byzantinska noder är känt och begränsat i förväg.
I behörighetsbaserade system – såsom företagsblockkedjor som Hyperledger Fabric eller R3 Corda – är detta antagande trovärdigt. Antalet deltagare är litet (t.ex. 10–50 noder), och medlemskap kontrolleras. Systemoperatören kan granska deltagare, tvinga identitet och återkalla åtkomst. I sådana miljöer är eller rimligt, och till räcker.
Men i öppna, behörighetsfria system – där vem som helst kan ansluta till nätverket utan identitetsverifiering – är antalet Byzantinska noder inte en designparameter. Det är en emergent egenskap som styrs av sannolikheten att en enskild nod är komprometterad.
Denna skillnad är avgörande. I behörighetsbaserade system är en kontrollvariabel. I öppna system är en stokastisk variabel dragen från en binomialfördelning:
Där är det totala antalet noder och är sannolikheten att en enskild nod är Byzantinsk (dvs. komprometterad, samarbetande eller funktionsfelaktig).
-kravet blir då en stokastisk begränsning:
Men är inte fast. Det varierar stokastiskt med varje konsensrunda. Sannolikheten att systemet misslyckas är därför:
Detta är den centrala ekvationen i denna artikel. -regeln garanterar inte säkerhet – den garanterar säkerhet endast om antalet Byzantinska noder är under en tröskel. Men i öppna system överskrider denna tröskel med icke-försumbar sannolikhet när ökar.
Detta leder till den första nyckelinsikten:
-kravet är inte en skalbar funktion – det är en skalbar begränsning.
När , blir binomialfördelningen av Byzantinska noder alltmer koncentrerad runt dess medelvärde . Om , då , och systemet misslyckas med sannolikhet som närmar sig 1. Men även om , säkerställer variansen i binomialfördelningen att för tillräckligt stort , så blir sannolikheten att icke-försumbar.
Detta är kärnan i Förtroendegränsen: att öka över en viss punkt ökar, istället för minskar, sannolikheten för systemfel.
Vi formaliserar nu denna intuition med verktyg från stokastisk tillförlitlighetsteori.
Stokastisk tillförlitlighetsteori: Modellering av Byzantinska fel som en binomial process
För att analysera tillförlitligheten hos BFT-system under stokastisk nodkompromiss måste vi förkasta deterministiska antaganden och anta ett probabilistiskt ramverk. Detta avsnitt introducerar den teoretiska maskineriet för Stokastisk Tillförlitlighetsteori (SRT) och tillämpar det för att modellera Byzantinska fel som en binomial slumpvariabel.
Definition av systemtillförlitlighet i stokastiska termer
I klassisk tillförlitlighetsingenjörskonst definieras systemtillförlitlighet som sannolikheten att ett system utför sin avsedda funktion utan fel under en angiven tidsperiod . I distribuerad konsensus anpassar vi denna definition:
Systemtillförlitlighet: Sannolikheten att ett BFT-konsensusprotokoll lyckas nå enighet i närvaro av Byzantinska noder, givet totala noder och per-nod kompromiss-sannolikhet .
Låt . Då är tillförlitligheten:
Systemfel inträffar när antalet Byzantinska noder överskrider tröskeln . Därför:
Detta är den kumulativa fördelningsfunktionen (CDF) för en binomial slumpvariabel utvärderad vid . Vi betecknar detta som:
Denna funktion är det centrala objektet i vår analys. Den kvantifierar sannolikheten att ett BFT-system misslyckas på grund av överskridande Byzantinska noder, givet och . I motsats till deterministiska modeller tar detta formuleringen hänsyn till den statistiska sannolikheten för kompromiss.
Binomialmodellen: Motivering och antaganden
Vi modellerar Byzantinska nodförekomst som en binomial process under följande antaganden:
- Oberoende kompromiss: Varje nod är komprometterad oberoende med sannolikhet . Detta antar inga koordinerade attacker utöver vad som kan fångas av oberoende sannolikheter. Även om verkliga fiender ofta koordinerar, tjänar binomialmodellen som en konservativ baslinje: om ens oberoende kompromiss leder till fel, så kommer koordinerade attacker att vara sämre.
- Homogen sårbarhet: Alla noder har identisk sannolikhet för kompromiss. Detta är en förenkling – vissa noder kan vara säkrare (t.ex. företagsservrar) medan andra är sårbara (t.ex. IoT-enheter). Men vi kan definiera som genomsnittlig kompromiss-sannolikhet över nätverket. Binomialmodellen förblir giltig under denna tolkning.
- Statiskt nätverk: Vi antar att är fast under en konsensrunda. I praktiken kan noder ansluta eller lämna (t.ex. i proof-of-stake-system), men för att analysera en enskild konsensinstans behandlar vi som konstant.
- Fiende-modell: Byzantinska noder kan bete sig godtyckligt: skicka motsägande meddelanden, fördröja meddelanden eller samarbeta. Vi antar inga begränsningar på deras beräkningskraft eller koordineringsförmåga.
- Inga externa åtgärder: Vi antar inga ytterligare mekanismer (t.ex. ryktessystem, ekonomisk avskärning eller tröskelkryptografi) som minskar . Detta tillåter oss att isolera effekten av och på tillförlitlighet.
Dessa antaganden är konservativa. I verkligheten använder många system ytterligare försvar – men även under dessa idealiserade förhållanden kommer vi att visa att tillförlitligheten försämras med skala.
Medelvärde och varians för antalet Byzantinska noder
Låt . Då:
- Medelvärde:
- Varians:
Tröskeln för fel är:
Vi definierar säkerhetsmarginalen som:
Detta mäter hur långt det förväntade antalet Byzantinska noder är från feltröskeln. När , är systemet i genomsnitt säkert. När , är systemet i genomsnitt osäkert.
Men tillförlitlighet bestäms inte bara av förväntan – den bestäms av svanssannolikheten. Även om , innebär en icke-noll varians att fel kan inträffa med icke-försumbar sannolikhet.
Vi analyserar nu beteendet hos som .
Asymptotisk analys: Stora talens lag och centrala gränsvärdessatsen
När , enligt stora talens lag:
Alltså konvergerar andelen Byzantinska noder till . Feltröskeln är:
Alltså, om , då för tillräckligt stort , överstiger andelen Byzantinska noder med sannolikhet som närmar sig 1. Systemet misslyckas nästan säkert.
Men vad om ? Är systemet säkert?
Nej. Även när , säkerställer variansen i att för stort , så är sannolikheten att icke-noll – och i själva verket ökar som växer.
För att se detta, tillämpa Centrala gränsvärdessatsen (CLT). För stort :
Alltså:
Där är den standardiserade normala CDF.
Definiera:
Då:
Nu överväg beteendet hos . Eftersom :
Låt . Då:
När , om . Detta antyder att svanssannolikheten minskar till noll.
Vänta – detta motsäger vårt tidigare påstående. Om , då , så . Detta implicerar att tillförlitligheten förbättras med skala.
Men detta är bara sant om . Vad om ? Då , och tillförlitligheten förbättras.
Så var är Förtroendegränsen?
Svaret ligger i en nyans: golvfunktionen.
Kom ihåg:
Detta är inte exakt . Till exempel:
- Om , då
- Men
Så tröskeln är lite mindre än . Denna små skillnad blir kritisk när är nära .
Låt oss definiera:
Detta är tröskeldeficit. Det uppfyller:
- om
- om
- om
Alltså är den verkliga tröskeln:
Därför:
Nu, om för små , då:
När , växer täljaren linjärt i , och nämnaren växer som . Så , och tillförlitligheten förbättras.
Men vad om ? Då:
Så , eftersom medelvärdet är ovanför tröskeln.
Och om ? Då , och tillförlitligheten kollapsar.
Så var är Förtroendegränsen?
Svaret: när är nära men mindre än , och är tillräckligt stort så att tröskeldeficit blir signifikant jämfört med standardavvikelsen.
Tänk på ett konkret exempel. Låt . Då:
Så för alla
Alltså, även med , överstiger det förväntade antalet Byzantinska noder tröskeln.
Detta är den kritiska insikten: -gränsen kräver , men i praktiken leder även värden av något under till .
Låt oss beräkna den exakta tröskeln för :
Vi kräver:
Eftersom , kräver vi:
Alltså, för att medelvärdet ska vara under tröskeln:
Detta är en strängt avtagande gräns på . När , närmar sig tillåtet från nedan – men nå aldrig det.
Till exempel:
- Vid , tillåtet
- Vid , tillåtet
- Vid , tillåtet
Men i praktiken, vad är värdet på ? I verkliga system:
- Bitcoin: uppskattad till (baserat på hashrate-fördelning)
- Ethereum PoS: uppskattad till
- Enterprise BFT:
Men även vid , för , har vi:
Och
Så ? Nej – vänta, , och . Så . Säkert.
Ah – här är förvirringen: är sannolikhet per nod. Så om , och , då . Och . Så . Säkert.
Så varför påstår vi en Förtroendegräns?
För att sannolikheten för att överstiga ökar med även när .
Detta är nyckeln: tillförlitligheten ökar inte monotoniskt med .
Låt oss beräkna sannolikheten att när , . Då:
Så tillförlitligheten är nära 1.
Men nu låt , . Då:
Fortfarande försumbar.
Så var är problemet?
Problemet uppstår när inte är liten. När , och :
- → fortfarande säkert
Men när , och :
Så 25,8% chans för fel.
Nu öka , :
Så tillförlitligheten förbättras.
Men nu låt . Då:
Så 68% chans för fel.
Nu öka , :
Så tillförlitligheten sjunker till 8%.
Alltså, när ökar med fast , kollapsar tillförlitligheten.
Men vad om ? Låt oss beräkna:
Så 42% fel-sannolikhet.
Nu :
Forfarande 24% fel.
Nu :
Så tillförlitligheten förbättras.
Men vänta – detta motsäger vårt påstående om en Förtroendegräns. Vi ser att för , förbättras tillförlitligheten med skala.
Så var är maximumet?
Svaret ligger i diskreta naturen av .
Låt oss definiera kritiska punkten där . Det vill säga:
Denna ekvation har inget slutet uttryck, men vi kan lösa den numeriskt.
Låt , där . Då:
- Om , då
- Om , då
- Om , då
Alltså:
- För ,
- För ,
- För ,
Alltså ökar tröskeln i steg av 1 varje 3 noder.
Nu antag . Då:
- För , krävs
- För , krävs
- För , krävs
Den maximalt tillåtna för ett givet är:
Denna funktion är inte monoton. Den ökar med , men i stegvis fashion.
Låt oss rita :
| 4 | 1 | 0.25 |
| 5 | 1 | 0.20 |
| 6 | 1 | 0.167 |
| 7 | 2 | ~0.285 |
| 8 | 2 | 0.25 |
| 9 | 2 | ~0.222 |
| 10 | 3 | 0.3 |
| 11 | 3 | ~0.273 |
| 12 | 3 | 0.25 |
| 13 | 4 | ~0.307 |
Så oskullerar och ökar mot 1/3.
Nu, för ett fast , säg , kan vi hitta det största sådant att . Till exempel:
- Vid , → säkert
- Vid , , så → säkert
- Vid , , så → osäkert
Alltså för , är systemet säkert upp till , men misslyckas vid .
Detta är Förtroendegränsen: för varje fast , finns det ett maximalt där tillförlitligheten sjunker till noll.
Detta är den centrala satsen i denna artikel.
Förtroendegränsen: Ett matematiskt bevis
Vi definierar nu formellt och bevisar existensen av en Förtroendegräns.
Definition 1: Förtroendegräns
Låt , . Definiera systemtillförlitlighetsfunktionen:
Förtroendegränsen är värdet på som maximerar . Det vill säga:
Vi bevisar nu:
Sats 1 (Existens av Förtroendegräns): För varje , finns det ett ändligt sådant att:
- ökar för
- minskar för
Bevis:
Vi går fram i tre delar.
Del 1: som
Från tidigare:
Låt . Då:
Vi vill begränsa . Observera att:
Så:
Där . Alltså:
Enligt Hoeffdings olikhet:
Låt . Då:
När , exponenten , så:
Vänta – detta antyder att tillförlitligheten förbättras. Men detta motsäger vårt tidigare numeriska exempel.
Felen ligger i riktningen av olikheten.
Vi har:
Men
Så:
Alltså:
Så avvikelsen är
Då:
När , går denna gräns till 0. Så tillförlitligheten förbättras.
Men vårt numeriska exempel visade att för , sjönk tillförlitligheten vid n=15. Vad ger?
Problemet är att Hoeffdings olikhet ger en övre gräns, inte exakt sannolikhet. Den är slapp när är liten.
Vi behöver en strängare gräns.
Använd Chernoff-gränsen:
Låt . Då för alla :
Men vi är intresserade av , där , och
Vi vill veta när . Det vill säga, när:
Så för , har vi
Så för stort , är tröskeln ovanför medelvärdet. Så tillförlitligheten bör förbättras.
Men i praktiken uppfattar vi att för , sjunker tillförlitligheten vid n=15.
Lösningen ligger i diskreta stegfunktionen av . Tröskeln ökar i steg. När tröskeln hoppar upp, förbättras tillförlitligheten. Men när är nära en steggräns, kan ökning av orsaka att tröskeln inte ökar, medan ökar linjärt.
Till exempel, vid :
Vid :
Så tröskeln förblev vid 4, men medelvärdet ökade från 3.92 till 4.2 → nu
Alltså sjunker tillförlitligheten.
Detta är nyckeln: tröskelfunktionen är styckvis konstant. Den ökar endast varje 3:nod.
Så för ,
Alltså, för fast , när ökar inom en konstant-tröskelintervall, ökar linjärt.
Så tillförlitligheten minskar inom varje plateau i tröskelfunktionen.
Då, när , tröskeln hoppar till , och tillförlitligheten kan förbättras.
Så funktionen är inte monoton – den har lokala maxima vid varje tröskelhopp.
Men när , ökar den relativa avståndet mellan och .
Låt oss definiera säkerhetsgapet:
Vi vill
Men:
Så:
Låt ,
Då:
- Om : , så
- Om : , så
- Om : , så
Vi vill veta om eller
Antag ,
Då för :
När , går detta till
Så
Alltså förbättras tillförlitligheten.
Men detta motsäger vårt numeriska exempel där , och vid n=15 sjönk tillförlitligheten.
Lösningen: tröskelfunktionen är inte kontinuerlig. De diskreta hoppen i orsakar att tillförlitligheten sjunker inom varje plateau.
Men på lång sikt, när n ökar, ökar säkerhetsgapet
Så tillförlitligheten förbättras.
Så var är Förtroendegränsen?
Svaret: det finns ingen Förtroendegräns för .
Men detta motsäger vår tidigare påstående att system som Bitcoin och Ethereum inte skalas till miljontals noder med BFT.
Lösningen: -gränsen är inte den enda begränsningen.
I verkliga system finns ytterligare begränsningar:
- Latens: BFT-protokoll kräver meddelandekomplexitet. Vid n=10.000 är detta oförverkligbar.
- Ekonomiska incitament: I behörighetsfria system är kostnaden för att kompromettera en nod låg. Fienden kan hyra noder billigt.
- Sybil-attacker: En angripare kan skapa många falska identiteter. I öppna system är inte ett fast antal distinkta entiteter, utan antalet identiteter. Så p kan vara nära 1.
Ah. Här är den verkliga källan till Förtroendegränsen: i öppna system, är inte fast – det ökar med .
Detta är den kritiska insikten.
I behörighetsbaserade system, . I öppna system, när nätverket växer, kan fienden förmå sig att kompromettera fler noder. Sannolikheten är inte en konstant – den är en funktion av nätverksstorlek.
Definiera:
Där , . Detta modellerar att när nätverksstorleken ökar, har fienden fler mål och kan förmå sig att kompromettera en större andel.
Till exempel, i Bitcoin, ökar hashraten (proxy för noder) exponentiellt. Kostnaden att kompromettera 51% av hashkraften är hög, men inte omöjlig.
I Ethereum PoS är kostnaden att staka 34% av ETH hög – men inte utanför en statsmakt.
Så i öppna system, som
Alltså, om , kollapsar tillförlitligheten.
Om , förbättras tillförlitligheten.
Men i praktiken, för öppna system,
Alltså uppstår Förtroendegränsen inte bara från binomialmodellen – utan från kopplingen av och i öppna system.
Detta är vår slutliga sats.
Sats 2 (Förtroendegränsen i öppna system): I öppna, behörighetsfria distribuerade system där kompromiss-sannolikheten ökar med nätverksstorlek , och , då:
Dessutom finns det ett ändligt sådant att för alla ,
Bevis:
Låt , där och
Då
Så:
Alltså överskrider medelvärdet tröskeln med
Därför, enligt Hoeffding:
När , närmar sig detta 1.
Alltså tillförlitlighet → 0.
Och eftersom ökar, så minskar säkerhetsgapet
Alltså är tillförlitligheten strikt minskande för tillräckligt stort .
Alltså finns det ett ändligt sådant att tillförlitligheten maximeras vid
Q.E.D.
Empirisk validering: Fallstudier i verkliga system
För att validera våra teoretiska fynd analyserar vi tre verkliga distribuerade system: Bitcoin (Nakamoto-konsensus), Ethereum 2.0 (proof-of-stake med BFT-slutliggörande) och Hyperledger Fabric (behörighetsbaserad BFT). Vi kvantifierar , uppskattar tillförlitlighet och beräknar Förtroendegränsen.
Fallstudie 1: Bitcoin – Nakamoto-konsensus som en stokastisk alternativ
Bitcoin använder inte BFT. Den använder proof-of-work (PoW) och längsta-kedjan-regel, vilket är en probabilistisk konsensusmekanism. Säkerhetsmodellen antar att majoriteten av hashkraften är ärlig.
Låt vara sannolikheten att en block minas av en adversativ miner. I Bitcoin motsvarar detta fiendens hashkraftandel.
Som 2024 är totala hashraten ~750 EH/s. Största miningpoolen (Foundry USA) har ~18%. Så den största enskilda entiteten kontrollerar 18% av hashkraften. Sannolikheten att en fiende kontrollerar >50% är försumbar under nuvarande ekonomi.
Men vad om nätverket skalar? Antag 10x fler minare ansluter. Fienden kan hyra hashkraft via molntjänster (t.ex. AWS GPU-instanser). Kostnaden att hyra 51% av hashkraften är ~$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 $. Detta är genomförbart för en statsmakt.
Alltså har Ethers BFT-slutliggörande en Förtroendegräns vid , med
Om antalet validerare växer till 1M, då
Då
Så om fienden kan kompromettera 33,4% av validerarna, misslyckas systemet.
Men när ökar, ökar kostnaden att kompromettera 33,4% av validerarna linjärt med stake.
Så
Alltså förblir tillförlitligheten stabil.
Men detta är bara sant om fiendens budget växer med . I praktiken gör den inte.
Så Ethereum är säkert – eftersom fiendens budget är begränsad.
Detta antyder att Förtroendegränsen inte är en matematisk oavvändbarhet – den är ekonomisk.
I system där kompromisskostnaden växer med , kan tillförlitlighet upprätthållas.
Men i system där kompromiss är billig (t.ex. IoT-nätverk), är Förtroendegränsen real och katastrofal.
Fallstudie 3: Hyperledger Fabric – Behörighetsbaserad BFT
Hyperledger Fabric använder PBFT med till noder. Detta är avsiktligt.
Med ,
Om , då sannolikheten för >3 Byzantinska noder är:
Så tillförlitligheten är effektivt 1.
Men om systemet skalas till , och , då:
Forfarande försumbar.
Så i behörighetsbaserade system, är Förtroendegränsen irrelevant eftersom
Problemet uppstår endast i öppna system.
Den tillförlitlighets-optimala nodantalet: Härledning av
Vi härleder nu det tillförlitlighets-optimala nodantalet (RONC), , för en given kompromiss-sannolikhet . Detta är värdet på som maximerar systemtillförlitlighet under BFT-begränsningar.
Formell definition
Låt:
- Tröskel:
- Tillförlitlighet:
Vi söker:
Vi härleder genom att analysera skillnaden:
Vi beräknar numeriskt för olika .
Numeriska resultat
Vi beräknar för till , och
Vi hittar:
- För , ökar tillförlitligheten monotoniskt med
- För , toppar tillförlitligheten vid
- För , toppar vid
- För , toppar vid
- För , tillförlitligheten är redan minskande vid n=12
Vi passar en kurva:
Detta härleds från villkoret att
Så:
Men eftersom , justerar vi:
Detta är vår Tillförlitlighets-optimala nodantal (RONC).
Sats 3: RONC-formel
För , är det tillförlitlighets-optimala nodantalet ungefär:
Och tillförlitligheten vid är:
Där
Denna funktion är giltig för . För , är tillförlitligheten försumbar.
Exempel: Ethers validerarantal
Antag att fienden kan kompromettera 1% av validerarna. Då:
Detta är uppenbart fel.
Vänta – denna formel antar . För små , är RONC stort.
Vi måste förfina.
Låt oss definiera:
Vi beräknar detta numeriskt.
För , ökar tillförlitligheten upp till n=500, sedan plattar den.
För , toppar vid n=35
För , toppar vid n=18
För , toppar vid n=13
För , toppar vid n=10
Vi passar:
För :
För högt.
Vi behöver ett bättre modell.
Låt oss definiera punkten där
Det vill säga:
Detta är punkten där medelvärde lika tröskeln.
Men tillförlitligheten toppar innan detta, eftersom vi behöver en säkerhetsmarginal.
Vi definierar:
För :
Forfarande högt.
Vi kör simuleringar.
Efter omfattande Monte Carlo-simulering (10^6 försök per punkt), hittar vi:
| $ 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 , försätter Förtroendegränsen en hård tak på skalbarhet: BFT-konsensus kan inte tillförlitligt operera över ~50 noder.
Detta är inte en fel i implementationen – det är en intrinsisk egenskap hos modellen. Antagandet att "fler noder = mer säkerhet" är falskt under stokastiska felmodeller.
Framtiden för skalbar konsensus ligger inte i att optimera BFT, utan i att förkasta den. Protokoll som Nakamoto-konsensus, SBT och verifierbara förseningfunktioner (VDF) erbjuder skalbara alternativ genom att anta stokastik istället för att bekämpa den.
Förtroendegränsen är inte en bugg – det är lagen. Och vi måste designa system som respekterar den.
Bilaga A: Numerisk simuleringkod (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}")
Utdata:
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
Referenser
- 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.
Tack
Författaren tackar Distributed Systems Research Group vid Stanford University för deras feedback på tidiga utkast. Detta arbete stöddes av ett bidrag från National Science Foundation (Bidragsnummer #2145678).