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

Lärandemål
När du har avslutat denna enhet kommer du att kunna:
- Definiera Byzantinskt feltolerans (BFT) och förklara betydelsen av -regeln.
- Modellera nodfel och illvilligt beteende med hjälp av binomialfördelningen.
- Beräkna sannolikheten att ett distribuerat system överskrider sin feltoleranstreshold under slumpmässiga felvillkor.
- Förstå varför att öka antalet noder inte alltid förbättrar systemets tillförlitlighet — och i själva verket kan minska den.
- Derivera konceptet "Förtroendemaksimum" — punkten där att lägga till fler noder paradoxalt minskar systemets förtroendevärde.
- Analysera praktiska konsekvenser för blockchain, molninfrastruktur och decentraliserade protokoll.
- Utvärdera invändningar mot hypotesen om Förtroendemaksimum och bedöma dess begränsningar.
Inledning: De lovar och farorna med decentralisering
Vid design av distribuerade system — från blockchain-nätverk till molnbaserade konsensusprotokoll — är en grundläggande antagande att fler noder innebär mer säkerhet. Logiken är intuitiv: om en nod misslyckas eller beter sig illvilligt, kan andra upptäcka och återkalla den. Ju fler noder du har, desto svårare borde det vara för en enda illvillig aktör att ta kontroll.
Denna intuition ligger till grund för många moderna konsensusalgoritmer, särskilt Byzantinska feltolerans (BFT)-protokoll som PBFT (Practical Byzantine Fault Tolerance), HotStuff och deras derivat. Dessa protokoll bygger på ett matematiskt garant: för att tolerera upp till Byzantinska (illvilliga eller felaktiga) noder behöver du minst totala noder.
Denna regel är elegant. Den säkerställer att även om noder ljuger, samordnar sig eller kraschar godtyckligt, kan de återstående ärliga noderna rösta ned dem och bibehålla konsensus. Det är en pelare i pålitlig distribuerad beräkning.
Men här är det dolda problemet: denna modell antar att vi känner på förhand. Den behandlar feltolerans som en designparameter — något ingenjörer kan ställa in som en knapp.
I verkligheten är inte känt. Det är slumpmässigt. Och det ökar med .
Denna enhet utforskar en radikal men matematiskt oböjlig insikt: när du ökar antalet noder i ett system, ökar sannolikheten att mer än noder blir illvilliga eller misslyckas — ofta dramatiskt. Detta skapar ett naturligt "Förtroendemaksimum" — punkten där att lägga till fler noder minskar systemets förtroendevärde.
Vi kommer att härleda detta med stokastisk tillförlitlighetsteori — tillämpningen av sannolikhetslära på systemtillförlitlighet under slumpmässiga fel. Vi kommer att visa att BFT:s -regel, även om den är matematiskt korrekt under fast , blir farligt missvisande när behandlas som en variabel beroende på systemstorlek.
Del 1: Förstå Byzantinskt feltolerans (BFT)
Vad är en Byzantinsk nod?
I distribuerade system kan noder misslyckas på två breda sätt:
- Kraschfel: En nod slutar svara. Det är förutsägbart och upptäckbart.
- Byzantinska fel: En nod beter sig godtyckligt — den kan ljug, skicka motsägande meddelanden till olika noder eller samordna sig med andra. Dessa är de farligaste eftersom de inte kan pålitligt upptäckas utan redundancy.
Termen "Byzantinsk" kommer från Byzantinska generalernas problem, en tankeexperiment där generaler som omger en stad måste enas om att antingen anfalla eller dra sig tillbaka. Men vissa generaler är förrädare som skickar motsägande meddelanden. Målet är att nå konsensus trots förrädarna.
BFT-algoritmer löser detta problem genom att kräva att ärliga noder överskrid illvilliga med en 2:1-majoritet. Därför regeln:
Där:
- = totalt antal noder
- = maximalt antal Byzantinska (illvilliga eller felaktiga) noder som systemet kan tolerera
Varför 3f + 1?
Låt oss gå igenom ett enkelt exempel.
Antag (en illvillig nod). Då .
- Totala noder: 4
- Illvilliga: 1
- Ärliga: 3
I BFT krävs ett "kvorum" av noder för att enas. Så även om den ena illvilliga noden skickar motsägande meddelanden till olika ärliga noder, kan de 3 ärliga noderna fortfarande rösta ned den och enas om en enda sanning.
Nu antag . Då .
- Illvilliga: 2
- Ärliga: 5
Den ärliga majoriteten (5) kan fortfarande rösta ned den illvilliga minoriteten (2), eftersom .
Denna struktur säkerställer att:
- Ärliga noder kan alltid bilda en majoritet ( → )
- Inga två illvilliga noder kan övertyga ärliga noder att inte enas om motsatta värden
Detta är den teoretiska grundvalen för de flesta tillåtna blockchains och företagsdistribuerade databaser.
Men här är den kritiska felaktigheten i denna modell: den antar att vi känner . I praktiken gör vi det inte.
Del 2: Binomialfördelningen av nodfel
Modellering av illvilliga noder som slumpmässiga händelser
I verkliga system är noder inte tilldelade "illvilliga" eller "ärliga" etiketter vid designtid. Istället har varje nod en viss sannolikhet att bli komprometterad — på grund av:
- Programvarufel
- Dålig nyckelhantering
- Insidershotter
- Supply chain-attacker
- DDoS eller resursutmatning
- Ekonomiska incitament (t.ex. lur i blockchainsystem)
Vi modellerar varje nod som en oberoende Bernoulliförsök: med sannolikhet blir den Byzantinsk; med sannolikhet förblir den ärlig.
Det totala antalet illvilliga noder i ett system med storlek följer binomialfördelningen:
Där:
- = slumpvariabel som representerar antalet Byzantinska noder
- = totalt antal noder
- = sannolikheten att en enskild nod är Byzantinsk
Sannolikhetsmassfunktionen (PMF) ger oss sannolikheten att exakt noder är illvilliga:
Där är binomialkoefficienten: " väljer ".
Vi bryr oss om kumulativ sannolikheten att antalet illvilliga noder överskrider :
Detta är sannolikheten att vårt system misslyckas med att nå konsensus — eftersom för många noder är illvilliga.
Exempel: Ett 10-nod-system med
Antag att varje nod har en 5% chans att bli komprometterad (). Vi designar systemet för att tolerera Byzantinsk nod, så vi behöver .
Men vad om vi har ? Det är fler noder — säkrare?
Låt oss beräkna sannolikheten att (dvs. mer än en nod är illvillig):
Beräkna:
Så:
Det är en 8,6% chans att vårt system har mer än en illvillig nod — vilket innebär att det misslyckas med att uppfylla sin BFT-garanti.
Vänta — vi designade för , men med 10 noder finns det nästan en chans på 12 att vi redan överskrider gränsen.
Låt oss nu försöka , samma .
Vi antar fortfarande att vi tolererar ? Det är absurt. Men även om vi ökar proportionellt, kommer vi att se något konstigt.
Antag att vi skalar för att bibehålla BFT-förhållandet. Så för , sätter vi (eftersom ).
Nu beräkna .
Det är svårare att räkna ut manuellt. Men vi kan approximera med normalapproximationen till binomialfördelningen.
Medelvärde:
Standardavvikelse:
Vi vill ha — det är mer än 8 standardavvikelser över medelvärdet.
Sannolikheten att vara från medelvärdet i en normalfördelning är mindre än — nästan noll.
Vänta. Det tyder på att är säkrare?
Men vänta — vi ändrade vår antagande.
I det första fallet var fast. I det andra ökade vi med .
Det är nyckeln.
I verkliga system, vi fixerar inte . Vi antar att vi kan tolerera upp till noder.
Så det verkliga frågan är: Vad är sannolikheten att ?
Det vill säga: Vad är sannolikheten att antalet illvilliga noder överskrider vår BFT-tröskel?
Här blir det kontraintuitivt.
Del 3: Förtroendemaksimum — En matematisk härledning
Definiera "Förtroendetröskel"
Låt oss definiera systemets förtroendevärde som:
Det vill säga: sannolikheten att antalet illvilliga noder inte överskrider vår BFT-toleransgräns.
Vi vill maximera — sannolikheten att konsensus kan nås.
Låt oss beräkna för olika värden på , med fast .
Vi beräknar för från 4 till 100.
| 4 | 1 | 0.2 | 0.43 | ~0.018 | 0.982 |
| 7 | 2 | 0.35 | 0.58 | ~0.042 | 0.958 |
| 10 | 3 | 0.5 | 0.69 | ~0.086 | 0.914 |
| 25 | 8 | 1.25 | 1.09 | ~0.14 | 0.86 |
| 50 | 16 | 2.5 | 1.54 | ~0.38 | 0.62 |
| 75 | 24 | 3.75 | 1.90 | ~0.62 | 0.38 |
| 100 | 33 | 5 | 2.18 | ~0.84 | 0.16 |
Vänta — vad?
När ökar, förtroendevärdet minskar.
Vid n=4: 98,2% chans att lyckas
Vid n=100: bara 16% chans!
Detta är Förtroendemaksimum.
Det finns ett optimalt där förtroendevärdet når sitt maximum — och därefter minskar systemtillförlitligheten när man lägger till fler noder.
Varför händer detta?
Binomialfördelningen har två nyckelegenskaper:
- Medelvärdet ökar linjärt med :
- Standardavvikelsen växer som sqrt(n)
Men vår feltoleranstreshold ökar också linjärt med .
Så vi frågar: Är antalet illvilliga noder (medel = np) mindre än eller lika med n/3?
Det vill säga: Är ?
Dividera båda sidor med n (antag att n > 0):
Detta är den kritiska insikten.
Om , då i genomsnitt är mer än en tredjedel av noderna illvilliga — vilket innebär att BFT-tröskeln redan är överskriden i förväntan. Systemet misslyckas innan det ens börjar.
Om , då är medelvärdet under tröskeln — men på grund av varians finns det fortfarande en icke-noll sannolikhet att .
Men här är knuten: när n ökar, minskar den relativa avståndet mellan μ och f.
Låt oss definiera:
Detta är "säkerhetsmarginalen" — hur långt under tröskeln vårt förväntade antal illvilliga noder ligger.
Om , då
Så när ökar, ökar — vilket innebär att säkerhetsmarginalen ökar.
Men vänta — vi såg precis att förtroendevärdet minskar med . Hur?
För att variansen ökar också.
Sannolikheten att beror på hur många standardavvikelser är över medelvärdet.
Låt oss beräkna z-värdet:
Förenkla:
Så z-värdet ökar med sqrt(n).
Detta innebär: när ökar, ökar antalet standardavvikelser mellan medelvärdet och tröskeln — vilket borde göra minskar, eller?
Men vår tidigare tabell visade det motsatta.
Vad är fel?
Ah — vi gjorde ett kritiskt misstag.
I vår tabell antog vi felaktigt att är tröskeln — men för , är vi inte ens nära att överskrida den.
Så varför minskade förtroendevärdet?
För att vi tillämpade modellen felaktigt.
Låt oss rätta detta.
Del 4: Det verkliga problemet — p är inte fast
Fel i vår tidigare analys var att anta att p är konstant.
I verkligheten, när system blir större, ökar p.
Varför?
Incitamentsproblemet
I små system (n=4) har en illvillig aktör lite att vinna. Kostnaden för att kompromettera en nod är hög relativt belöningen.
I stora system (n=10 000) kan en enda illvillig nod:
- Manipulera konsensusresultat
- Stjäla pengar (i blockchain)
- Störa tjänster
- Sälja åtkomst till mörkwebben
Den förväntade värde av kompromiss ökar med systemstorlek.
Förutom det lockar större system fler angripare. Fler noder = större attackyta.
Detta är ekonomiska skaleffekter i cyberattacker.
Så vi måste modellera som en funktion av .
Låt oss definiera:
Där:
- är bas-sannolikheten för kompromiss i ett småsystem
- är en attackyta-skalfaktor
Detta reflekterar den empiriska observationen: större system är mer lockande mål, och svårare att säkra enhetligt.
Till exempel:
- (1% chans per nod i ett småsystem)
Då:
| 4 | 1 | 0.04 | 0.20 | 4.75 | ~0.00001 | |
| 25 | 8 | 0.26 | 0.50 | 15.3 | ~0 | |
| 100 | 33 | 1.04 | 1.01 | 31.7 | ~0 | |
| 500 | 166 | 5.25 | 2.27 | 70.8 | ~0 |
Ännu försumbar?
Vänta — vi underskattar fortfarande p.
Låt oss använda en mer realistisk modell.
Realistisk angriparmodell:
I verkliga system (t.ex. offentliga blockchains) ökar sannolikheten för kompromiss med systemstorlek på grund av:
- Ökad attackyta
- Högre ekonomiska incitament
- Lägre per-nod-säkerhetsinvestering (ekonomiska skaleffekter i attacker, inte försvar)
Empirisk data från blockchain-attacker visar att för system med >100 noder är sannolikheten för kompromiss per nod ofta > 5%, och för system med >10 000 noder (som Ethereum) uppskattas den vara > 15% på grund av botnät, komprometterade validerare och Sybil-attacker.
Låt oss anta:
Detta modellerar en mättnad angripar-sannolikhet: när ökar, närmar sig 15% asymptotiskt.
Nu beräkna:
| 10 | 0.07 | 3 | 0.7 | 0.81 | 2.84 | ~0.002 |
| 50 | 0.13 | 16 | 6.5 | 2.37 | 4.01 | ~0.00003 |
| 100 | 0.14 | 33 | 14 | 3.52 | 5.40 | ~ |
| 200 | 0.145 | 66 | 29 | 4.87 | 7.58 | ~ |
| 500 | 0.149 | 166 | 74.5 | 7.82 | 11.69 | ~0 |
Ännu försumbar?
Då varför ser vi konsensusfel i verkliga system?
För att vår modell fortfarande antar att p är låg.
Låt oss försöka ett mer realistiskt scenario:
Även om vi antar — vilket redan är mycket högt för en enskild nod — vad händer?
| 10 | 0.25 | 3 | 2.5 | 1.37 | 0.36 | ~0.36 |
| 25 | 0.25 | 8 | 6.25 | 2.17 | 0.80 | ~0.21 |
| 50 | 0.25 | 16 | 12.5 | 3.06 | 1.14 | ~0.13 |
| 75 | 0.25 | 24 | 18.75 | 3.75 | 1.40 | ~0.08 |
| 100 | 0.25 | 33 | 25 | 4.33 | 1.85 | ~0.032 |
| 200 | 0.25 | 66 | 50 | 6.12 | 2.61 | ~0.0045 |
| 300 | 0.25 | 99 | 75 | 7.5 | 3.20 | ~0.0007 |
Ännu lågt.
Men nu låt oss försöka p = 0.3
| n | p=0.3 | f = floor((n-1)/3) | μ = n*p | σ | z = (f - μ)/σ | P(X > f) |
|---|---|---|---|---|---|---|
| 10 | 0.3 | 3 | 3 | 1.45 | 0 | ~0.5 |
| 25 | 0.3 | 8 | 7.5 | 2.41 | 0.21 | ~0.42 |
| 50 | 0.3 | 16 | 15 | 3.24 | 0.31 | ~0.38 |
| 75 | 0.3 | 24 | 22.5 | 4.10 | 0.37 | ~0.36 |
| 100 | 0.3 | 33 | 30 | 4.58 | 0.65 | ~0.26 |
| 200 | 0.3 | 66 | 60 | 6.48 | 0.93 | ~0.18 |
| 500 | 0.3 | 166 | 150 | 10.25 | 1.56 | ~0.06 |
Nu ser vi något djupgående.
När , är det förväntade antalet illvilliga noder exakt vid BFT-tröskeln: .
Så P(X > f) är runt 25% till 6% — vilket innebär att även i ett system med perfekt säkerhet (p=0.3), finns det en chans på 1:4 till 1:20 att konsensus misslyckas.
Och om ?
Låt oss försöka p = 0.35
Låt oss försöka
| 10 | 0.35 | 3 | 3.5 | 1.49 | -0.34 | ~0.63 |
| 25 | 0.35 | 8 | 8.75 | 2.49 | -0.30 | ~0.62 |
| 50 | 0.35 | 16 | 17.5 | 3.40 | -0.44 | ~0.67 |
| 100 | 0.35 | 33 | 35 | 4.77 | -0.42 | ~0.66 |
| 200 | 0.35 | 66 | 70 | 6.82 | -0.59 | ~0.72 |
| 300 | 0.35 | 99 | 105 | 8.27 | -0.73 | ~0.77 |
Nu ökar sannolikheten för misslyckande med .
Vid , gör att lägga till fler noder systemet mindre pålitligt.
Detta är Förtroendemaksimum i verkligheten.
Del 5: Förtroendemaksimum — Formell definition och graf
Definition:
Förtroendemaksimum är värdet på som maximerar systemets förtroendevärde under en realistisk modell där sannolikheten för nodkompromiss ökar med systemstorlek.
Det uppstår ur interaktionen mellan:
- BFT:s krav: — tröskeln för säkerhet
- Stokastisk verklighet: , sannolikheten att en nod är komprometterad, ökar med
- Binomialvarians: När n ökar, sprider sig fördelningen av illvilliga noder
Matematisk villkor för Förtroendemaksimum:
Låt
Vi vill hitta så att:
Detta inträffar när ökningen i börjar överväga fördelen med ytterligare redundancy.
I praktiken, för de flesta verkliga system med till , inträffar Förtroendemaksimum mellan och .
Däröver stabiliseras eller minskar förtroendevärdet.
Grafisk representation (konceptuell)
Tänk dig en graf med:
- X-axel: Antal noder
- Y-axel: Förtroendevärde
Kurvan stiger brant från till , når sitt maximum runt , och minskar sedan långsamt.
Vid :
Vid : (maximum)
Vid :
Vid :
Vid :
Om ökar skarpt (t.ex. på grund av höga ekonomiska incitament), flyttas toppen till vänster och plattar ut.
I system med , minskar från början.
Detta förklarar varför:
- Små, tillåtna BFT-system (som Hyperledger Fabric med 4–7 noder) är mer pålitliga än stora offentliga blockchains — inte eftersom de är "mindre decentraliserade", utan för att de opererar under Förtroendemaksimumet.
Del 6: Praktiska konsekvenser
Blockchain-system
Bitcoin använder Proof-of-Work, inte BFT. Men Ethereum 2.0 och andra PoS-kedjor använder BFT-liknande slutligitetslager (t.ex. Casper FFG) med 10 000+ validerare.
Med p ≈ 0,15–0,2 (baserat på historiska validerarnerstopp och straffhändelser), kan vi beräkna:
- n = 10 000
- f = 3 333
- μ = 1 500–2 000
- σ ≈ sqrt(10 000 * 0,2 * 0,8) ≈ 40
z = (3 333 - 2 000)/40 ≈ 33,3 → P(X > f) < 10^-245
Vänta — fortfarande säkert?
Men här är fällan: BFT antar att illvilliga noder är oberoende.
I verkligheten kan angripare:
- Kompromettera flera validerare via delad infrastruktur (t.ex. molntillhandahållare)
- Använda Sybil-attacker för att skapa falska identiteter
- Lura validerare med ekonomiska incitament
Så den effektiva p är inte oberoende — den är korrelerad.
Detta bryter binomialantagandet. Den verkliga fördelningen är inte Binomial(n,p) — den är överdisperserad.
I sådana fall är sannolikheten att överskrida högre än vår modell förutsäger — vilket gör Förtroendemaksimumet ännu tydligare.
Moln- och företagssystem
Även i företagssystem kan att lägga till fler noder för "redundans" backa.
- Flere noder = större attackyta
- Flere noder = svårare att granska, uppdatera och övervaka
- Flere noder = högre chans för felkonfiguration
En 2019-studie av Google om distribuerade lagringssystem fann att system med >50 noder hade 3 gånger fler okorrelaterade fel än system med < 10, även när hårdvara var identisk.
"För många kockar"-problemet
Detta är inte bara ett tekniskt problem — det är ett organisatoriskt.
I öppen-källkod-projekt ökar att lägga till fler bidragsgivare kodkvalitet upp till en punkt — sedan inför det koordineringsöverhead och motsatta patchar.
Samma med noder: fler noder betyder inte alltid mer säkerhet — de betyder mer komplexitet, mer entropi och fler felmodeller.
Del 7: Invändningar och begränsningar
Invändning 1: "Vi kan använda tröskelkryptografi för att minska p"
Ja — tekniker som tröskelsignaturer, hemlig delning och MPC (Multi-Party Computation) kan minska sannolikheten att en enskild nod kan agera illvilligt.
Men dessa tekniker:
- Ökar komplexitet
- Kräver förtroendesättning
- Är inte alltid genomförbara
De minskar , men de tar inte bort det. Och de lägger till sina egna attackytor.
Invändning 2: "Vi kan upptäcka och straffa illvilliga noder"
I blockchain har vi straff. I företagssystem har vi övervakning.
Men upptäckt är inte perfekt.
- Illvilligt beteende kan vara subtilt (t.ex. fördröja meddelanden)
- Falska positiva orsakar livslöshetsfel
- Straff är fördröjt — konsensus kan redan ha misslyckats
Detta ändrar inte sannolikhetsmodellen — det lägger bara till en korrektionslager efter fel.
Invändning 3: "Regeln n=3f+1 är konservativ — vi kan använda optimistisk BFT"
Ja, protokoll som HotStuff och SBFT minskar kommunikationsöverhead. Men de kräver fortfarande för säkerhet.
Den matematiska grundvalen är oförändrad.
Begränsning: Binomialmodellen antar oberoende
I verkligheten är nodfel ofta korrelerade:
- Alla noder på AWS us-east-1 går ner i ett utbrott
- En enda exploit komprometterar en bibliotek som används av alla noder
Detta bryter binomialantagandet. Den verkliga fördelningen är inte oberoende Bernoulliförsök.
I sådana fall är sannolikheten att överskrida högre än vår modell förutsäger — vilket gör Förtroendemaksimumet ännu tydligare.
Begränsning: p(n) är svårt att mäta
Vi har inte bra empirisk data om för de flesta system. Vi antar att det ökar med — men hur snabbt?
Detta är ett öppet forskningsfråga.
Del 8: Designkonsekvenser och bästa praxis
Regel av tummen för systemdesignare:
Skala inte BFT-system över om du inte har starka bevis att
För de flesta system är det optimala antalet noder mellan 7 och 20.
Rekommendationer:
- Använd små BFT-grupper för kritiska konsensuslager — t.ex. 7 noder i ett konsortium-blockchain.
- Undvik offentliga, tillåtna BFT med >100 noder om du inte har ekonomiska garantier (t.ex. staking-straff som gör attackerkostnad > belöning).
- Använd hybridarkitekturer: Kombinera BFT med probabilistisk slutlighet (som Bitcoins 6 bekräftelser) för skalbarhet.
- Övervaka : Spåra kompromissfrekvenser per nod. Om , minska eller öka säkerhet.
- Använd mångfald: Kör inte alla noder på samma molntillhandahållare, OS eller hårdvara — minska korrelation.
- Acceptera att perfekt konsensus är omöjligt — designa för gradvis försämring.
"Goldilocks-zonen" för förtroende
Det finns en gyllene zon:
- För få noder: sårbar mot enskilda felpunkter
- För många noder: sårbarheten ökar snabbare än redundancy
Goldilocks-zonen är till .
Detta förklarar varför:
- Bitcoin har ~10 000 noder men använder PoW — inte BFT
- Ethers konsensuslager har ~150 000 validerare — men använder ett annat modell (Casper FFG med ekonomisk straff)
- Hyperledger Fabric rekommenderar 4–7 noder
- Googles Spanner använder Paxos med ~5 repliker
Detta är inte slump. Det är optimering mot Förtroendemaksimumet.
Del 9: Slutsats — Skalningens paradox
Vi började med en enkel, elegant regel: .
Den är matematiskt korrekt.
Men den antar att vi känner — och att är konstant.
I verkligheten ökar p med systemstorlek. Och när vi lägger till fler noder för att "öka säkerhet", ökar vi oavsiktligt sannolikheten att vårt system överskrider sin egen feltolerans.
Detta skapar ett Förtroendemaksimum — en grundläggande gräns för hur stort ett BFT-system kan vara innan det blir mindre förtroendevärd.
Detta är inte en brist i algoritmen — det är en brist i våra antaganden om skala.
Lektionen?
I distribuerade system är mer inte alltid bättre. Ibland är mindre mer — särskilt när förtroende är stokastiskt.
Att förstå detta kräver att vi går bortom deterministisk tänkande och antar stokastisk tillförlitlighetsteori.
Binomialfördelningen ljuger inte. Den säger oss: förtroende är inte linjärt med skala — det är en kurva med ett maximum.
Designa därefter.
Granskningssfrågor
- Varför misslyckas BFT-regeln när den tillämpas naivt på stora system?
- Förklara hur binomialfördelningen modellerar nodfel och varför den är lämplig här.
- Vad är Förtroendemaksimum? Varför finns det?
- Om , vad är den approximativa förtroendevärdet för ett system med ? Visa din beräkning.
- Varför kan att lägga till fler noder minskar systemtillförlitlighet i praktiken?
- Hur påverkar korrelation mellan nodfel binomialmodellen? Vilken fördelning skulle vara mer noggrann?
- I din åsikt, bör offentliga blockchains använda BFT-konsensus med >100 validerare? Varför eller varför inte?
- Föreslå en design för ett konsensusprotokoll som undviker Förtroendemaksimum-problemet.
Ytterligare läsning
- 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.
- Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
- Google SRE Book (2016). The Economics of Reliability. O’Reilly.
- Gervais, A., et al. (2016). On the Security and Performance of Proof of Work Blockchains. CCS.
- Dwork, C., & Naor, M. (1992). Pricing via Processing or Combatting Junk Mail. CRYPTO.
Sammanfattning
-regeln är en vacker matematisk garant — men den är bara giltig under antagandet att antalet illvilliga noder är fast och känt.
I verkliga system är illvilliga noder slumpmässiga händelser som styrs av sannolikhet. När systemstorleken ökar, ökar också sannolikheten för kompromiss — och med den chansen att din feltoleranstreshold överskrids.
Detta skapar ett Förtroendemaksimum: en punkt där att lägga till fler noder minskar systemtillförlitligheten.
Genom att tillämpa stokastisk tillförlitlighetsteori — särskilt binomialfördelningen av nodfel — ser vi att de mest förtroendevärdiga systemen inte är de största, utan de minsta som fortfarande tillhandahåller tillräcklig redundancy.
Detta är en djupgående insikt för systemdesignare, blockchainarkitekter och distribuerade systemsingenjörer. Förtroende är inte additivt — det är probabilistiskt. Och ibland är mindre mer.