In de wereld van de cryptocurrency vliegen je de termen om de oren, de een nog vreemder dan de ander. Een belangrijke die je regelmatig voor je kiezen krijgt, is consensus / consensusalgoritme / consensus mechanisme. In dit artikel gaan we precies vertellen wat dit is en waarom dit zo belangrijk is voor decentrale systemen.
Wat is een consensusalgoritme?
Een consensusalgoritme is een protocol dat voor overeenstemming zorgt in een systeem tussen computer en gebruikers zonder dat de betrokkenen elkaar hoeven te kennen. Gebruikers kunnen met behulp van het consensusalgoritme in overeenstemming aanpassingen maken aan het systeem in tegenstelling tot centrale systemen.
Je kunt dit wel vergelijken met een spreadsheet (in het geval van blockchain) dat door iedere deelnemer aangepast kan worden. Het consensusalgoritme zorgt er alleen voor dat iedereen het eens is met de wijzigingen die aangebracht worden. Hierdoor hoef je niet bang te zijn dat iemand ineens gegevens aanpast die in het verleden zijn ingevoerd.
In het geval van de blockchain, de database van Bitcoin, worden er tegoeden van mensen opgeslagen. Een groot probleem voor de introductie van Bitcoin en blockchain was dan ook het vertrouwen dat je moet hebben in je mede gebruikers in deze database. Als iemand zomaar transacties aan gaat passen waardoor jij ineens minder geld blijkt te hebben is dit een onwerkbare situatie. Een consensusalgoritme zorgt voor dit vertrouwen in een decentrale database. Ook voorkomt het bijvoorbeeld het double spend problem.
Ben jij klaar voor de komende bull markt?
Het is moeilijk te bepalen welke cryptocurrency zullen stijgen. Gelukkig zijn hiervoor experts die het voor je uitzoeken. Je vindt hier 3 crypto parels waarvan experts een grote stijging verwachten! Ben je een actieve handelaar en wil je meer leren over het handelen? Volg dan hier een gratis Webinar en join de community met experts.
Hoe werkt het bij Bitcoin | Proof of Work
In het geval van Bitcoin heeft iedereen een kopie van de blockchain (de database). Pas op het moment dat iedere deelnemer aan het netwerk (node) een bepaalde transactie heeft gecontroleerd met zijn eigen kopie van de blockchain en dit klopt, wordt er een nieuwe transactie doorgestuurd naar de miners. Door het consensusmechanisme dat we bij Bitcoin Proof of Work noemen wordt vervolgens de nieuwe transactie toegevoegd aan de blockchain met een hash door de miners.
Een hash is een code met random cijfers en letters die gemaakt wordt gebaseerd op de informatie (transaties) in een blok. Wordt er ook maar 1 stukje informatie in een blok aangepast, dan is de complete hash anders en valt het dus op dat er geknoeid is met de blockchain. De transactie zal dan afgekeurd worden door de nodes.
Doordat op de blockchain de blokken met transacties aan elkaar gekoppeld worden valt het snel op wanneer één van de hash codes in de blokken niet meer overeen komt met de databases van de andere deelnemers op het netwerk. Op dat moment is er geen overeenstemming met de andere databases en is het duidelijk dat er ergens geknoeid is.
Bij het Proof of Work mechanisme worden er nieuwe blokken met transacties toegevoegd door de miners. Ze stellen computers / tools (inmiddels gigantische hoeveelheden) beschikbaar om blokken te genereren met een specifieke hash. Hoe groter de blockchain al is, hoe meer computerkracht er nodig is om een nieuw block te controleren.
Alle miners werken om de juiste hash te genereren en het nieuwe block toe te voegen. Hiervoor ontvangen de miners een beloning. Dit gebeurt door veel pogingen te doen om de juiste hash te ‘raden’. Heb je het goed? Dan plaats je het nieuwe blok en ontvang je de beloning.
De enige manier om het consensusalgoritme van Bitcoin te bedriegen is door een 51% attack. Hierbij neem je ten minste 51% van alle rekenkracht in handen. Daarover kun je hier meer lezen.
Andere consensus algoritmes
Er zijn verschillende andere consensus algoritmes, zoals bijvoorbeeld Proof of Stake en Delegated Proof of Stake. Voor iedere mechanisme is wel iets te zeggen, maar het doel voor ieder algoritme is hetzelfde. Zorgen dat er een decentrale database bijgehouden wordt waarop het niet nodig is om de deelnemers te kennen. Het algoritme zorgt voor vertrouwen en maakt het doen van (financiële) transacties mogelijk zonder dat je hierbij bang hoeft te zijn dat je bedrogen wordt.