Hem
Artiklar
Vi förklarar bysantinsk feltolerans

Vi förklarar bysantinsk feltolerans

MedelnivÄ
Publicerad Dec 6, 2018Uppdaterad Aug 17, 2023
5m

Sedan starten av Bitcoin 2008, ett peer-to-peer- och elektroniskt kontantsystem, skapades mÄnga andra kryptovalutor, var och en med sin egen mekanism. Men en sak som nÀstan alla kryptovalutor har gemensamt Àr blockkedjan, som grundelementet i deras arkitektur.

Med nÄgra fÄ undantag Àr blockkedjor avsiktligt utformade för att vara decentraliserade, och fungerar som en digital huvudbok som underhÄlls av ett distribuerat nÀtverk av datornoder. Av denna anledning möjliggjorde blockkedjetekniken skapandet av tillförlitliga ekonomiska system, dÀr transparenta och tillförlitliga finansiella transaktioner kunde utföras utan behov av mellanhÀnder. Kryptovalutor antas som ett seriöst alternativ till traditionella bank- och betalningssystem, som Àr starkt beroende av förtroende.

Precis som de flesta distribuerade datorsystem mÄste deltagarna i ett kryptovalutanÀtverk regelbundet komma överens om blockkedjans nuvarande tillstÄnd, och det Àr detta vi kallar lyckad konsensus. Att nÄ konsensus om distribuerade nÀtverk pÄ ett sÀkert och effektivt sÀtt Àr dock lÄngt ifrÄn en lÀtt uppgift.

SÄ hur kan ett distribuerat nÀtverk av datornoder komma överens om ett beslut om nÄgra av noderna sannolikt kommer att misslyckas eller att agera oÀrligt? Detta Àr den grundlÀggande frÄgan om de sÄ kallade bysantinska generalernas problem, som introducerade begreppet bysantinsk feltolerans.


Vad Àr de bysantinska generalernas problem?

Kortfattat uppfattades de bysantinska generalernas problem 1982, som ett logiskt dilemma som illustrerar hur en grupp bysantinska generaler kan fÄ kommunikationsproblem nÀr de försöker komma överens om nÀsta drag.

Dilemmat förutsÀtter att varje general har sin egen armé och att varje grupp befinner sig pÄ olika platser runt om i staden som de tÀnker attackera. Generalerna mÄste komma överens om att antingen attackera eller dra sig tillbaka. Det spelar ingen roll om de attackerar eller drar sig tillbaka, sÄ lÀnge alla generaler nÄr konsensus, det vill sÀga Àr överens om ett gemensamt beslut, för att genomföra det samordnat.

DÀrför kan vi övervÀga följande krav:

  • Varje general mĂ„ste bestĂ€mma detta: attack eller retrĂ€tt (ja eller nej).

  • Efter att beslutet har fattats kan det inte Ă€ndras.

  • Alla generaler mĂ„ste komma överens om samma beslut och genomföra det pĂ„ ett synkroniserat sĂ€tt.

De ovannÀmnda kommunikationsproblemen Àr relaterade till det faktum att en general bara kan kommunicera med en annan via meddelanden som skickas av en kurir. Följaktligen Àr den centrala utmaningen för de bysantinska generalernas problem att meddelandena pÄ nÄgot sÀtt kan försenas, förstöras eller tappas bort.

Och Àven om bara ett meddelande lyckats levereras, kan en eller flera generaler vÀlja (oavsett anledning) att agera skadligt och skicka ett falskt meddelande för att förvirra de andra generalerna, vilket leder till ett totalt misslyckande.

Om vi tillÀmpar dilemmat i blockkedjornas sammanhang representerar varje general en nÀtverksnod och noderna mÄste nÄ konsensus om systemets nuvarande tillstÄnd. Med andra ord mÄste majoriteten av deltagarna i ett distribuerat nÀtverk komma överens och utföra samma ÄtgÀrd för att undvika ett fullstÀndigt misslyckande.

DÀrför Àr det enda sÀttet att uppnÄ konsensus i dessa typer av distribuerade system genom att ha minst 2/3 eller mer av tillförlitliga och Àrliga nÀtverksnoder. Detta innebÀr att om majoriteten av nÀtverket bestÀmmer sig för att agera skadligt Àr systemet mottagligt för fel och attacker (till exempel 51 %-attacken).


Bysantinsk feltolerans (BFT)

Kort sagt Àr bysantinsk feltolerans (BFT) egenskapen hos ett system som kan motstÄ kategorierna av misslyckanden som hÀrrör frÄn de bysantinska generalernas problem. Detta innebÀr att ett BFT-system kan fortsÀtta fungera Àven om nÄgra av noderna misslyckas eller agerar oÀrligt. 

Det finns mer Àn en möjlig lösning pÄ de bysantinska generalernas problem, och dÀrför flera sÀtt att bygga upp ett BFT-system. PÄ samma sÀtt finns det olika tillvÀgagÄngssÀtt för en blockkedja att uppnÄ bysantinsk feltolerans, och detta leder oss till de sÄ kallade konsensusalgoritmerna.


Blockkedjans konsensusalgoritmer

Vi kan definiera en konsensusalgoritm som den mekanism genom vilken ett blockkedjenÀtverk nÄr konsensus. De vanligaste implementeringarna Àr arbetsbevis och insatsbevis. Men lÄt oss ta Bitcoin-fallet som ett exempel.

Även om Bitcoin-protokollet föreskriver systemets primĂ€ra regler, Ă€r arbetsbevis-konsensusalgoritmen det som definierar hur dessa regler kommer att följas för att nĂ„ konsensus (till exempel under verifieringen och valideringen av transaktioner).

Även om konceptet arbetsbevis Ă€r Ă€ldre Ă€n kryptovalutor, utvecklade Satoshi Nakamoto en modifierad version av det som en algoritm, vilket möjliggjorde skapandet av Bitcoin som ett BFT-system.

Observera att arbetsbevis-algoritmen inte Àr 100 % tolerant mot de bysantinska felen, men tack vare den kostnadsintensiva utvinningsprocessen och de underliggande kryptografiska teknikerna har arbetsbevis visat sig vara en av de sÀkraste och mest pÄlitliga implementeringarna för blockkedjenÀtverk. I den meningen anses konsensusalgoritmen arbetsbevis, designad av Satoshi Nakamoto, av mÄnga som en av de mest geniala lösningarna pÄ de bysantinska felen.


Sammanfattningsvis

De bysantinska generalernas problem Àr ett spÀnnande dilemma som sÄ smÄningom gav upphov till BFT-systemen, vilka tillÀmpas i stor utstrÀckning i olika scenarier. Utöver blockkedjebranschen inkluderar nÄgra anvÀndningsfall av BFT-systemen flyg-, rymd- och kÀrnkraftsbranscherna.

I kryptovalutakontexten Ă€r det viktigt att ha en effektiv nĂ€tverkskommunikation tillsammans med en bra konsensusmekanism för alla blockkedjors ekosystem. Att sĂ€kra dessa system Ă€r ett stĂ€ndigt pĂ„gĂ„ende arbete, och de befintliga konsensusalgoritmerna har Ă€nnu inte övervunnit nĂ„gra begrĂ€nsningar (till exempel skalbarhet). ÄndĂ„ Ă€r arbetsbevis och insatsbevis mycket intressanta tillvĂ€gagĂ„ngssĂ€tt som BFT-system, och de potentiella tillĂ€mpningarna inspirerar verkligen till mer innovation.