Byzantijnse fout, of het probleem van de Byzantijnse generaals, is een veelbesproken onderwerp op verschillende gebieden, zoals informatica of gedistribueerde systemen. In crypto, met name blockchain-technologie, speelt Byzantijnse fouttolerantie (BFT) een uiterst belangrijke rol. Laten we meer te weten komen over BFT in dit artikel!
Wat is Byzantijnse fouttolerantie (BFT)?
Byzantijnse fouttolerantie is het vermogen hoe een gedistribueerd systeem of netwerk kan werken en een consensus kan bereiken (neutrale overeenkomst), aangezien sommige deelnemers mogelijk niet of kwaadwillig handelen. De naam is afgeleid van een paradox die het probleem van de Byzantijnse generaals wordt genoemd, terwijl de Byzantijnse fouttolerantie de oplossing voor het probleem is.
Om het netwerk correct te laten werken, ook al stuiten sommige deelnemers op problemen (opzettelijk of onopzettelijk), moeten er enkele gemeenschappelijke regels en voorwaarden zijn zodat de functionele deelnemers de consensus van het netwerk kunnen garanderen.
Wat is het probleem van de Byzantijnse generaals?
Het probleem van Byzantijnse generaals werd voor het eerst geïntroduceerd in 1982 in een paper door een groep mensen bij Microsoft Research. Het probleem werd duidelijk als volgt omschreven:
“Stel je voor dat verschillende divisies van het Byzantijnse leger buiten een vijandige stad zijn gekampeerd, waarbij elke divisie wordt aangevoerd door zijn eigen generaal. De generaals kunnen alleen via messenger met elkaar communiceren. Nadat ze de vijand hebben geobserveerd, moeten ze een gemeenschappelijk actieplan opstellen.
Sommige generaals kunnen echter verraders zijn en proberen te voorkomen dat de loyale generaals tot een overeenkomst komen. De generaals moeten beslissen wanneer ze de stad willen aanvallen, maar ze hebben tegelijkertijd een grote meerderheid van hun leger nodig om aan te vallen.
De generaals moeten een algoritme hebben om te garanderen dat (a) alle loyale generaals tot hetzelfde actieplan besluiten en (b) een klein aantal verraders de loyale generaals er niet toe kan brengen een slecht plan aan te nemen. De loyale generaals zullen allemaal doen wat het algoritme zegt dat ze moeten doen, maar de verraders kunnen alles doen wat ze willen. Het algoritme moet voorwaarde (a) garanderen, ongeacht wat de verraders doen. De loyale generaals moeten niet alleen overeenstemming bereiken, maar ook een redelijk plan overeenkomen.”
Het probleem van de Byzantijnse generaals, hoewel vergelijkbaar met het probleem van de twee generaals (paradox van twee generaals), is een meer algemene versie. Op een meer gecompliceerde manier kan het probleem van de Byzantijnse generaals meer variaties opleggen. De boodschappers kunnen bijvoorbeeld het bericht onderweg niet afleveren of zelfs opzettelijk de originele inhoud wijzigen.
Wat is BFT in Crypto?
In crypto, met name blockchain-technologie , speelt Byzantijnse fouttolerantie een uiterst belangrijke rol. Wanneer we het probleem van de Byzantijnse generaals toepassen op crypto, zijn de generaals de knooppunten . Alle nodes binnen een blockchain-netwerk moeten met elkaar communiceren en een manier vinden om tot consensus te komen, wat leidt tot methoden die we consensusalgoritmen noemen .
Er zijn talloze manieren om Byzantijnse fouttolerantie te bereiken. Daarom bestaan er ook verschillende consensusalgoritmen in de blockchain-ruimte, elk met zijn eigen oplossingen voor het probleem voor optimale efficiëntie.
Bitcoin , met zijn Proof of Work-consensusalgoritme, is een van de eersten die Byzantijnse fouttolerantie in crypto bereikt. Sinds de introductie in 2008 is Proof of Work een van de veiligste en betrouwbaarste oplossingen voor dit probleem gebleken, samen met het succes van Bitcoin.
Hoe Proof of Work de Byzantijnse fouttolerantie bereikt
Hoe werkt de praktische Byzantijnse fouttolerantie?
Praktische Byzantijnse fouttolerantie (pBFT) is een consensusalgoritme dat eind jaren 90 werd geïntroduceerd door Barbara Liskov en Miguel Castro met als doel de bestaande problemen van de reeds beschikbare Byzantijnse fouttolerantieoplossingen op te lossen.
Over het algemeen werkt pBFT door in eerste instantie 1 knooppunt toe te wijzen als het primaire (leider) knooppunt en andere als het secundaire (back-up) knooppunt. Elk knooppunt kan het primaire knooppunt worden als het huidige niet werkt.
Bovendien kan een pBFT-systeem functioneren wanneer en alleen wanneer het maximale aantal kwaadwillende knooppunten niet groter dan of gelijk mag zijn aan een derde van alle knooppunten in het systeem.
Er zijn 4 fasen van pBFT-consensusrondes:
- Verzoek: De client stuurt een verzoek naar het primaire (leider) knooppunt.
- Voorbereiden: het primaire (leider) knooppunt zendt het verzoek uit naar alle secundaire (back-up) knooppunten.
- Voorbereiden: De nodes (primair en secundair) voeren de gevraagde service uit.
- Commit: Het antwoord wordt naar de klant gestuurd als het geldig is.
Hoe praktisch Byzantijnse fouttolerantie (pBFT) werkt?
Centralisatie en decentralisatie
Zoals je kunt zien, moet elke node (of deelnemer) binnen het netwerk communiceren en samenwerken met de andere om Byzantijnse fouttolerantie te bereiken. Er is geen betrouwbare informatiebron waarop iemand kan vertrouwen. Daarom hoeven alleen gedecentraliseerde netwerken rekening te houden met Byzantijnse fouttolerantie.
Aan de andere kant zijn er voor gecentraliseerde netwerken altijd een of meer derde partijen die als tussenpersoon optreden tussen elke deelnemer, wat communicatie en consensus veel gemakkelijker maakt. Elke deelnemer hoeft de ander niet meer te vertrouwen; zij kunnen alle informatie eenvoudig aanleveren bij het intermediair.
Byzantijnse fouttolerantie bij centralisatie en decentralisatie
Veelgestelde vragen over BFT in Crypto
Is bewijs van inzet Byzantijnse fouttolerantie?
Zoals hierboven vermeld, vereist blockchain-technologie consensusalgoritmen om Byzantijnse fouttolerantie te bereiken. Als een van hen kan Proof of Stake voldoen aan de Byzantijnse Fault Tolerance-vereisten, net als Proof of Work.
Vind meer: Wat is PoS? Waarom is het Byzantijnse fouttolerantie?
Is Tendermint BFT?
Tendermint, voor het eerst geïntroduceerd in 2014, is de eerste aanpassing van de Proof-of-Stake-consensus afgeleid van het Practical Byzantine Fault Tolerant (PBFT) -algoritme. Het wordt dus beschouwd als een BFT Proof-of-Stake-consensusalgoritme.
Is Ethereum Byzantijnse fouttolerantie?
Ethereum gebruikt momenteel het Proof-of-Work-consensusalgoritme, vergelijkbaar met wat Bitcoin gebruikt. In de toekomst zal Ethereum zijn netwerk overschakelen naar Proof-of-Stake.
Hoe dan ook, Ethereum kan nog steeds voldoen aan de Byzantijnse fouttolerantie.
Conclusie
Byzantijnse fouttolerantie is het vermogen hoe een gedistribueerd systeem of netwerk kan werken en een consensus kan bereiken (neutrale overeenkomst), aangezien sommige deelnemers mogelijk niet of kwaadwillig handelen.
De naam is afgeleid van een paradox die het probleem van de Byzantijnse generaals wordt genoemd, terwijl de Byzantijnse fouttolerantie de oplossing voor het probleem is.
Kort gezegd verwijst het probleem van de Byzantijnse generaals naar een probleem wanneer meerdere generaals een fort willen aanvallen en als groep moeten beslissen of ze zullen aanvallen of zich terugtrekken. We moeten uitzoeken hoe deze generaals een consensus kunnen bereiken, ongeacht kwaadwillende handelingen of mislukte communicatiepogingen.
Wanneer we het probleem van de Byzantijnse generaals toepassen op crypto, zijn de generaals de knooppunten. Alle nodes binnen een blockchain-netwerk moeten met elkaar communiceren en een manier vinden om tot consensus te komen, wat leidt tot methoden die we consensusalgoritmen noemen.
Er zijn talloze manieren om Byzantijnse fouttolerantie te bereiken. Daarom bestaan er ook verschillende consensusalgoritmen in de blockchain-ruimte, elk met zijn eigen oplossingen voor het probleem voor optimale efficiëntie.