Het consensus algoritme is ontzettend belangrijk voor blockchain. Het zorgt ervoor dat het netwerk van een blockchain samen kan werken. Zonder dit algoritme zou het een groot rommeltje zijn. We mogen dus blij zijn met dit algoritme. Echter zijn er veel verschillende soorten consensus algorithms. Welke consensus algoritmes bestaan er eigenlijk?
We liggen je in dit artikel meer uit over Proof of Work, Proof of Stake, Delegated Proof of Stake, Proof of Capacity, Proof of Participation en Proof of Reputation.
Proof of Work
Het bekendste en meest gebruikte consensusmodel van blockchain is Proof of Work (PoW). Iedereen kan nieuwe blokken toevoegen en iedereen is gerechtigd om die blokken te valideren. Wanneer iemand een oplossing naar het netwerk stuurt, moet dit worden gevalideerd door de zogenaamde miners.
Echter kunnen vaak alleen de miners met de beste hardware de oplossing voor nieuwe blokken vinden. Dit doen ze door een wiskundige puzzel op te lossen. Degene die de puzzel weet op te lossen, mag het blok valideren en krijgt vervolgens een beloning.
Proof of Work lijkt een veilige manier om nieuwe blokken op het netwerk te valideren, hoewel het enkele nadelen heeft. Mensen bouwen steeds grotere serverruimtes om blokken te valideren. Degene die de beste apparatuur hebben, krijgen de kans om een beloning te krijgen.Â
Het kost veel energie om al die blokken te valideren, en het is ook niet eerlijk voor mensen die geen goede hardware hebben. Proof of Work leidt er ook toe dat mensen een mining pool starten. Dit is een groep mensen die hun krachten bundelt om zo samen blokken te kunnen valideren. Je kunt je voorstellen dat dit voor centralisatie van de blockchain zorgt.
Proof of Stake
Proof of Stake is een consensusalgoritme voor de validatie van blokken van het blockchain-netwerk, opgericht in 2012. In een Proof of Stake worden mensen willekeurig gekozen om blokken te valideren. De mensen die worden gekozen, worden geen miners genoemd, maar stakers. Het proces wordt geen mining genoemd, maar staking.Â
Als je staker wilt worden, moet je een bepaald aantal munten in het netwerk stoppen als een inzet (zie het als een borg). De grootte van de inzet bepaalt de kans om gekozen te worden als staker, dus meer geld betekent een hogere kans om gekozen te worden als staker voor het blok.
Wanneer een staker fraudeert, verliest hij zijn inzet. Dit moet ervoor zorgen dat stakers hun best doen voor het netwerk. Wanneer de staker het netwerk verlaat, krijgen ze hun inzet na een bepaalde tijd terug.Â
Delegated Proof of Stake
Een Delegated Proof of Stake-model is eigenlijk net een representatieve democratie. Deelnemers aan de blockchain stemmen met tokens op nodes welke ze vertrouwen representatief voor hen te zijn. Geselecteerde nodes worden een delegate genoemd. De geselecteerde delegates valideren de blokken in het netwerk. Wanneer een van de delegates zijn best niet doet en het netwerk ontevreden is, kan het netwerk de delegate wegstemmen.
Voordelen van dit model zijn dat het de schaalbaarheid vergroot, een betere verdeling van beloningen heeft en een real-time stembeveiliging heeft. De nadelen zijn echter dat dit model zorgt voor meer centralisatie, getuige is van kartels en het makkelijker wordt om een ​​aanval op het netwerk te organiseren. Delegated Proof of Stake wordt gebruikt door EOS, BitShare, Lisk en Steem.
Proof of Authority
In het Proof of Authority algoritme worden de transacties gevalideerd door vooraf goedgekeurde accounts. Deze accounts noemen we ook wel validators. Deze validators zijn dus van tevoren al goedgekeurd. Proof of Authority wordt daarom ook vooral gebruikt voor privé blockchains.
De transactietijd van blockchains met Proof of Authority ligt veel hoger dan bij andere blockchains. Ook is het een stuk schaalbaarder en goedkoper dan andere algoritmes. Echter heeft dit algoritme ook genoeg nadelen. Zo is het erg vatbaar voor censuur en blacklisting. Ook kan het slechte gedrag van validators niet in alle gevallen automatisch voorkomen worden. In de meeste private blockchains is dat echter ook niet nodig. Private blockchains zijn blockchains die bijvoorbeeld door bedrijven intern worden gebruikt. Denk aan Microsoft Azure en VeChain.
Proof of Reputation
Dit consensusmodel is afhankelijk van de reputatie van de deelnemers. De reputatie is gebaseerd op hun transactieactiviteit, zoals de sociale activiteit, tijd en berekening. Knooppunten die in de hoogste reputatiewaarde van 5% vallen, worden in een kandidatenpool geplaatst. Vervolgens selecteert het systeem willekeurig knooppunten uit deze pool om transacties in het netwerk te verifiëren.
Dit consensus-algoritme leidt tot snellere transacties en is zeer schaalbaar, maar de nadelen zijn dat het alleen voor private blockchains is en kwetsbaar is voor een aanval van 51%. Bewijs van reputatie wordt gebruikt door GoChain, Menlo One en Bitconch.
Proof of Capacity
Door te plotten kunnen deelnemers van het Proof of Capacity netwerk mogelijke uitkomsten op hun geheugen berekenen. Na het plotten worden de uitkomsten vergeleken met de daadwerkelijke uitkomt. Degene die het juiste antwoord heeft, mag het blok toevoegen aan de blockchain. Het betekent dat deelnemers die meer opslagruimte kunnen inzetten, meer mogelijk uitkomsten kunnen plotten, en dus een grotere kans hebben op het valideren van nieuwe blokken in de blockchain.
Het grootste voordeel is toch wel dat het energiezuinig is. Het geheugen van een miner kan namelijk voor verschillende doeleinden gebruikt worden. Wanneer iemand wil stoppen met minen, kan hij alles van zijn harde schijf verwijderen, en de harde schijf daarna volledig gebruiken als ervoor. Echter moeten miners wel veel ruimte opgeven, en dat kan gezien worden als een nadeel.
Proof of Participation
Een wat nieuwer algoritme is Proof of Participation. Het wordt sinds 2019 gebruikt voor onder andere ZooBC. Dit is een blockchain die is ontwikkeld door Blockchain Zoo. Hierbij draait het erom dat de beloningen op de juiste manier verdeeld worden. Hierdoor zal er ook meer decentralisatie zijn binnen het netwerk van de blockchain.
Iedereen kan een aanvraag indienen om een blok toe te voegen aan het netwerk. Vervolgens wordt een aanvraag automatisch geaccepteerd door middel van het netwerkprotocol dat uit specifieke regels bestaat. Iedere node heeft eenzelfde kans om deel te nemen aan het netwerk. Echter krijgen deelnemers die beter meedoen in het netwerk wel een grotere kans om een blok te mogen valideren.
Wanneer je goed je best doet binnen het netwerk, krijg je namelijk punten. Je wordt dus beoordeeld op basis van hoe goed je meedoet binnen het netwerk. Ook is het algoritme hierdoor een stuk zuiniger dan bijvoorbeeld Proof of Work. Echter is een nadeel dat nieuwkomers moeite kunnen hebben met het mogen valideren van blokken.