Proof-of-Stake versus Proof-of-Work

Proof-of-Stake versus Proof-of-Work
Anycoin Direct

Door Anycoin Direct

Iedereen heeft wel eens gehoord over proof of stake en proof of work. Wat het nou precies inhoudt, daar gaan we je vandaag in deze les over vertellen. Ga er eens goed voor zitten en laat je mee voeren in de wereld van minen en coins staken.

In het kort betekent proof of stake dat je door coins in portefeuille te houden coins erbij krijgt.

Proof of work betekent dat je door een netwerk te ondersteunen en de blockchain bij te houden je coins erbij krijgt als je een moeilijke puzzel oplost

Wat is proof of work?

Nu je de korte versies weet zullen we wat dieper op de materie in gaan.

In 1993, de begindagen van het internet, werd er nogal op los gespamd, net als nu. Het probleem was dat netwerken door distributed denial-of-service aanvallen (DDoS) plat konden komen te liggen. Een DDoS attack betekent dat je zo veel aanvragen stuurt naar een server dat hij geen service meer kan leveren en plat ligt.

Cynthia Dwork en Moni Naor hadden hier wat op gevonden. Ze eisten dat iemand die een service opvroeg “some work” zou moeten doen om de service ook te krijgen. Dit beetje werk bestond uit verwerkingstijd van een computer. Deze simpele methode maakte het kostbaar om netwerken aan te vallen.

De terminologie “Proof of Work” werd verzonnen door Ari Juels en Markus Jakobsson in 1999.

In 2008 werd de white paper van Bitcoin geschreven door Satoshi Nakamoto, waarin het concept van proof of work en zijn consensus mechanisme beschreven werd en hoe het gebruikt wordt door het Bitcoin netwerk.

Proof of work was de eerste methode in de wereld van cryptocurrency om nieuwe coins te verwerven. Je kreeg deze coins door een wiskundige som als eerste op te lossen in een netwerk van aangesloten computers. Het eigenlijke werk dat je deed was het valideren van transacties en het toevoegen van nieuwe blocks op een blockchain.

Een blockchain is een keten van blokken die naarmate de tijd vordert uitgebreid wordt met 1 blok per keer per periode. Je kunt het visualiseren door een keten van blokken op een rij met een schakel ertussen.

Bij Bitcoin wordt iedere tien minuten een block toegevoegd aan de blockchain door validatoren. Een block bevat alle transacties en nieuwe coins van het netwerk. Deze validatoren worden miners genoemd. Ze proberen als eerste een moeilijke wiskundige puzzel op te lossen en daarmee het recht te verwerven een nieuw block toe te voegen aan de chain en de eigenaar te worden van de nieuw gemunte coins.

Er wordt gebruik gemaakt van Hashcash, een proof of work systeem dat eigenlijk bedoeld was om spam te limiteren en DDoS aanvallen te weerstaan. Dit systeem stamt uit 1997 en is uitgevonden door Adam Back. Dit algoritme zorgt ervoor dat de moeilijkheid van deze puzzel steeds verandert op basis van de rekenkracht van het hele netwerk.

Minstens 51% van de miners of validatoren moeten het eens zijn dat het nieuwe block correct is. Dit noemt men een consensus algoritme.

Het cryptografische protocol dat hierbij gebruikt wordt is zero knowledge proof. Dit betekent dat een node, of validator, aan een andere node bewijst dat hij de waarde kent van een statement zonder enige andere informatie weg te geven. Een node moet dus bewijzen dat hij de staat van het netwerk kent, zonder verdere informatie te delen of te krijgen.

Laten we een klein uitstapje maken naar het begin van het Bitcoin netwerk. Als je de enige miner bent krijg je iedere tien minuten alle nieuwe coins. Komen er nieuwe miners bij, dan is de puzzel die op moet lossen nog eenvoudig, bijvoorbeeld raad binnen tien minuten een getal tussen 1 en 1 miljoen. De eerste computer die het raadt mag het nieuwe block maken en krijgt de nieuwe coins.

Op een gegeven moment zijn er duizend computers bezig met het oplossen van deze puzzel. Dan is de oplossing erg snel gevonden en komen er te veel nieuwe blocks bij. De oplossing die Satoshi Nakamoto, de bedenker van Bitcoin, hiervoor voorstelde was de som steeds moeilijker maken, zodat er altijd iedere tien minuten een nieuw block bij komt. En zo werkt het dus al meer dan tien jaar, volledig automatisch.

Naarmate de prijs van Bitcoin stijgt komen er steeds nieuwe miners bij en wordt de som zó moeilijk, dat veel miners hem niet meer als eerste kunnen oplossen en afhaken. Het kan ook dat de kosten hoger zijn dan de opbrengsten.

Minen met proof of work is erg moeilijk en duur geworden voor Bitcoin, waardoor alleen de allerbeste computers en de laagste stroomtarieven nog rendabel zijn. Deze computers zijn slechts te betalen door mensen met veel geld.

Het minen van Bitcoin kost tegenwoordig al net zo veel stroom als heel Zweden in een jaar verbruikt. Hier begint wel enige kritiek op te komen.

Het omgekeerde kan overigens ook voor komen. Als de puzzel zo moeilijk wordt dat het minder vaak opgelost wordt dan eens per tien minuten moet het eenvoudiger worden. Als immers de oplossing niet gevonden wordt komt er geen nieuw block bij. En als er geen nieuw block bij komt worden er ook geen transacties afgehandeld.

Een andere reden voor het vergemakkelijken van het vinden van de oplossing voor de puzzel is als er minder miners zijn. Dit kan voor komen als de prijs van Bitcoin drastisch daalt of als de prijs van apparatuur en stroom minen onrendabel maakt.

Hoe werkt proof of work?

Proof of work levert een veilige en decentrale blockchain op. Hij is zo veilig, omdat zo veel miners het netwerk bij houden. Hij is decentraal, omdat iedereen het netwerk kan bijhouden, als hij wil. Iedereen met een computer kan kiezen om dit te doen en is dan een node. Er is dus geen centrale autoriteit, alles gaat automatisch. Je hebt ook geen permissie nodig van een autoriteit om mee te mogen doen.

Als een block is toegevoegd aan de blockchain kan dit niet meer veranderd worden. Deze vaste staat van een blockchain wordt vastgelegd in een grootboek en kan door iedereen ingezien worden. Dit noemt men een distributed ledger, oftewel een gedistribueerd grootboek. Alle miners en nodes beschikken over de staat van dit netwerk en het grootboek. Deze decentrale opslagmethode is dan ook een goede beveiliging tegen aanvallen op het netwerk of corruptie.

Aangezien iedereen mag meedoen is censuur ook onmogelijk. Al kunnen overheden beslissen dat het netwerk of de coin zelf verboden wordt.

Bij het toevoegen van een nieuw block wordt Byzantine Fault Tolerance gebruikt. Dit betekent dat de aangesloten computers elkaar niet hoeven te vertrouwen, maar dat ze overeenkomen dat het nieuwe block correct is omdat ze erop rekenen dat de regels die ze toepassen betrouwbaar zijn. Als 51% van de computers overeenstemmen, dan wordt het nieuwe block goedgekeurd en in het grootboek bijgeschreven.

Ieder block heeft een hash, dat wil zeggen een code, die uniek is voor het block. Deze hash wordt aan een nieuw block toegevoegd en de hash van het vorige block wordt ook in het nieuwe block geschreven, waardoor de keten niet te vervalsen is. Deze hash is een code die uitgerekend wordt door een algoritme.

Proof of work kost zo veel computerkracht dat het meestal te kostbaar is om het netwerk aan te vallen. Daar is het protocol ook voor uitgevonden.

Varianten van proof of work

Proof of elapsed time.

Via een loterij worden miners uitgeloot om een nieuw block toe te voegen en dus de nieuwe coins te krijgen.

Dit is door Intel Corporation uitgevonden in 2016 en samen met IBM en Linux ontwikkeld.Een paar kenmerken hiervan:

  • KYC (know your customer)

  • Random tijd dat een miner of node niks doet

  • Permissioned consensus in plaats van permissionless

  • De winnaar van de loterij is de miner die de kortste random tijd had

  • Een voorbeeld van een cryptocurrency die hier mee werkt is Hyperledger Sawtooth.

Delayed proof of work

Kleinere cryptocurrency netwerken hebben een lage hashrate, oftewel eenvoudigere puzzels om op te lossen vanwege lagere rekenkracht in het netwerk. Hierdoor worden ze kwetsbaar voor 51% aanvallen, waarbij aanvallers coins proberen te bemachtigen waar ze geen recht op hebben door double spending of het hele netwerk plat willen leggen.

Bij delayed proof of work wordt de hashrate van een sterk netwerk, bijvoorbeeld Bitcoin, gebruikt om het kleinere netwerk tegen aanvallen te beschermen. Bovendien moet een aanvaller nu 2/3e van de hashing power hebben om het netwerk aan te vallen, in plaats van de gebruikelijke 51%.

Regelmatig wordt een snapshot gemaakt van het netwerk als backup tegen een aanval. Als er dan een aanval volgt kan het originele netwerk altijd teruggehaald worden uit deze backup.

Voorbeeld: Komodo, een fork van ZCash.

  1. Proof of access

    Deze variant vraagt aan een miner of hij toegang heeft tot oudere blocks, naast het voorgaande block. Als hij dit kan ophoesten dan is er consensus en mag hij een nieuw block aan de blockchain toevoegen.

    Een voorbeeld hiervan is Arweave.

Wat is proof of stake?

Proof of stake (borgsom) is een consensus algoritme dat door blockchain netwerken wordt gebruikt om nieuwe blocks te creëren en transacties te valideren.

Validatoren houden de staat van de blockchain bij. Een validator mag nieuwe coins toevoegen aan het netwerk en transacties valideren, zo lang hij zijn stake ingezet heeft. Hij moet namelijk meestal een vrij forse hoeveelheid coins hebben om een validator te mogen zijn.

Deze coins zijn at stake. Als een validator zijn taken niet naar behoren vervult kan hij gestraft worden met een boete. Dit noemt men slashing. Een aantal van zijn coins at stake wordt ingenomen, zodat deze validator weet dat hij dit niet meer moet doen.

Als een validator bijvoorbeeld te vaak offline is, moeten andere validatoren blijkbaar al het werk doen. Daarvoor wordt een slash uitgedeeld. Als foutieve transacties worden goedgekeurd kun je ook een boete krijgen. Als je te vaak de fout in gaat kun je zelfs van het netwerk geweerd worden.

Als je coins staket op een exchange ben jij natuurlijk geen validator. Dat is de exchange. Zij hebben veel coins at stake en jij mag met ze meeliften voor een meestal zachte prijs. Er zijn kleine verschillen tussen hoeveel validatoren je geven voor je stake, dus enig onderzoek kan je wat extra coins opleveren.

De eerste cryptocurrency die met proof of stake werkte was the one and only Peercoin in 2012. In 2013 volgde nog NXT. In latere jaren druppelden de proof of stake netwerken binnen tot grote broer Ethereum er zelfs mee ging werken.

Andere bekende proof of stake netwerken zijn Tezos, Cardano en Polkadot.

Proof of stake zou je een distributiesysteem voor de rijken kunnen noemen. Hoe meer coins je hebt, hoe meer coins je krijgt. De minder rijken onder ons mogen bij deze gefortuneerden in hun schaduw komen staan en hopen dat deze rijke validatoren hun een eerlijke prijs geven.

Van de andere kant is het een eerlijker systeem dan proof of work in veel opzichten. Je hoeft geen validator te worden en toch kun je nog extra coins krijgen, zelfs als je maar een handvol coins hebt.

Een factor die meespeelt is hoe lang je validator bent. Hoe langer je dit doet, hoe groter de kans dat je een nieuw block mag toevoegen en de transactiekosten krijgt. Netwerken proberen op deze wijze betrouwbare validatoren te krijgen.

Proof of stake werkt ook met het willekeurig aanwijzen van validatoren om een nieuw block toe te voegen, anders zouden de langst zittende alle blocks maken.

Een prettig aspect van proof of stake is dat een 51% attack zinloos is. Aangezien je geslasht wordt bij het maken van fouten zou je op die manier enorme bedragen verliezen.

Welke soorten proof of stake zijn er?

  1. Delegated proof of stake

    Bij deze vorm van proof of stake worden validatoren gedelegeerd om blocks aan het netwerk toe te voegen. Deelnemers aan het netwerk stemmen over wie de validatoren zullen worden, zoals bij een representatieve vertegenwoordiging.

    Omdat er maar weinig validatoren zijn is het protocol snel en schaalbaar.

    Een validator zal er alles aan doen om zijn “kiezers” tevreden te houden, zodat hij een gedelegeerde blijft. Dit levert hem immers zijn inkomsten op. Hij doet dit door zich aan zijn beloften te houden, maar ook door commercieel aantrekkelijke beloningen te bieden ten opzichte van de rest van de gedelegeerden.

    Een nadeel aan dit systeem is dat er vriendjespolitiek aan te pas kan komen. Sommige delegates worden dan gekozen niet op basis van wat ze voor het netwerk doen, maar vanwege hun uitgebreide netwerk. In het uiterste geval kan zo’n vriendenkliek zelfs het hele netwerk opblazen, omdat ze slechts hun eigen belangen dienen of zelfs samen het netwerk aanvallen.

    Een voorbeeld van een coin met dit systeem is EOS.

  2. Effective proof of stake

    Het doel van dit consensus mechanisme is om centralisatie van gestakete coins te voorkomen. Dit doen ze door een combinatie van early proof of stake (wie ze het langste heeft is vaak het betrouwbaarst), deze stakers krijgen de hoogste beloningen, naast een lagere beloning voor latere investeerders die toch nog economisch interessant is.

    Voorbeeld: Harmony.

  3. Bonded proof of stake

    Bij dit protocol zetten validatoren hun coins voor een bepaalde tijd vast (bonding) waardoor ze een vergoeding krijgen voor het valideren van nieuwe blocks.

    Hoe meer coins je at stake hebt, hoe meer stemkracht je hebt.Een nadeel van dit systeem is dat validatoren grote risico’s lopen als het netwerk of de prijs instort.

    Voorbeeld: Cosmos.

  4. Pure proof of stake

    Hoe meer coins je bezit, hoe meer kans er is dat je een nieuw block mag maken en de coins krijgt.

    Stakers worden wel gerandomiseerd en geheim gekozen om blocks te valideren, maar als je meer coins at stake hebt word je sneller gekozen. Het is een soort loterij waarbij je vaker wint als je meer loten hebt. Eigenlijk is dat wel heel logisch.

    Het is een heel gedecentraliseerd systeem dat typische trucs als veel accounts aanmaken of vriendjespolitiek van gedelegeerden onmogelijk maakt.

    Voorbeeld: Algorand.

  5. Proof of stake time

    Naarmate je een coin langer at stake hebt krijg je meer opbrengsten. Hierdoor krijg je een steeds betrouwbaarder netwerk, omdat stakers hun coins vaker laten staan.

    Een nadeel van dit systeem is dat coins steeds meer in de handen van de enkeling komt. Bovendien wordt er dan vrijwel niet gehandeld in deze cryptocurrency, waardoor dat niet erg veel goeds belooft voor de prijs.

    Voorbeeld: Vericoin.

  6. Nominated proof of stake

    Bij dit consensus protocol zullen validatoren nieuwe blocks genereren. Nominators benoemen validatoren die ze steunen. Hoe meer steun validatoren krijgen in de vorm van hoogte van de stake, hoe groter de kans dat zij een nieuw block mogen maken.

    Zowel de validatoren als de nominators kunnen geslasht worden vanwege fouten in de uitvoering.

    Voorbeeld: Polkadot.

  7. Anonymous proof of stake

    Hierbij kun je anoniem staken en beloningen ontvangen zonder dat dit bekend is in de buitenwereld.

    Voorbeeld: PIVX.

  8. Leased proof of stake

    Een validator heeft een stake van een flink aantal coins van een netwerk nodig om zich zo te mogen noemen. Nodes kunnen dan coins leasen om op die manier blocks te creëren en de opbrengst te delen met de validator waar je bij geleaset hebt.

    Elke validator stelt zijn eigen voorwaarden, dus als je gaat leasen moet je goed opletten bij wie. De leaser kan altijd overstappen op een andere validator, dus moeten de validatoren er ook voor zorgen dat ze goede voorwaarden geven.

    Voorbeeld: Waves.

  9. Hybrid proof of stake

    Probeert het beste uit de combinatie proof of work en proof of stake te halen.

    Voorbeeld: DASH.

  10. Secure proof of stake

    Bij dit protocol worden validatoren willekeurig gekozen op een manier die niet te beïnvloeden is.

    Het werkt met het aantal coins dat at stake is, maar ook met een rating van de staker zelf. Zodra een validator een fout maakt zal je rating zakken en zul je niet meer zo snel gekozen worden.

    Voorbeeld: Elrond.

  11. Delegated proof of contribution

    Sommige netwerken belonen mensen die iets voor het netwerk doen. Mensen met coins mogen stemmen op mensen die het netwerk geholpen hebben, waarbij zowel de stemmers als de genomineerden een vergoeding krijgen.

    Voorbeeld: ICON.

  12. Roll delegated proof of stake

    Roll staat hier voor het rollen van een dobbelsteen, met andere woorden een RNG (random number generator).

    Deze variant van delegated proof of stake probeert de tekortkomingen van dat protocol te voorkomen door de gedelegeerden op willekeurige basis een nieuw block te laten valideren.

    Voorbeeld: IoTeX.

  13. Tresholded proof of stake

    Je coins zijn een bepaalde tijd locked at stake, waarna de beloningen uitgedeeld worden en je coins weer unlocked zijn. Er is een bepaalde drempel (treshold) waaronder je geen beloningen krijgt, afhankelijk van het aantal deelnemers en de coins die at stake zijn.

    Voorbeeld: NEAR.

Verschillen tussen proof of work en proof of stake

Uit bovenstaande tekst kun je al veel distilleren, maar we zullen de verschillen nog eens een keer de revue laten passeren, zodat ze duidelijk in beeld komen.

Beide netwerken gebruiken een consensus mechanisme om nieuwe coins te munten, maar proof of work verbruikt hierbij heel veel stroom.

Proof of stake is een systeem waarbij de rijken rijker worden, maar in ieder geval mag je nog meedoen als je maar weinig hebt, terwijl bij proof of work alleen al de miner te duur is voor de meesten onder ons.

Bij proof of stake wordt de veiligheid van het netwerk gegarandeerd doordat een malafide of slechte validator geslasht wordt en dus coins at stake verliest. Hierdoor zorgen validatoren wel dat hun dat niet gebeurt.

Bij proof of work wordt de veiligheid van het netwerk gegarandeerd doordat de kosten van een aanval zo hoog zijn dat dit onrendabel wordt mettertijd.

Bij proof of work heb je nogal wat technische kennis nodig om mee te doen. Bij proof of stake heb je vooral geld nodig.

Proof of work netwerken hebben de neiging minder snel te zijn dan proof of stake, waardoor het vaker voor komt dat er congestie ontstaat en mensen zitten te wachten tot hun transactie gevalideerd is.

Bij proof of stake kan het probleem optreden dat de validatoren zo veel coins bij elkaar krijgen dat ze de prijs van de cryptocurrency kunnen gaan beïnvloeden.

Bij proof of work bestaat het gevaar dat sommige netwerken zo veel rekenkracht bij elkaar verzamelen dat ze een 51% attack kunnen opzetten. Bij Bitcoin is er bijvoorbeeld een pool die meer dan 20% van de rekenkracht bezit van het hele netwerk. Als pools te dicht bij de 50% komen wordt ze vaak gevraagd om een splitsing te forceren om het netwerk niet in gevaar te brengen.

Transactiekosten bij proof of work zijn meestal veel hoger dan bij proof of stake.

Proof of work coins kun je op elk moment verkopen. Als je coins at stake zijn kan dat niet. Dit kan een probleem vormen bij een crash of bearmarkt. Stop losses zetten is onmogelijk als je de coins gestaket hebt.

Kleinere netwerken die met proof of work opereren kunnen sneller aangevallen worden als de rekenkracht noodzakelijk voor een aanval goedkoper is dan de kosten ervan.

Bij proof of stake is dit vrijwel onmogelijk, omdat een 51% aanval een enorm aantal coins vereist die at stake zijn en waarbij de aanvaller grote verliezen kan lijden wanneer zijn gedrag duidelijk wordt. Daar komt nog bij dat de prijs van zijn coin flink daalt als hij dat doet. Het proof of stake mechanisme is dus gebaseerd op een voor de hand liggend economisch concept.

Test je kennis

Vraag: 1/5In welk jaar werd de terminologie proof of work verzonnen?
A2008
B2009
C2000
D1999