Er zijn meerdere soorten consensus mechanismen. Deze zijn nodig zodat er consensus op een blockchain komt, oftewel een overeenstemming over de transacties die gedaan worden. Zonder goedkeuring kunnen er geen nieuwe blokken aan de blockchain worden toegevoegd. Doordat een blockchain een decentraal systeem is, die veilig wordt gehouden door de validatornodes, is er een algemene manier nodig om alle transacties goed te keuren. Hiervoor zijn verschillende soorten consensus mechanismen in het leven geroepen: in plaats van dat transacties door een centraal orgaan worden gecontroleerd, wordt dit door de verschillende nodes gedaan die samen consensus bereiken over de transacties die gedaan worden, waarna deze veilig uitgevoerd kunnen worden. We lichten de tien meest bekende consensus mechanismen uit.
1. Proof of Work (PoW)
Het oudste en meest bekende consensus mechanisme is Proof of Work. Deze wordt toegepast door Bitcoin. Dit houdt in dat er blokken gevalideerd moeten worden middels het raden van een getallenreeks. Dit getal wordt de nonce genoemd en bestaat uit 64 getallen die geraden moeten worden. Zogenaamde ‘miners‘ proberen de hele dag door dit getal te raden. Dit kost veel rekenkracht en wordt vaak gedaan door zware computers. De miner die als eerste het getal denkt te raden, stelt deze voor aan alle nodes. Wanneer het getal door minstens 51% van de overige nodes wordt goedgekeurd, is het getal geraden en wordt het blok aan de blockchain toegevoegd. De miner die het getal geraden heeft, wordt beloond in de vorm van de cryptocurrency van de desbetreffende blockchain. Dit is in het geval van Bitcoin momenteel 6,25 BTC. Toen het systeem begon, was dit nog 50 BTC. Als miner word je dus beloond voor je werk, vandaar de naam Proof of Work.
2. Proof of Stake (PoS)
Proof of Stake is een nieuwer mechanisme, als alternatief voor PoW. Hierbij word je niet beloond op basis van hoeveel werk je verricht, maar op basis van hoeveel je inzet. Je kan namelijk ‘investeren‘ in een project door de munten vast te zetten, die je vervolgens niet kan kopen of verkopen. Door je munten te ‘staken‘ (vastzetten), kun je transacties valideren. Dit wordt bij iedere transactie willekeurig aan nodes voorgelegd, die deze wel of niet kunnen goedkeuren. De hash van de block van deze node wordt aan alle andere nodes getoond. De andere nodes kunnen inzetten over de geldigheid van deze transacties. Wanneer de meerderheid van de nodes het eens is met het voorgestelde block, wordt de willekeurige node beloond, net als iedereen die op de node heeft gewed. Is de meerderheid het er niet mee eens? Dan verliest de willekeurige node zijn inzet en krijgt het geen beloning. Vervolgens wordt een nieuwe node willekeurig geselecteerd om zijn gegevens te delen. Er wordt dus vertrouwd op de eerlijkheid van iedere node, omdat eerlijkheid wordt beloond en anders wordt je inzet afgenomen.
3. Delegated Proof of Stake (DPoS)
Een aanpassing op het reguliere Proof of Stake mechanisme is het Delegated Proof of Stake (DPoS) mechanisme: hierbij wordt er direct gedelegeerd naar bepaalde nodes om transacties te valideren. Iedereen die zijn inzet staket, kan stemmen op een block producer. Hoe meer je zelf hebt ingezet, hoe zwaarder jouw stem weegt. Degene die de meeste stemmen krijgt, is vervolgens block producer en die mag dus de transacties valideren. Dit systeem is op deze manier betrouwbaarder omdat er democratisch wordt gekozen wie de transacties kan goedkeuren. Mocht een block producer zijn taak verzaken, kunnen mensen daar weer hun stem wegnemen en bij iemand anders inleveren. Hier word je dus ook weer beloond voor je eerlijkheid, wat de integriteit van de blockchain ten goede komt.
4. Proof of Authority (PoA)
Bij Proof of Authority (PoA) worden transacties alleen gevalideerd door goedgekeurde nodes. Dit werkt op basis van reputatie: er vindt een strenge selectie plaats alvorens je mag optreden als validator. Je moet hiervoor dan ook je identiteit opgeven, zodat men weet wie precies de node is waarin ze moeten vertrouwen. Omdat er maar een klein aantal nodes is, maakt het de blockchain minder decentraal, maar wel betrouwbaar. Er is namelijk geen communicatie tussen de nodes nodig om de transacties goed te keuren. Zowel private als publieke blockchains maken gebruik van Proof of Authority, zoals ziekenhuizen en verzekeringskantoren. Er is ook minder rekenkracht nodig voor dit mechanisme.
5. Proof of Activity (PoA)
Niet te verwarren met Proof of Authority (ook PoA), is Proof of Activity een soort mix van Proof of Work en Proof of Stake. Het mechanisme wordt gebruikt door de blockchains van Decred (DCR) en Espers (ESP). Bij dit Proof of Activity systeem verloopt het begin zoals bij PoW: nodes kunnen blokken mijnen door een zeer ingewikkelde code op te lossen met behulp van zware computers met veel rekenkracht. Wanneer de nodes denken de code opgelost te hebben, wordt deze beoordeeld door een groep validatoren. Zoals bij PoS, worden deze willekeurig gekozen. Hoe meer tokens iemand in bezit heeft, hoe groter de kans om gekozen te worden. Wanneer de hash is goedgekeurd, wordt het blok toegevoegd aan de blockchain. De vrijkomende beloning wordt verdeeld onder de succesvolle mijner en de validatoren die het blok hebben goedgekeurd.
6. Proof of Burn (PoB)
In het Proof of Burn (PoB) mechanisme word je beloond op basis van het ‘verbranden‘ van je tokens. Dat doe je door deze naar een ‘eater address‘ of ‘null address‘ te sturen. Hierna kun je je tokens nooit meer terughalen. Dit in tegenstelling tot Proof of Stake, waarbij je op ieder gewenst moment je vastgezette tokens terug kunt halen. Bij Proof of Burn zijn ze dus voor eeuwig verdwenen, waarmee je bewijst dat je je korte termijn winsten bereid bent in te leveren, in ruil voor het eeuwig kunnen mijnen van nieuwe blokken. Hiermee krijgen blockchains betrouwbare mijners, waarbij ook de schaarste van de tokens de vraag ernaar verhoogt, en dus de waarde.
7. Proof of History (PoH)
Het Proof of History (PoH) consensus mechanisme is ontwikkeld door Solana en werkt op basis van tijd. Er wordt gebruikgemaakt van een bepaalde hash, die gebaseerd is op eerdere gebeurtenissen. Je kunt dus niet zeggen dat de hash eerder is ontwikkeld, omdat dan gebeurtenissen (in dit geval transacties) al hebben plaatsgevonden, of later is ontwikkeld, omdat dan eerdere transacties niet zijn geregistreerd. Dit is ook wel een Verifiable Delay Function: ook dit systeem werkt op basis van eerdere gebeurtenissen. Aan de hand daarvan wordt een SHA256 hashing algoritme output gecreëerd. Deze output is openbaar en kan door iedereen geverifieerd worden. Hierdoor kunnen nodes controleren of de uitkomst van de Verifiable Delay Function wel klopt. Proof of History is dus een soort tijdstempel mechanisme, dat de tijd tussen transacties verifieert zonder afhankelijk te zijn van nodes.
8. Proof of Importance (PoI)
Bij Proof of Importance (PoI) word je geselecteerd als node wanneer je bewijst dat je je genoeg inzet voor de blockchain, en dus belangrijk bent. Iedereen krijgt een score, die gebaseerd is op onder andere netwerkactiviteit, vastgezette tokens en aantal transacties. Hoe hoger je score, hoe groter de kans om als node gekozen te worden om toekomstige transacties te kunnen valideren. Deze nodes kunnen dan blokken ontgrendelen en de beloning ontvangen. Het is redelijk hetzelfde als het Proof of Stake (PoS) mechanisme, echter zijn er bij Proof of Importance nog meer factoren die meespelen in je score, waarbij het bij PoS vooral belangrijk is dat je veel tokens hebt vastgezet.
9. Proof of Capacity/Proof of Space (PoC/PoSpace)
In het Proof of Capacity (PoC) of Proof of Space (PoSpace) mechanisme is het vooral van belang dat je veel ruimte hebt op je harde schijf. In plaats van constant de hash te raden en hierbij veel rekenkracht te gebruiken, is het in dit mechanisme gebruikelijk om al een hele lijst met mogelijke hashes op te slaan. Hoe meer capaciteit of ruimte jouw hard drive heeft, hoe groter de kans dat de juiste hash ertussen zit. Op die manier is ook de kans groter dat je als miner de juiste oplossing hebt en dus de beloning kan winnen. Je hebt bij dit mechanisme geen dure computers nodig met veel rekenkracht; alleen een ruime harde schijf.
10. Proof of Elapsed Time (PoET)
Bij Proof of Elapsed Time (PoET) gaat het om tijd. Iedere node wacht simpelweg tot het zijn beurt is om het blok goed te keuren. Hierbij is er geen volgorde of puntensysteem; je krijgt als node een wachttijd toebedeeld. Die tijd is volledig willekeurig. Zodra het jouw beurt is als node, mag jij het blok minen en de beloning innen. Dit kan een korte tijd zijn maar ook een langere tijd. Omdat deze wachttijd willekeurig verdeeld wordt, is dit eerlijk tegenover iedereen. Nadat je jouw beloning hebt kunnen ophalen, moet je weer voor een bepaalde tijd wachten totdat het jouw beurt is. Het Proof of Elapsed Time is zeer efficiënt en verbruikt weinig energie.
Conclusie
Behalve de welbekende Proof of Work en Proof of Stake zijn er dus meerdere mechanismen om consensus te bereiken op een blockchain en de nieuwe transacties goed te keuren. Het gaat hierbij vooral om vertrouwen in nodes, die ofwel hard werken ofwel hun moment afwachten. Samen hebben ze in ieder geval de taak om de blockchain veilig te houden en de werkzaamheden eerlijk. Op die manier hebben alle verschillende consensus mechanismen hetzelfde doel voor ogen op een unieke manier.