het byzantijnse rijk

Byzantine Fault Tolerance - Simpele uitleg voor beginners

Ben je ooit de leider geweest van een groepsproject op school of op je werk? Je weet dan vast en zeker wel dat het soms erg lastig kan zijn om zo'n project in goede banen te leiden. Je hebt veel verantwoordelijkheid, en je zult andere groepsleden moeten aansporen en inspireren om bepaalde taken uit te voeren, om zo het einddoel te kunnen behalen.

Ook in het Byzantijnse Rijk waren er mensen die de leiding namen, over bijvoorbeeld het leger. Zij moesten belangrijke beslissingen nemen, zoals het bepalen van een tactiek. Maar denk ook aan het inplannen van een bepaalde aanval.

Naarmate het Byzantijnse Rijk groeide, des te moeilijker het was om beslissingen te nemen. Je had in die tijd geen mobiele telefoon waarmee je het leger dat aan de andere kant van het Byzantijnse Rijk stond kon bereiken. Ze moesten dus op zoek naar een oplossing voor dit probleem.

Deze oplossing wordt tegenwoordig nog steeds gebruikt, door bijvoorbeeld de blockchain. We noemen deze variant het Byzantine Fault Tolerance (BFT). De naam zou je stress kunnen opleveren, al is het gelukkig helemaal niet moeilijk te begrijpen. In dit artikel leg ik je op een simpele en toegankelijke manier uit wat het Byzantine Fault Tolerance is en hoe dit de blockchain verder helpt.

Bekijk snel

Het Byzantijnse Rijk

Laten we bij het begin beginnen. Want wat is het Byzantijnse Rijk ook alweer? We noemen het in Nederland ook wel het Oost-Romeinse Rijk of Imperium Romanum. Het Byzantijnse Rijk was een keizerrijk dat tussen 330 en 1453 na Christus een groot deel van het oostelijke Middellandse Zeegebied besloeg. De hoofdstad van het Byzantijnse Rijk was Constantinopel, waarvan Constantijn de Grote de oprichter was.

Het Byzantijnse Rijk heeft in veel oorlogen meegemaakt. Zo zijn ze zelf vaak aangevallen door andere groepen, maar hebben ze zelf ook veel aanvallen uitgevoerd. Dit werd gedaan door de verschillende legers die over het Byzantijnse Rijk actief waren. Echter liepen deze legers tegen een probleem aan, en dat is ook precies waar het Byzantine Fault Tolerance vandaan komt.

Vind je het interessant om meer te weten te komen over het Byzantijnse Rijk? Dan kan ik je aanraden om onderstaande video eens te bekijken. Hier wordt op een leuke manier meer uitleg gegeven over het Byzantijnse Rijk.

Wat is het Byzantine Fault Tolerance?

Het Byzantine Fault Tolerance is een manier om orde te kunnen scheppen en een controle te kunnen uitvoeren wanneer er meerdere mensen of systemen bij een keuze zijn betrokken. In het Byzantijnse Rijk waren er verschillende legers die op verschillende plekken in het Rijk waren gestationeerd. Ieder leger had een eigen generaal, die besliste wat het leger moest doen.

Wanneer er één leger is dat een dorp wil aanvallen, moeten de andere legers hier natuurlijk vanaf weten. Ook beslisten de generaals van de andere legers mee of er ook daadwerkelijk een aanval werd uitgevoerd.

Naast het uitvoeren van aanvallen, waren er nog andere beslissingen die samen genomen moesten worden. Je kunt je voorstellen dat het lastig was om voor iedere beslissing een overleg te voeren met alle generaals in het Byzantijnse Rijk. Daarom werd er een slimme en efficiënte oplossing bedacht, waarmee het nemen van beslissingen makkelijker gemaakt zou worden.

Op het moment dat er een beslissing genomen moest worden, werd er gekozen voor de optie waarbij meer dan 50% van de generaals in mee zou gaan. Er vond dus geen verdere discussie plaats; het was hoe dan ook de keuze die meer dan 50% van de stemmen kreeg.

Deze methode is erg efficiënt, doordat de keuze snel gemaakt kan worden. Iedere generaal denkt na over zijn keuze, en geeft dan aan of hij meegaat of niet. Hierna hoeft er geen discussie meer gevoerd worden, waardoor het Byzantijnse Rijk snel gestuurd kon worden. En dat was ook zeker nodig in die tijd, waar gevaar altijd op de loer lag.

Image
blockchain

Het Byzantine Fault Tolerance in blockchain

Goed, in het Byzantijnse Rijk werd er dus gebruik gemaakt van het Byzantine Fault Tolerance systeem. Maar wat heeft dat nu met blockchain te maken? Heel veel, want je zou het kunnen zien als de basis van de blockchain!

Een blockchain heeft hetzelfde probleem als de generaals in het Byzantijnse Rijk hadden. De blockchain bestaat namelijk vaak uit duizenden nodes (deelnemers) die allemaal hun werk leveren voor het netwerk. Denk bijvoorbeeld aan het toevoegen van blokken aan de blockchain.

Nodes valideren de transacties die zijn gemaakt, en voegen deze daarna toe aan de blockchain. Op het moment dat zij een blok klaar hebben, sturen ze deze richting het netwerk. Alle andere nodes in het netwerk controleren vervolgens of het blok valide is. Wanneer minimaal 51% van de nodes het blok goedkeurt, mag deze aan de blockchain worden toegevoegd.

Is meer dan 51% van de nodes het niet eens met het nieuwe blok? Dan wordt deze niet toegevoegd aan de blockchain.

Het Byzantine Fault Tolerance wordt niet alleen gebruikt voor het toevoegen van blokken. Er zijn namelijk ook andere situaties denkbaar waarbij dit systeem wordt gebruikt. Denk bijvoorbeeld aan het controleren van de nodes.

Bij het consensus algoritme Proof of Stake (PoS) moeten nodes een stake inzetten voordat ze mogen meedoen aan het netwerk van de blockchain. Je kunt dit zien als een soort borg. Op het moment dat de nodes hun werk niet goed doen, kunnen ze deze inzet verliezen. Denk hierbij aan situaties waar nodes bijvoorbeeld acties uitvoeren die ze niet uit mogen voeren, zoals het expres blijven accepteren van invalide transacties.

Andere nodes kunnen beslissen of iemand zijn werk niet goed genoeg uitvoert. Dat gebeurt dan ook door middel van het Byzantine Fault Tolerance. Op het moment dat 51% of meer van het netwerk beslist dat iemand zijn werk inderdaad niet goed uitvoert, kan deze node zijn stake verliezen. In dat geval wordt de node ook uit het netwerk verwijdert en mag het in de toekomst niet meer deelnemen aan desbetreffende blockchain.

Wil je meer weten over het Byzantine Fault Tolerance? Bekijk dan onderstaande video, waarin het op een simpele en vrij snelle manier wordt uitgelegd.

Consensus algoritme vs. Byzantine Fault Tolerance

Er zijn veel mensen die het Byzantine Fault Tolerance verwarren met het consensus algoritme. En dat is niet raar, want deze twee termen lijken erg veel op elkaar. Toch zijn er genoeg verschillen te benoemen waardoor je deze begrippen van elkaar zou moeten scheiden.

Je zou kunnen zeggen dat het Byzantine Fault Tolerance veel meer aan de basis van de blockchain staat. Ook wanneer een blockchain geen consensus algoritme zou hebben (wat nooit het geval is, maar puur ter illustratie), zou er nog steeds gebruik worden gemaakt van het Byzantine Fault Tolerance. Het Byzantine Fault Tolerance betekent namelijk dat keuzes worden gemaakt op het 51%-principe.

Het is wel vaak zo dat het consensus algoritme het Byzantine Fault Tolerance gebruikt voor bepaalde functies. Zoals bijvoorbeeld het controleren van de nodes bij het Proof of Stake algoritme. Toch mag je deze twee begrippen niet door elkaar halen. Het één is namelijk niet het ander. Daarom is het goed om te weten wat het verschil is.

51% attack

Maar is het Byzantine Fault Tolerance wel veilig? Nee, dat is niet in alle gevallen zo. Het staat vast dat het idee achter het Byzantine Fault Tolerance erg slim is, en daarom ook voor blockchains wordt gebruikt. Toch zitten er ook genoeg kwetsbaarheden in het Byzantine Fault Tolerance, waardoor veel blockchains voor een extra beveiliging moeten zorgen, zodat het algoritme niet misbruikt kan worden.

De grootste en bekendste kwetsbaarheid is waarschijnlijk de 51% attack (of 51% aanval), waar je misschien wel eens van gehoord hebt. Het is niet lastig om te begrijpen hoe deze aanval in zijn werk gaat.

Bij het Byzantine Fault Tolerance moet minimaal 51% van het netwerk het eens zijn met een bepaalde keuze. Dat betekent dat het grootste gedeelte van alle nodes voor een bepaalde keuze moeten stemmen. Maar wat als één iemand 51% van het netwerk bezit? Dan spreken we over een 51% attack.

Op het moment dat iemand het grootste gedeelte van het netwerk in bezit heeft, kan hij zijn eigen voorstellen altijd goedkeuren. Hij kan er namelijk voor zorgen dat alle nodes (die dus meer dan de helft van het netwerk beslaan) dezelfde keuze maken. Oók wanneer een transactie eigenlijk niet goedgekeurd zou mogen worden. En dat kan veel nadelige gevolgen hebben.

Een hacker kan in dat geval bijvoorbeeld alle cryptomunten naar zijn eigen wallet adres overmaken. Ook wanneer hij hier eigenlijk helemaal geen recht op zou mogen hebben.

Geen financiële voordelen

Het uitvoeren van een 51% attack heeft echter geen financiële voordelen. Op het moment dat zo'n aanval wordt uitgevoerd en door het netwerk wordt opgemerkt, zal de koers van de cryptomunt vrijwel direct in elkaar storten. En dat vaak nog voordat de hacker de mogelijkheid krijgt om zijn cryptomunten te verkopen voor fiatgeld.

Het doel van hackers die een 51% attack uitvoeren, is daarom vrijwel altijd het vernietigen van de blockchain.

Gelukkig zijn er genoeg manieren waarop blockchains zichzelf beveiligen tegen 51% attacks. Zo is het bijvoorbeeld vrijwel onmogelijk om zo'n aanval uit te voeren op de blockchain van Bitcoin, en is ook Ethereum beter beschermd tegen deze aanval zodra Ethereum 2.0 live gaat. Je hoeft je dus vaak geen zorgen te maken over dit soort aanvallen.

Toch is het belangrijk om te weten dat dit een kwetsbaarheid is van het Byzantine Fault Tolerance, en blockchains dus zelf voor de bescherming tegen dit soort aanvallen moeten zorgen. Wanneer je bijvoorbeeld een fundamentele analyse uitvoert, zou je kunnen kijken hoe de blockchain zichzelf tegen 51% aanvallen heeft beveiligd.

In onderstaande video leer je meer over de 51% attack.

Conclusie

En, begrijp je nu wat het Byzantine Fault Tolerance is? Het is eigenlijk helemaal niet lastig om te begrijpen wat het Byzantine Fault Tolerance is, toch? Eigenlijk is het vrij simpel. Dat is niet raar, want het is ook een simpele oplossing om een vrij complex probleem op te lossen. 

Al in de tijd van het Byzantijnse Rijk hadden de verschillende legers problemen om een keuze te maken. Dit komt door de grootte van het Byzantijnse Rijk. Daarom besloten de generaals van de verschillende legers dat ze een keuze zouden maken op basis van het aantal generaals dat het ergens mee eens was. Dit resulteerde erin dat minimaal 51% van de generaals achter een bepaalde keuze zouden moeten staan, voordat deze ook daadwerkelijk werd uitgevoerd.

Dit zorgde ervoor dat de legers van het Byzantijnse Rijk op een efficiënte manier aangestuurd konden worden. Maar dat is niet de enige manier waarop het Byzantine Fault Tolerance werd gebruikt. Want honderden jaren later wordt deze oplossing ook gebruikt voor een van de meest moderne technologieën van zijn tijd: de blockchain.

Het netwerk van een blockchain bestaat namelijk uit duizenden nodes. Deze nodes zullen samen moeten werken om blokken te kunnen toevoegen aan de blockchain. Hiervoor zullen de nodes het wel met elkaar eens moeten worden, en daarom wordt er gebruik gemaakt van het Byzantine Fault Tolerance. Op het moment dat 51% of meer van de nodes het eens zijn met een bepaalde keuzen, zal deze keuze worden uitgevoerd.

Deze oplossing kan echter ook voor problemen zorgen. Denk maar eens aan de 51% attack. Wanneer een hacker 51% of meer van het totale netwerk in zijn bezit krijgt, kan hij namelijk alles doorvoeren. Vaak is het doel van een 51% attack om de blockchain te vernielen. Er is namelijk vrijwel nooit financieel gewin mogelijk wanneer er een 51% attack wordt uitgevoerd.

Heb je veel aan deze uitleg over het Byzantine Fault Tolerance gehad? Of wil je graag nog meer weten over Byzantine Fault Tolerance of andere termen binnen de wereld van blockchain en crypto? Meld je dan aan bij onze AllesOverCrypto Facebookgroep! We spreken er graag over alles wat met crypto en de blockchain te maken heeft en delen er waardevolle informatie met je. Hopelijk zien we je daar!


Starten met crypto en geen idee waar je moet beginnen?

Kom dan naar onze gratis Online Bitcoin Training!

Bekijk hier wat je gaat leren!

Image
Online Bitcoin Training van allesovercrypto

 

 

 

Alle uitingen van AllesOverCrypto, waaronder begrepen alle producten (o.a. Crypto Signalen en de Crypto Masterclass), berichten en e-mails, zijn de professionele mening van AllesOverCrypto en kan op géén enkele wijze worden opgevat als een persoonlijke uitnodiging, een advies of enige aanbeveling om tot aankoop van één of meer cryptovaluta over te gaan en daarin te beleggen. AllesOverCrypto is geen financieel adviseur en beoogt dat uitdrukkelijk ook niet te zijn.

De uitingen van AllesOverCrypto hebben uitsluitend een educatief karakter en kunnen op geen enkele wijze als financieel, juridisch of fiscaal advies worden opgevat. AllesOverCrypto is geen financieel, juridisch- en/of fiscaal adviseur. Er komt geen adviesrelatie tot stand tussen jou en AllesOverCrypto.

De door AllesOverCrypto gepresenteerde informatie is door haar met de grootste aandacht en zorg samengesteld. AllesOverCrypto kan echter niet instaan voor de juistheid en/of volledigheid ervan. Het gebruik van deze informatie gebeurt op jouw eigen risico. Je dient ervan bewust te zijn dat de gepresenteerde informatie, mede door de snelheid waarmee de cryptomarkt zich beweegt, al snel achterhaald is dan wel kan zijn. Wees hiervan bewust bij het bestuderen van de informatie. Daarnaast wordt uitdrukkelijk verzocht de informatie zelf te verifiëren.

Eenieder die in één of meer cryptovaluta wil beleggen dient zijn/haar eigen onderzoek te doen alvorens een beslissing te nemen tot aan- of verkoop van cryptovaluta. AllesOverCrypto is op geen enkele wijze bij dit proces betrokken. Uitsluitend jijzelf bent verantwoordelijk voor jouw eigen aan-en verkoopbeslissingen. Het aankopen van cryptovaluta brengt vanwege de aard van het product en de volatiliteit van de cryptomarkt grote risico’s met zich mee. Deze risico’s zijn zo groot dat het zelfs mogelijk is je hele aankoopbedrag te verliezen. Koop dus geen cryptovaluta die je niet kunt veroorloven te verliezen.