Wat is een consensus algoritme?

nieuweafbeelding

Een consensus algoritme is een proces wat er voor zorgt dat bepaalt kan worden welke data input betrouwbaar is. Het algoritme zorgt ervoor dat er overeenstemming bereikt wordt over bijvoorbeeld transacties. Bijvoorbeeld om te voorkomen dat transacties die niet echt gedaan zijn doorkomen.

Het bereiken van een juiste overeenstemming is een grote uitdaging binnen computerwetenschappen, zoals blockchain platformen. Er zijn verschillende soorten consensus algoritmes, elk met zijn eigen voor- en nadelen. De meest bekende protocollen zijn Proof-of-Work en Proof-of-Stake, maar er zijn er nog meer. In dit artikel geven we een korte uitleg over deze verschillende processen.

Inhoudsopgave

Verschillende soorten consensus algoritmes

Proof-of-Work (PoW)

PoW was het eerste consensus mechanisme dat gebruikt werd in een blockchain platform. Zowel Bitcoin als Litecoin werken met dit algoritme. In Proof-of-Work kan iedereen de rekenkracht van zijn of haar computer beschikbaar stellen om berekeningen te maken. Door deze berekeningen worden nieuwe blokken aan de blockchain toegevoegd. Dit wordt minen genoemd. Degene die een nieuw blok vindt/creëert wordt beloond met een hoeveelheid cryptocurrency. Consensus wordt bereikt door te kijken naar de langste chain. Zolang meer dan 50% van de miners goede bedoelingen heeft is de bereikte consensus te vertrouwen. Aangezien er alleen beloningen worden uitgekeerd aan gecreëerde blokken op de juiste en dus de langste chain, wordt deze 50% tot nu toe altijd ruimschoots bereikt.

Voordelen
Het laat al een aantal jaar zien dat het zeer goed werkt en betrouwbaar is.

Nadelen
Het duurt vrij lang voordat transacties worden goedgekeurd en verwerkt worden. Ook kost het proces van minen zeer veel elektriciteit en is daarom slecht voor het milieu.

Voorbeelden van crypto’s die hier gebruik van maken
Monero, Bitcoin, Litecoin, Vertcoin

Byzantine Fault Tolerance (BFT)

BFT heeft een aantal overeneenkomsten met een andere vorm van een consensus algoritme, namelijk delegated Proof-of-Stake. Hoe dat precies werkt komen we later op terug. Ook binnen BFT zijn er weer verschillen, zo maakt NEO gebruik van een gedelegeerde vorm ban BFT. Delegated Byzantine Fault Tolerance werkt als volgt; iedereen die een aandeel heeft in een specifieke cryptocurrency kan stemmen op een aantal vertegenwoordigers. Dit is een select aantal. De vertegenwoordigers komen vervolgens zelf tot overeenstemming met elkaar. Andere vormen zijn Practical (pBFT) en Federal Byzantine fault tolerance (fBFT).

Voordelen
Makkelijk schaalbaar en heel erg snel. 1000 transacties per seconde is al mogelijk.

Nadelen
Niet volledig gedecentraliseerd, en gaat daarmee in tegen het originele idee van Bitcoin.

Voorbeelden van crypto’s die hier gebruik van maken
NEO, Ripple, Stellar Lumens

Proof-of-Stake (PoS)

PoS is momenteel het meest populaire consensus algoritme binnen de wereld van cryptocurrency. In Proof-of-Stake stemmen  ‘aandeelhouders’ op de blokken waarvan zij denken dat deze geldig zijn. Wanneer meer dan de helft op de juiste chain stemt zullen de aandeelhouders die op de foutieve chain hebben gestemd hun aandeel in de juiste chain verliezen. Dit dient als motivatie om tot een juiste overeenstemming te komen.

Voordelen
Schaalbaar en efficiënt.

Nadelen
Forks (kopieën van de originele blockchain) kunnen relatief makkelijk ontstaan.

Voorbeelden van crypto’s die hier gebruik van maken
Dash, PivX, Reddcoin

Delegated Proof-of-Stake

Het principe van dPoS lijkt erg op die van PoS zelf. Het grootste verschil is dat in het geval van delegated Proof-of-Stake niet direct gestemd wordt op welke chain / blocks geldig zijn. In plaats daarvan stemt men op ‘gedelegeerden’. Deze gedelegeerden komen vervolgens met elkaar tot consensus. Over het algemeen zijn er tussen de 20 en 100 delegaties. Tot zover lijkt dPoS heel erg op dBFT. Een groot verschil is echter dat bij dPoS een delegatie kan worden weggestemd. Wanneer een gedelegeerde niet vaak genoeg nieuwe blocks verifieert of elke keer op de verkeerde chain stemt kan deze gedelegeerde weg worden gestemd.

Voordelen
Zeer snel omdat alleen een select aantal ‘delegates’ tot overeenstemming hoeft te komen.

Nadelen
Niet volledig gedecentraliseerd. Wel minder gecentraliseerd dan BFT.

Voorbeelden van crypto’s die hier gebruik van maken
EOS, Lisk, Bitshares

Andere consensus algoritmes die minder vaak gebruikt worden zijn Proof-of-Authority, Proof-of-Weight, Proof-of-Importance en Directed Acylic Graphs.