Als je cryptocurrencies koopt of verkoopt, vindt er een transactie plaats. Ook als je betaalt met crypto's gebeurt dit (eigenlijk verkoop je dan digitale muntjes maar krijg je goederen in plaats van geld ervoor terug). Zo'n transactie moet worden gevalideerd, zodat de ontvanger weet dat jouw digitale muntjes ‘echt' zijn. Om te valideren zijn er twee technieken die veel gebruikt worden: Proof of work en Proof of stake. Wat dat is en wat de verschillen zijn leg ik je hier uit.
De bekendste crypto die gebruik maakt van Proof of work is Bitcoin. Toch ligt daar niet de basis van dit principe, het concept is in 1993 al bedacht en in 1999 is de naam Proof of work ontstaan. Wel is dit principe de belangrijkste grondslag voor het whitepaper uit 2008 van Nakamoto over Bitcoin.
Bitcoin staat tegenover het reguliere betaalsysteem, in die zin dat je bij een normale transactie afhankelijk bent van een derde partij (bijvoorbeeld de bank of creditcardmaatschappij). Deze partij zorgt er voor dat het bedrag bij de betaler wordt afgeschreven en bij de ontvangende partij wordt bijgeschreven. Iedereen vertrouwt erop dat die partij het juiste doet. En die partijen bezitten dus een eigen register waarin alle informatie is opgeslagen. Deze registers zijn over het algemeen privé en dus niet openlijk in te zien.
Bij Bitcoin en vele andere digitale valuta die op dezelfde manier werken, is er sprake van een openbaar register, welke decentraal is opgeslagen. Dit register wordt in de cryptowereld een ledger genoemd, oftewel grootboek. Iedereen die deel uitmaakt van het Bitcoinnetwerk (en iedereen kan daar deel van uitmaken) heeft een kopie van die ledger. Een transactie creëert een block op deze ledger, en dit block blijft tot in de eeuwigheid bestaan. Alle blocks zijn aan elkaar verbonden, vandaar de naam blockchain.
Als er een transactie plaatsvindt, wordt door middel van ingewikkelde berekeningen gecontroleerd of alles aan de transactie klopt. Is dat het geval dan wordt er een nieuw block gecreëerd op de blockchain.
De uitgevoerde berekening is ontzettend moeilijk en het vereist behoorlijk zware hardware om zo'n berekening te kunnen maken. De computer (of server) die de berekening als eerste weet uit te voeren en dus het block weet te maken, krijgt een beloning in de vorm van een vastgesteld aantal Bitcoins (of andere virtuele munt zoals Litecoin). Dit proces wordt minen of mining genoemd, en hier wordt nogal wat energie bij verbruikt.
Kort gezegd: Proof of work is een netwerkprotocol voor het bereiken van consensus over de status van de boekhouding. Oftewel, een set of regels (protocol) waarmee overeenstemming bereikt moet worden over de ledger. Deze ledger wordt steeds (elke 10 minuten) bijgewerkt met de laatst bekende gegevens (een nieuw block) door de eerder genoemde wiskundige berekeningen te laten uitvoeren door bepaalde hardware.
De miner die de rekenkracht heeft geleverd om de transactie uiteindelijk te valideren en dus het block te maken, levert bewijs van rekenkracht. Oftewel, bewijs van werk, proof of work. Het netwerk werkt alleen als er bepaalde rekenkracht aanwezig is, en dat moet bewezen worden door de berekeningen uit te voeren.
De moeilijkheid van de berekeningen worden eens in de zoveel tijd aangepast. Dit om de berekeningstijd van circa 10 minuten per block gelijk te houden (voor Bitcoins dan, voor andere munten gelden soms andere tijden). Hoe meer apparatuur er in het netwerk komt, hoe moeilijker de transacties zullen kunnen worden. Tenminste, als de apparatuur samenwerkt, in een pool of serverfarm bijvoorbeeld. Met je eigen PC zul je op dit moment weinig uit kunnen halen, daarvoor ligt de moeilijkheidsgraad nu veel te hoog. Met je eigen PC voor huis-, tuin- en keukengebruik kun je dus geen proof of work leveren op de Bitcoin ledger.
Het Proof of work principe moet ervoor zorgen dat spam buiten de deur gehouden wordt, en hacks in het netwerk gesignaleerd moeten worden. Mocht een block frauduleus zijn, dan zal dit door de miners worden opgemerkt en zal deze verwijderd of opnieuw gevalideerd worden. Ook hebben hackers weinig kans van slagen door dit principe: als een deel van het netwerk geïnfecteerd wordt, heeft dit geen effect omdat een kopie van de ledger op ontelbaar machines is opgeslagen. Ook hierbij zal het netwerk opmerken dat er een lek is en zorgen dat dit geen invloed heeft op de transacties.
Het Proof of stake protocol werkt heel anders, maar heeft wel hetzelfde doel: het valideren van transacties op de ledger. Het principe werkt echter heel anders.
Er zijn nog geen grote munten die gebruik maken van deze techniek. NEO, de nieuwe Chinese munt, is één van de eerste die we kennen, en EOS maakt ook gebruik van een vorm van Proof of stake. Ook Cardano heeft zijn technologie hierop gebaseerd. En Ethereum is bezig met een fork (Casper of Kasper) die gebruik zal gaan maken van Proof of stake. Het originele Ethereum netwerk maakt gebruik van het Proof of work protocol.
Dit principe werkt veel makkelijker dan het Proof of work protocol. Degene met het grootste aandeel munten in het netwerk, kan een transactie valideren en daarmee een beloning verdienen. Er wordt dus niet gemined. Hoelang jij de munten in je bezit hebt, telt ook mee voor de bepaling of jij de grootste bent.
Het protocol is aanzienlijk nieuwer dan dat van Proof of work, er was in 2011 pas voor het eerst sprake van. In 2012 was de eerste cryptocurrency die er gebruik van maakte een feit: Peercoin.
In een Proof of stake netwerk zijn alle munten reeds gemaakt, vandaar dat er niet gemined hoeft te worden. De munten worden uitgegeven, en de beloning voor het valideren van een transactie is dus geen miningfee maar bestaat uit (een deel van) de transactiekosten. Daarom word je geen miner maar een forger genoemd.
Je moet, als je wil staken, je munten op een speciale stakerekening zetten. Alleen munten die daarop staan, tellen mee. Je transactiebeloning kun je hier ook weer op zetten, waardoor je vermogen groeit. Hoe langer de munten op de stakerekening staan, hoe zwaarder ze meetellen.
Vanwege alle variabelen lijkt de toewijzing van de grootste meer op een loterij dan op exacte wetenschap. Of je dus geld verdient met dit forgen is alles behalve zeker, en de hoogte van je verdiensten is sowieso niet van tevoren vast te stellen.
Als je besluit je munten niet op je stakebalans te zetten, kun je er alsnog mee verdienen zonder ze te hoeven verkopen. Als je ze aanhoudt zonder er iets mee te doen levert dit 1% rente op. Dat is meer dan menig spaarrekening op dit moment!
Proof of work heeft dus een ingebouwde bescherming tegen fraude en hacking. Gebeurt dit wel dan wordt dit vanzelf door het netwerk opgelost. Mocht een validator in het Proof of stake netwerk slechte bedoelingen hebben, of gehackt worden, dan zal hij hiermee waarschijnlijk ook (een deel van) zijn eigen stake verliezen én uit de pool gegooid worden, dus het is in eigen belang om de boel niet te belazeren.
Om te kunnen minen hebt je ontzettend veel en dure apparatuur nodig, welke ook nog eens veel energie verbruiken. Dat sommige overheden op het punt staat minen te gaan verbieden, spreekt voor zich. De kosten om te gaan minen zijn dus torenhoog en daarmee enkel weggelegd voor de lucky few. Je investering is ook geen garantie tot succesvol minen, als anderen steeds sneller zijn dan jij sta je met lege handen.
Het enige gevaar bij Proof of work bestaat er eigenlijk uit dat een individu of groep 51% of meer van de rekenkracht gaat bezitten. Die kans is aanwezig, vooral gezien de maatregelen die nu genomen worden. Deze groep heeft dan de meeste kans om de snelste te zijn en kan dan transacties gaan manipuleren (in theorie dan).
Om forger te kunnen worden, moet je investeren in een stack aan munten, daarna kun je al aan de slag. Je moet natuurlijk wel zorgen dat je bij de top zit qua aantallen, en deze ook vasthouden en op de stakerekening laten staan, omdat de duur ook van belang is. Hoe meer je hebt hoe meer je kunt verdienen, waarmee je dus alleen maar groter kunt worden. Nadeel hiervan is dat je dadelijk een groepje kunt hebben die veruit de meerderheid in handen hebben, en alleen maar groter worden. Doordat je meer verdient als je ze vasthoudt, wordt het lastiger om daar tussen te komen.
Bovendien zou iemand (of een groep) die samen 51% van de munten in handen heeft, een monopoliepositie hebben. Daar staat tegenover dat je, als je groot gaat inkopen, schaarste creëert die onmiddellijk tot prijsverhogingen zal leiden, waardoor het lastig wordt voor een individu om 51% te bemachtigen. Het gevaar schuilt er vooral in dat de validators waarschijnlijk ook stemrecht krijgen over veranderingen en verbeteringen, en als dit een kleine groep machtige miljonairs is, kan dit wel eens nadelig zijn. Dan is er niet echt meer sprake van een decentraal betalingssysteem zoals bij Proof of work.
Inmiddels is er een derde methode om transacties te valideren, namelijk Proof of importance. Deze is nog vrij nieuw en wordt gebruikt door NEM. Het principe laat zich het makkelijkst vergelijken met een telefoonboom.
Als er een transactie plaatsvindt, dan zal het apparaat dat de transactie genereert, dit aan een aantal andere computers vertellen. Deze vertellen het weer aan andere, etcetera etcetera. Zodra elke computer in het netwerk het weet én akkoord geeft, is de transactie gevalideerd en zal worden doorgevoerd.
Door het deelnemen aan deze transactieboom, kun je reputatie verdienen. Hoe meer transacties je verwerkt, hoe hoger de reputatie. Eigen transacties wegen minder zwaar dan transacties van anderen. Voor elke transactie kun je een beloning ontvangen, hoe hoger je reputatie hoe hoger de beloning.
Ook je stake (grootte en hoe lang je deze vasthoudt) dragen bij aan je reputatie. Daarnaast levert een transactie met geld dat langer vaststaat een hogere reputatie op dan geld dat net ontvangen is, of helemaal niet in een stake zit. Hoe hoger je reputatie, hoe sneller je kunt stijgen op de reputatieladder.
Het ontvangen van de beloning wordt harvesten (oogsten) genoemd. Er zijn tot op heden nog geen nadelen van Proof of importance te noemen. Een groot voordeel ten opzichte van Proof of work is dat er geen zware berekeningen gemaakt hoeven worden en dat dus iedereen kan deelnemen. Ten opzichte van Proof of stake bepaalt je stake niet (alleen) je reputatie. Vooral het verwerken van transacties (van anderen) levert een hogere reputatie op.
Alle munten hebben hun eigen protocol, en afwijken is (zonder fork) niet mogelijk. We zullen het dus vooral moeten doen met wat we hebben. Proof of work en Proof of stake hebben beide voor- en nadelen en zijn zeker niet foutloos. Maar er kan altijd gewerkt worden aan verbetering.
Zowel Proof of work als Proof of stake zullen voorlopig dus naast elkaar bestaan. De één is zeker niet superieur aan de ander, hoewel er een levendige discussie gaande is over wat nu beter is. Ik denk niet dat men daar uit gaat komen, ik gok dat miners kiezen voor Proof of work en forgers voor Proof of stake. Dit is net zo'n discussie als wie de beste cola maakt.
Proof of importance wordt nog weinig gebruikt en is daarmee de new kid in town. Het lijkt het beste van twee werelden omdat er nog geen nadelen zijn te noemen. Het verbruikt weinig energie (vooral in vergelijk met minen) en je moet echt deelnemen om te kunnen verdienen (waar forgers achterover kunnen leunen). Misschien wordt dit wel de toekomst, wie weet!