Inhoudsopgave
les 5
Wat zijn consensus mechanismen?
Wat zijn consensus mechanismes?

16 min leestijd

Bijgewerkt

Wat zijn consensus mechanismen?

Een consensus mechanisme is een systeem dat cryptocurrency’s gebruikt om een overeenstemming (consensus) te bereiken over data en de status van het netwerk. Een consensus mechanisme is noodzakelijk in een gedecentraliseerd systeem omdat niet één enkele persoon of instelling verantwoordelijk is. Op deze manier behoudt een consensus mechanisme de veiligheid en correctheid van de blockchain. Een consensus mechanisme garandeert dat alle gevalideerde transacties op de blockchain worden vastgelegd en dat elke kopie van de blockchain alle gevalideerde transacties bevat.  

Het woord consensus betekent overeenstemming. In het kader van de blockchain betekent het bereiken van consensus dat minstens 51% van de nodes op het netwerk het eens moeten zijn over de volgende status van het netwerk. 

Waarom is een consensus mechanisme noodzakelijk?

In elk gecentraliseerd systeem, zoals een bank of database met belangrijke informatie, heeft een centrale beheerder de bevoegdheid om de database te onderhouden en updaten. De verantwoordelijkheid om de database bij te werken door informatie toe te voegen, verwijderen of bij te werken, wordt uitgevoerd door één centrale autoriteit die als enige verantwoordelijk is. Dit is de definitie van een centraal systeem. 

Openbare blockchains werken als een gedecentraliseerd, zelfregulerend systeem. Een blockchain is wereldwijd beschikbaar voor iedereen en werkt zonder enige autoriteit. Het systeem is gebaseerd op de bijdragen van mensen die werken aan de verificatie en authenticatie van de uitgevoerde transacties die plaatsvinden op de blockchain. Met andere woorden: er is niet één iemand verantwoordelijk voor de blockchain, maar de verantwoordelijkheid ligt bij iedereen die is aangesloten op het netwerk. 

De openbaar gedeelde grootboeken van een blockchain hebben een veilig, efficiënt, functioneel en betrouwbaar mechanisme nodig. Dit zorgt ervoordat alle transacties op het netwerk onvervalst zijn. Het consensus mechanisme is verantwoordelijk voor deze belangrijke taak. Hiermee wordt namelijk  beslist over de legitimiteit van de bijdragen op de blockchain. 

Blockchain consensus mechanismen

Er bestaan meerdere consensus mechanismen die elk hun eigen voor- en nadelen hebben. Niet elke blockchain werkt namelijk met hetzelfde mechanisme. Dit komt omdat een blockchain verschillende doeleinden en toepassingen heeft. Organisaties en ontwikkelaars die een blockchain ontwerpen, moeten daarom goed nadenken over welk consensus mechanisme het beste bij de doeleinden past. 

Het type consensus mechanisme is niet alleen voor organisaties en ontwikkelaars belangrijk, maar ook voor de gebruikers zelf. Voordat iemand investeert in een cryptocurrency, is het belangrijk om goed te weten welk soort consensus mechanisme gebruikt wordt en hoe het werkt. 

Proof of Work

Bij het Proof of Work consensus mechanisme zijn miners in competitie met elkaar om het volgende transactieblok te valideren. Indien de miner als eerste het volgende transactieblok valideert, verdient die miner een beloning. Het Proof of Work consensus mechanisme is zeer energie-intensief, maar wel betrouwbaar. Het mechanisme wordt veel gebruikt, onder andere door  Bitcoin. Het nadeel van het Proof of Work consensus mechanisme is dat het langzaam is en daarom wil Ethereum overstappen naar het snellere Proof of Stake consensus mechanisme.

Proof of Stake

Het Proof of Stake consensus mechanisme is ontstaan als alternatief op Proof of Work en heeft lagere kosten en minder energie nodig. Bij het Proof of Stake consensus mechanisme mogen degenen met het grootste aandeel (stake) in de valuta van het netwerk nieuwe blokken valideren. Het mechanisme is gebaseerd op een willekeurig proces dat bepaalt wie het recht krijgt om het volgende blok te valideren en produceren. 

Gebruikers kunnen hun tokens (munten) voor een bepaalde tijd vergrendelen om zo in aanmerking te komen als validator. Dit proces wordt staken genoemd. Algemeen gezien heeft de gebruiker die de meeste munten bezit of de munten voor de langste periode in zijn bezit heeft, een grotere kans om een nieuw blok te valideren en te creëren. 

Het Proof of Stake mechanisme beloont degenen met het grootste aandeel in het netwerk voor hun voortdurende deelname bij de validatie van transacties. Het nadeel is dat dit consensus mechanisme het hamsteren (holding) van een cryptocurrency stimuleert en zo het uitgeven benadeelt. Om dit nadeel af te zwakken wordt er gekeken naar een nieuw systeem waarbij niet enkel degene met de grootste stake mag valideren. Er wordt ook gekeken naar  hoe lang deze eigenaar de munten vasthoudt enandere factoren. Dit gaat centralisatie van het netwerk tegen. 

Proof of Authority

Het Proof of Authority consensus mechanisme is minder gebruikelijk. Het mechanisme heeft een unieke vorm. Het is een aangepaste versie van het Proof of Stake consensus mechanisme waarbij de identiteit van de validators in het netwerk op het spel staat. De identiteit is de correspondentie tussen de persoonlijke identificatie van validators en hun officiële documentatie om hun identiteit te helpen verifiëren. De werking van het mechanisme is gebaseerd op reputatie en autoriteit in plaats van op publieke consensus zoals bij andere mechanismen. Validators van wie de identiteit op het spel staat, worden gestimuleerd om het blockchain-netwerk te beveiligen en te behouden. Het aantal validators is doorgaans vrij klein (25 of minder). 

Het mechanisme wordt voornamelijk gebruikt door particuliere bedrijven of organisaties.  

Delegated Proof of Stake

Het delegated Proof of Stake consensus mechanisme is een variant van het Proof of Stake mechanisme waarbij gebruikers die hun cryptomunten inzetten, kunnen stemmen over het aantal validators die nieuwe blokken mogen creëren. Het gewicht van de stem van een bepaalde gebruiker is gerelateerd aan zijn inzet. Degene met de meeste munten heeft zo dus de meeste stemrechten. De validator die de meest stemmen ontvangt, krijgt het recht om nieuwe blokken te valideren en te creëren. 

Het Delegated Proof of Stake consensus mechanisme is één van de snelste blockchain consensus mechanismen. Het mechanisme kan een groter aantal transacties tegelijk aan vergeleken met het Proof of Work consensus mechanisme. Omdat het systeem gebaseerd is op een gewogen stemsysteem wordt het Delegated Proof of Stake mechanisme vaak beschouwd als een digitale democratie. 

Nominated Proof of Stake

Het nominated Proof of Stake consensus mechanisme is ook een variant van het Proof of Stake mechanisme. Hier steunen nominators de gekozen validator met hun eigen inzet (stake) als blijk van vertrouwen in het goede gedrag van de validator. Nominated Proof of Stake verschilt van delegated Proof of Stake doordat nominators hun inzet verliezen als ze een slechte validator hebben gekozen. Het nominated Proof of Stake consensus mechanisme wordt bijvoorbeeld door Polkadot gebruikt. 

Proof of Capacity

Het Proof of Capacity consensus mechanisme is afhankelijk van de beschikbare opslagruimte op de harde schijf van een computer. De beschikbare opslagruimte is nodig voor het gedecentraliseerde proces voor blokverificatie- en generatie. Hoe meer beschikbare opslagruimte, hoe meer recht een bepaalde miner krijgt om transacties te valideren en vast te leggen in een nieuw blok.  

Proof of Activity

Het Proof of Activity consensus mechanisme is een combinatie van het Proof of Stake mechanisme en het Proof of Work mechanisme. Bij dit consensus mechanisme probeert een miner het beste van beide mechanismes te gebruiken. Een willekeurige groep validators wordt gekozen om het volgende blok te valideren en te creëren. De validators met een grotere inzet hebben meer kans om geselecteerd te worden. 

Proof of Elapsed Time

Het Proof of Elapsed Time consensus mechanisme gebruikt een willekeurige timer die onafhankelijk werkt op elke node van het netwerk om de verificatie van een blok willekeurig toe te wijzen aan een miner. 

Proof of Burn

Het Proof of Burn consensus mechanisme is gebaseerd op de actie dat miners periodiek munten verbranden (burn). Het verbranden van munten betekent dat deze munten permanent verwijderd worden en uit de omloop gehaald worden. Dit mechanisme valideert zo nieuwe transacties en zou inflatie voorkomen. Het verbranden van munten gebeurt door deze naar ontoegankelijke wallets te sturen waar niemand aan kan komen. 

Proof of Identity

Het Proof of Identity consensus mechanisme vergelijkt de private key van een gebruiker met een geautoriseerde identiteit. Het consensus mechanisme is een stukje cryptografisch bewijs voor de private key van een gebruiker die cryptografisch aan een specifieke transactie is gekoppeld. Elke geïdentificeerde gebruiker van een blockchain-netwerk kan een gegevensblok maken dat aan iedereen in het netwerk gepresenteerd wordt. Het Proof of Identity consensus mechanisme zorgt voor integriteit en authenticiteit van de gecreëerde data. 

Wat is een 51% aanval?

In de cryptowereld helpt een consensus mechanisme ook om aanvallen (hacks) te voorkomen. In theorie kan een hacker de consensus in gevaar brengen als hij 51% van het netwerk in zijn controle heeft. Een hacker kan zo het proces van het opnemen van nieuwe blokken in de blockchain verstoren. Hij kan voorkomen dat andere miners nieuwe blokken voltooien, waardoor de hacker in theorie het maken van nieuwe blokken monopoliseert en alle beloningen voor zichzelf opstrijkt. Bovendien kan de hacker uitgevoerde transacties omkeren en zo munten dubbel uitgeven.  

Consensus mechanismen zijn zo ontworpen dat deze 51% aanval praktisch onhaalbaar is. Bij het Proof of Work consensus mechanisme zou een hacker 51% van de rekenkracht van het netwerk onder zijn controle moeten hebben om het consensus mechanisme te omzeilen. Bij het Proof of Stake consensus mechanisme zou een hacker 51% van de totale hoeveelheid munten in bezit moeten hebben om de blockchain te manipuleren. 

Sybil resistance en kettingselectie

Eigenlijk zijn het Proof of Work en Proof of Stake consensus mechanisme op zichzelf geen echte consensus mechanismen. Ze worden wel vaak zo genoemd. Technisch gezien zijn het Sybil-resistentiemechanismen (Sybil resistance) en blokauteurskiezers. Ze maken het mogelijk om te beslissen wie de auteur van het nieuwste blok mag zijn. Een echt consensus mechanisme bestaat uit de combinatie van dit Sybil-resistentiemechanisme en een kettingselectieregel. 

Sybil-resistentiemechanisme

Sybil-resistentie evalueert hoe een protocol presteert tegen een Sybil-aanval. Een Sybil-aanval komt voor wanneer een gebruiker (of een groep gebruikers) meerdere pseudonieme identiteiten creëren en deze gebruiken om een onevenredig grote invloed op het netwerk uit te voeren. Een Sybil-aanval zou gebruikt kunnen worden voor een 51% aanval. 

Resistentie tegen deze aanvallen is essentieel in een gedecentraliseerd netwerk. Het stelt miners en validators in staat om gelijk te worden beloond op basis van de ingezette middelen. Proof of Work en Proof of Stake consensus mechanisme beschermen hiertegen door gebruikers veel energie te laten gebruiken (Proof of Work) of veel onderpand te geven (Proof of Stake). Deze beveiligingen zijn een economisch afschrikmiddel tegen Sybil-aanvallen. 

Kettingselectieregel

Een kettingselectieregel wordt gebruikt om te beslissen welke ketting (chain) de “juiste” ketting is. Dit kan op verschillende manieren. Bitcoin gebruikt momenteel de regel van de langste keten. Dit betekent dat de blockchain die het langste is, de correcte is. Deze blockchain wordt door de rest van de nodes als geldig geaccepteerd en met deze blockchain werken ze verder. Voor blockchains met het Proof of Work consensus mechanisme wordt de langste keten bepaald door de totale cumulatieve Proof of Work moeilijkheid van de keten.  

De combinatie van het Proof of Work consensus mechanisme en de langste kettingregel wordt de Nakamato Consensus genoemd.

Conclusie

Een consensus mechanisme is een protocol, algoritme of ander computersysteem dat cryptocurrency’s gebruikt om consensus te bereiken over data en netwerkstatus. Het zijn mechanismen van overeenstemming die de geldigheid van transacties en het beheer van een blockchain bepalen. Een consensus mechanisme garandeert het vertrouwen en de veiligheid in een gedecentraliseerd netwerk, zoals een blockchain. 

Er zijn verschillende soorten consensus mechanismen die elk hun voor- en nadeel hebben. Het Proof of Work en het Proof of Stake consensus mechanisme zijn bij uitstek de meest gebruikte mechanismes van een blockchain. De Bitcoin blockchain werkt met het Proof of Work consensus mechanisme. Dit mechanisme is zeer energie-intensief, wat leidde tot het ontstaan van nieuwe en efficiëntere mechanismen. Toch wordt er steeds vaker nagedacht over hoe men schone energie kan leveren aan Proof of Work blockchains. Zo is El Salvador bezig om energie op te wekken uit de warmte van vulkanen, waarna de energie wordt gebruikt voor Bitcoin-mining.

Een consensus mechanisme helpt om aanvallen te voorkomen. Wanneer een hacker de meerderheid van het netwerk in zijn controle heeft, kan hij in theorie het netwerk manipuleren. Dit wordt een 51% aanval genoemd. Consensus mechanismen zijn zo ontworpen dat 51% aanvallen praktisch onhaalbaar zijn, vanwege de grote energetische of monetaire inzet. Des te groter de market cap, en dus hoe meer geld in de blockchain, des te onwaarschijnlijker dat er een 51% attack plaatsvindt.

Proof of Authority

Het Proof of Authority consensus mechanisme is minder gebruikelijk. Het mechanisme heeft echter een unieke vorm. Het mechanisme is een aangepaste versie van het Proof of Stake consensus mechanisme waarbij de identiteit van de validators in het netwerk op het spel staat. De identiteit is de correspondentie tussen de persoonlijke identificatie van validators en hun officiële documentatie om hun identiteit te helpen verifiëren. De werking van het mechanisme is gebaseerd op reputatie en autoriteit in plaats van op publieke consensus zoals bij andere mechanismen. Validators van wie de identiteit op het spel staat, worden gestimuleerd om het blockchain-netwerk te beveiligen en te behouden. Het aantal validators is doorgaans vrij klein (25 of minder). 

Het mechanisme wordt voornamelijk gebruikt door particuliere bedrijven of organisaties die blokken gebruiken die gemaakt zijn door gescreende en goedgekeurde bronnen die een speciale toestemming hebben om het netwerk te gebruiken. 

Delegated Proof of Stake

Het delegated Proof of Stake consensus mechanisme is een variant van het Proof of Stake mechanisme waarbij gebruikers die hun cryptomunten inzetten, kunnen stemmen over het aantal validators die nieuwe blokken mogen creëren. Het gewicht van de stem van een bepaalde gebruiker is gerelateerd aan zijn inzet. Degene met de meeste munten heeft zo dus de meeste stemrechten. De validator die de meest stemmen ontvangt, krijgt het recht om nieuwe blokken te valideren en te creëren. 

Het Delegated Proof of Stake consensus mechanisme is één van de snelste blockchain consensus mechanismen. Het mechanisme kan een groter aantal transacties tegelijk aan vergeleken met het Proof of Work consensus mechanisme. Omdat het systeem gebaseerd is op een gewogen stemsysteem wordt het Delegated Proof of Stake mechanisme vaak beschouwd als een digitale democratie. 

Nominated Proof of Stake

Het nominated Proof of Stake consensus mechanisme is ook een variant van het Proof of Stake mechanisme. Bij dit mechanisme steunen nominators de gekozen validator met hun eigen inzet (stake) als blijk van vertrouwen in het goede gedrag van de validator. Nominated Proof of Stake verschilt van delegated Proof of Stake doordat nominators hun inzet verliezen als ze een slechte validator hebben gekozen. Het nominated Proof of Stake consensus mechanisme wordt onder andere door Polkadot gebruikt. 

Proof of Capacity

Het Proof of Capacity consensus mechanisme is afhankelijk van de beschikbare opslagruimte op de harde schijf van een computer. De beschikbare opslagruimte is nodig voor het gedecentraliseerde proces voor blokverificatie- en generatie. Hoe meer beschikbare opslagruimte, hoe meer recht een bepaalde miner krijgt om transacties te valideren en vast te leggen in een nieuw blok.  

Proof of Activity

Het Proof of Activity consensus mechanisme is een combinatie van het Proof of Stake mechanisme en het Proof of Work mechanisme. Bij dit consensus mechanisme probeert een miner het beste van beide mechanismes te gebruiken. Een willekeurige groep validators wordt gekozen om het volgende blok te valideren en te creëren. De validators met een grotere inzet hebben meer kans om geselecteerd te worden. 

Proof of Elapsed Time

Het Proof of Elapsed Time consensus mechanisme gebruikt een willekeurige timer die onafhankelijk werkt op elk knooppunt (node) van het netwerk om de verificatie van een blok willekeurig toe te wijzen aan een bepaalde miner. 

Proof of Burn

Het Proof of Burn consensus mechanisme is gebaseerd op de actie dat miners periodiek munten verbranden (burn). Het verbranden van munten betekent dat deze munten permanent verwijderd of geëlimineerd worden en uit de omloop gehaald worden. Dit mechanisme valideert zo nieuwe transacties en zou inflatie voorkomen. Het verbranden van munten gebeurt door deze naar ontoegankelijke wallets te sturen waar niemand aan kan komen aankan. 

Proof of Identity

Het Proof of Identity consensus mechanisme vergelijkt de private key van een gebruiker met een geautoriseerde identiteit. Het consensus mechanisme is een stukje cryptografisch bewijs voor de private key van een gebruiker die cryptografisch aan een specifieke transactie is gekoppeld. Elke geïdentificeerde gebruiker van een bepaald blockchain-netwerk kan een gegevensblok maken dat aan iedereen in het netwerk gepresenteerd kan worden. Het Proof of Identity consensus mechanisme zorgt voor integriteit en authenticiteit van de gecreëerde data. 

Wat is een 51% aanval?

In de cryptowereld helpt een consensus mechanisme ook om bepaalde soorten economische aanvallen (hacks) te voorkomen. In theorie kan een hacker de consensus in gevaar brengen als hij 51% van het netwerk in zijn controle heeft. Een hacker kan zo het proces van het opnemen van nieuwe blokken in de blockchain verstoren. Hij kan voorkomen dat andere miners nieuwe blokken kunnen voltooien, waardoor de hacker in theorie het maken van nieuwe blokken kan monopoliseren en alle beloningen voor zichzelf kan opstrijken. Bovendien kan de hacker uitgevoerde transacties omkeren en zo munten dubbel uitgeven.  

Consensus mechanismen zijn zo ontworpen dat deze 51% aanval praktisch onhaalbaar is. Bij het Proof of Work consensus mechanisme zou een hacker 51% van de rekenkracht van het netwerk onder zijn controle moeten hebben om het consensus mechanisme te omzeilen en eventuele frauduleuze transacties uit te voeren. Bij het Proof of Stake consensus mechanisme zou een hacker 51% van de totale ingezette hoeveelheid munten in zijn bezit moeten hebben om de blockchain te manipuleren. 

Sybil resistance en kettingselectie 

Eigenlijk zijn het Proof of Work en Proof of Stake consensus mechanisme op zichzelf geen echte consensus mechanismen. Ze worden echter wel vaak zo genoemd. Om echt in detail te treden zijn het technisch gezien Sybil-resistentiemechanismen (Sybil resistance) en blokauteurskiezers. Ze zijn dus met andere woorden een manier om te beslissen wie de auteur van het laatste nieuwe blok mag zijn. Een echt consensus mechanisme bestaat uit de combinatie van dit Sybil-resistentiemechanisme en een kettingselectieregel. 

Sybil-resistentiemechanisme

Sybil-resistentie evalueert hoe een protocol presteert tegen een Sybil-aanval. Een Sybil-aanval komt voor wanneer een gebruiker (of een groep van gebruikers) zich voordoet als veel gebruikers door een groot aantal pseudonieme identiteiten te creëren en deze te gebruiken om een onevenredig grote invloed op het netwerk uit te voeren. Een Sybil-aanval zou gebruikt kunnen worden om een 51% aanval uit te voeren. 

Resistentie tegen dit soort aanvallen is essentieel in een gedecentraliseerd netwerk en stelt miners en validators in staat om gelijk te worden beloond op basis van de ingezette middelen. Proof of Work en Proof of Stake consensus mechanisme beschermen hiertegen door gebruikers veel energie te laten gebruiken (Proof of Work) of veel onderpand te geven (Proof of Stake). Deze beveiligingen zijn een economisch afschrikmiddel tegen Sybil-aanvallen. 

Kettingselectieregel

Een kettingselectieregel wordt gebruikt om te beslissen welke ketting (chain) de “juiste” ketting is. Dit kan op verschillende manieren gebeuren. Bitcoin gebruikt momenteel de regel van de langste keten. Dit betekent dat de blockchain die het langste is, de correcte is. Deze blockchain wordt door de rest van de knooppunten als geldig geaccepteerd en met deze blockchain werken ze verder. Voor blockchains met het Proof of Work consensus mechanisme wordt de langste keten bepaald door de totale cumulatieve Proof of Work moeilijkheid van de keten.  

De combinatie van het Proof of Work consensus mechanisme en de langste kettingregel wordt de Nakamato Consensus genoemd.

Conclusie

Een consensus mechanisme is een protocol, algoritme of ander computersysteem dat cryptocurrency’s gebruiken om een overeenstemming (consensus) te bereiken over data en de status van het netwerk. Het zijn mechanismen van overeenstemming die de geldigheid van transacties en het beheer van een blockchain bepalen. Een consensus mechanisme garandeert het vertrouwen en de veiligheid in een gedecentraliseerd netwerk, zoals een blockchain. 

Er zijn verschillende soorten consensus mechanismen die elk hun voor- en nadeel hebben. Het Proof of Work en het Proof of Stake consensus mechanisme zijn bij uitstek de meest gebruikte consensus mechanismes van een blockchain. De Bitcoin blockchain werkt met het Proof of Work consensus mechanisme. Het Proof of Work consensus mechanisme is echter zeer energie-intensief, wat heeft geleid tot het ontstaan van nieuwe en efficiëntere mechanismen. Toch wordt er ook steeds vaker nagedacht over hoe men schone energie kan leveren aan Proof of Work blockchains. Zo is El Salvador bezig om energie op te wekken uit de warmte van vulkanen, waarna de energie wordt gebruikt voor Bitcoin-mining.

Een consensus mechanisme helpt bovendien om bepaalde soorten economische aanvallen te voorkomen. Een consensus mechanisme is gebaseerd op de meerderheid van iets, dus wanneer een hacker de meerderheid van het netwerk in zijn controle heeft, kan deze in theorie het netwerk manipuleren. Dit wordt een 51% aanval genoemd. Consensus mechanismen zijn echter zo ontworpen dat deze 51% aanval praktisch onhaalbaar is omwille van de grote energetische of monetaire inzet die nodig is om 51% van het netwerk in handen te krijgen. Des te groter de market cap, en dus hoe meer geld er in de blockchain omgaat, des te onwaarschijnlijker is dat er een 51% attack plaatsvindt.