Wat is het Proof of Stake algoritme Casper?

met Geen reacties


Casper is een Proof of Stake consensus-mechanisme voor de Ethereum-blockchain en maakt onderdeel uit van de Serenity upgrade (Ethereum 2.0.) Ethereum voert de komende jaren verschillende aanpassingen uit aan zijn blockchainnetwerk. Een aantal upgrades is inmiddels al verschillende keren uitgesteld. De belangrijkste daarvan is waarschijnlijk de Constantinopel hard fork. Deze fork moet Ethereum voorbereiden op de overgang van Proof of Work (PoW) naar Proof of Stake (PoS). Het is de bedoeling dat Constantinople een deel van de fundering legt voor de integratie van Serenity, waardoor er een snellere, veiligere en beter schaalbare blockchain kan worden ontwikkeld.

 

Wat is een reentrancy-aanval?

Wat zijn de gevolgen van een bug in de EIP 1283?

Wat zijn EIP’s?

Welke EIP’s bevat de Constantinople upgrade?

Wat is Ethereum Ice Age?

Wat is Ethereum 2.0?

Wat is Beacon Chain?

Wat is Sharding?

Wat is eWASM?

Wat is Plasma?

Wat is Raiden?

Wat is een consensus-protocol?

Van Proof of Work naar Proof of Stake

Wat zijn validators bij Proof of Stake?

Prepare-Requirement

 

Wat is een reentrancy-aanval?

Eén van de voornaamste redenen dat Constantinople meerdere malen werd uitgesteld is een bug in de Ethereum Improvement Proposal (EIP 1283), waardoor een zogenaamde “reentrancy-aanval” kan plaatsvinden. EIP 1283 is een verbeteringsvoorstel dat zich richt op de ontwikkeling van smart contracts. Een smart contract kan communiceren met een extern smart contract (buiten de Ethereum-blockchain).

Software bug

 

Wat zijn gevolgen van de bug in EIP 1283?

Bij een reentrancy-aanval kan een kwaadaardig extern smart contract misbruik maken van de bug in EIP 1283 en zodoende de “control flow” van de smart contract-code overnemen. Hierdoor wordt een aanvaller in de gelegenheid gesteld, om onverwachte veranderingen aan te brengen aan het digitale contract. De Constantinople upgrade die waarschijnlijk op bloknummer 7280000 zal worden geactiveerd, bevat in eerste instantie wel het kwetsbare Improvement Proposal 1283, maar een extra update die direct na Constantinople volgt, zal het EIP 1283 vervolgens weer annuleren.

Nodes, blockchainnetwerk.

 

Wat zijn EIP’s?

De Constantinople upgrade bestaat na de extra upgrade die EIP 1283 uiteindelijk weer annuleert, uit 4 belangrijke Ethereum Improvement Proposals (EIPs). Deze voorstellen zorgen ervoor dat bepaalde processen niet “eenzijdig” kunnen beslissen wat er binnen een netwerk-upgrade gebeurt. Dat betekent dat iedereen binnen de Ethereum-community in de gelegenheid wordt gesteld, om voorstellen te doen voor verbeteringen aan de Ethereum-blockchain.

Upgrade

Welke EIP’s bevat de Constantinople upgrade?

Constantinople bevat de volgende Ethereum Improvement Proposals:

 

EIP 145: Bitwise Shifting Instructions

Deze Ethereum Improvement Proposal voegt Bitwise Shifting Instructions toe aan de Ethereum Virtual Machine (EVM). Door deze instructies is er minder “gas” nodig bij de uitvoering van transacties, waardoor de uitvoering van smart contracts efficiënter en goedkoper wordt.

 

EIP 1014: CREATE2

Deze upgrade verbetert de schaalbaarheid van de Ethereum-blockchain en is gebaseerd op “off-chain” transacties.

 

EIP 1052: Smart Contract Verificatie

Met EIP 1052 kunnen smart contracts elkaar verifiëren, door middel van de hash van het andere smart contract. Op dit moment (dus nog voor de Constantinople upgrade) is het zo dat smart contracts de volledige smart contract-code van een ander smart contract moeten onttrekken voor verificatie. Dat is uiteraard een zeer tijdrovend en arbeidsintensief proces. EIP 1052 maakt dit verificatieproces een stuk efficiënter.

 

EIP 1234: Block Rewards and Difficulty Bomb Delay

Dit Improvement Proposal is één van de heetste hangijzers ten aanzien van de Constantinople upgrade. Dit verbeteringsvoorstel heeft betrekking op twee belangrijke elementen: de “Difficulty Bomb Delay” en de “Block Reward Reduction”. Ethereum’s difficulty bomb verwijst naar de toename van de moeilijkheidsgraad voor de cryptografische puzzels in het mining algoritme, dat wordt gebruikt voor de beloning van miners met ether. Wanneer een cryptografische puzzel complexer wordt, wordt het voor de miners ook lastiger om ether te verdienen. De productie van nieuwe blokken wordt dus moeilijker. Hierdoor zal de blockchain als het ware “bevriezen” (Ethereum Ice Age). De Difficulty Bomb Delay stelt voor om de difficulty bomb met 12 maanden te vertragen. De Block Reward Reduction stelt een verlaging van de blokbeloning voor, van 3 ETH naar 2 ETH.

Ijsblokjes, ijsbeer, Ethereum Ice Age

Wat is Ethereum Ice Age?

De Ethereum Ice Age is een aanpassing van de moeilijkheidsgraad binnen de Ethereum-blockchain. Deze aanpassing is nodig om ervoor te zorgen dat iedere deelnemer aan het netwerk verhuist van de oude blockchain naar de nieuwe blockchain, op het moment dat de hard fork is uitgevoerd. Omdat de moeilijkheidsgraad voor de miners uiteindelijk teveel toeneemt, zal ook de bloktijd toenemen. Hierdoor verloopt het genereren van nieuwe blokken te traag en zal het oude blockchainnetwerk min of meer bevriezen. Er ontstaat dan als het ware een digitale ijstijd binnen het Ethereum-ecosysteem. Het doel van de Ethereum Ice Age is om gebruikers te stimuleren om te verhuizen van de oude “bevroren” blockchain naar de nieuwe.

 

Wat is Ethereum 2.0?

Serenity oftewel Ethereum 2.0 is de meest belangrijke ontwikkelingsfase van de Ethereum-blockchain. De “potentiële” updates in deze fase zijn allemaal gebaseerd op Proof of Stake waaronder:

 

Ethereum

Hybride consensus-mechanisme van PoW en PoS

Constantinople is een belangrijk ijkpunt in de Ethereum-roadmap. De upgrades maken het blockchainnetwerk van Ethereum geschikt voor de integratie van het Casper protocol, dat noodzakelijk is voor de overstap van Proof of Work naar Proof of Stake. Deze overstap zal geleidelijk aan worden doorgevoerd, met behulp van een hybride consensus-mechanisme van zowel PoW als PoS, die allebei tegelijkertijd op het netwerk van Ethereum kunnen worden uitgevoerd.

 

Transactiesnelheid

In de huidige blockchain-protocollen slaat iedere “full node” alle data zoals transacties, smart contract-code en andere informatie volledig op. Dit biedt een hoge mate van veiligheid, maar is niet erg gunstig voor de schaalbaarheid. Een blockchain kan namelijk niet meer transacties uitvoeren dan één enkele node kan verwerken. De transactiesnelheid van het Bitcoin-netwerk is beperkt van 3 tot 7 transacties per seconden. Bij het netwerk van Ethereum ligt de transactiesnelheid tussen de 15 en 45 transacties per seconden.

Chain, ketting.

Wat is Beacon Chain?

Beacon Chain is een coördinatielaag met het bestaande hoofdnetwerk van Ethereum en de nieuw toegevoegde functies. Deze coördinatielaag introduceert Proof of Stake als nieuw consensus-protocol binnen de Ethereum-blockchain. Beacon Chain is speciaal ontworpen voor de zogenaamde “Sharding”, een speciale methode voor de horizontale verdeling van data binnen een database.

 

 

Wat is Sharding?

Bij Sharding is de database versplinterd in kleine stukjes: de “shards”. Hierbij wordt de database als het ware in stukken gehakt en wordt iedere afzonderlijke shard op een andere server geplaatst. Sharding zorgt er in principe voor dat de noodzaak van full nodes – die alle informatie van de blockchain opslaan – verdwijnt. In plaats daarvan slaat iedere node binnen het netwerk een deelverzameling van deze data op en verifieert vervolgens alleen die specifieke transacties. Wanneer een node transactie-informatie nodig heeft die de node niet zelf heeft opgeslagen, dan communiceert deze met een andere node die de benodigde informatie wel heeft opgeslagen.

 

Crypto-economische stimulansen om bepaald gedrag binnen het blockchainnetwerk te realiseren

Bij Sharding zijn de nodes dus van elkaar afhankelijk voor het verkrijgen van informatie. Dat houdt wel in dat deze opzet niet “trustless” is. Ethereum wil dit probleem tackelen door ervoor te zorgen dat de nodes altijd geldige en correcte informatie verschaffen. Ethereum doet dit door middel van crypto-economische stimulansen. Hierdoor worden gebruikers van de Ethereum-blockchain uitgedaagd, om zich binnen het netwerk op een bepaalde manier te gedragen.

 

 

Wat is eWASM?

eWASM staat voor Ethereum Flavored WebAssembly. Op dit moment maakt Ethereum nog gebruik van de Ethereum Virtual Machine (EVM), die in staat is om code uit te voeren van willekeurige algoritmische complexiteit. De nodes zorgen ervoor dat de EVM de instructies op de juiste wijze uitvoert en er op de juiste wijze consensus binnen de blockchain kan ontstaan. Smart contracts op de Ethereum-blockchain zijn meestal geschreven in de programmeertaal Solidity. Ethereum wil dat er in de toekomst veel meer verschillende programmeertalen kunnen worden gebruikt. Het is in principe de bedoeling dat eWASM in de toekomst de Ethereum Virtual Machine gaat vervangen. Hierdoor kunnen transacties sneller worden uitgevoerd en zal de schaalbaarheid waarschijnlijk snel toenemen.

Blockchain aftakkingen

 

Wat is Plasma?

Ethereum Plasma is een nieuwe schaalbaarheidsoplossing die ervoor zorgt dat er binnen het netwerk van Ethereum, veel meer transacties per seconden kunnen worden uitgevoerd dan momenteel mogelijk is. Met deze techniek kunnen “off-chain” transacties worden uitgevoerd en kan tevens de veiligheid worden gewaarborgd door de onderliggende Ethereum-blockchain. Plasma creëert de mogelijkheid voor zogenaamde “child-blockchains” die zijn verbonden aan het hoofdnetwerk van Ethereum. Deze child-blockchains kunnen op hun beurt zelf ook weer hun eigen child blockchain-netwerken voortbrengen. Het netwerk kun je als het ware zien als een digitaal ecosysteem met een heleboel vertakkingen van de Ethereum-hoofdblockchain.

 

 

Plasma maakt complexe operaties sneller en goedkoper

Plasma is in staat om grotere datasets te verwerken dan met de huidige blockchains mogelijk is. Door deze opzet wordt het mogelijk om in de toekomst nog complexere operaties uit te voeren, binnen het decentrale gedistribueerde ecosysteem. De Plasma-blokketen maakt transacties sneller en goedkoper, dan wanneer transacties alleen worden uitgevoerd op het hoofdnetwerk van Ethereum. De transacties hoeven namelijk niet allemaal meer te worden gekopieerd door alle individuele nodes binnen de gehele blockchain.

Ketting, chain

Wat is Raiden?

Raiden is een “off-chain” netwerk dat de schaalbaarheid van de Ethereum-blockchain moet gaan vergroten. Het is een extra laag bovenop het netwerk. Raiden hanteert een andere aanpak van de blockchain-consensus. Hierbij zorgt een netwerk van verschillende transactiekanalen “off-chain” voor een veilige overdracht van waarde, zonder dat er bij iedere transactie gebruik hoeft te worden gemaakt van de Ethereum-blockchain zelf. Met Raiden kunnen miljoenen individuele transactiekanalen aan elkaar worden gekoppeld. Hoe meer gebruikers transacties uitvoeren, hoe meer transactiekanalen er worden gecreëerd. Raiden zorgt dus voor een interactie tussen de hoofdblockchain van Ethereum en de transactiekanalen. Hoe meer mensen het Raiden-netwerk gebruiken, hoe sterker het netwerk uiteindelijk wordt.

 

Blockchaintechnologie en decentralisatie

Decentralisatie speelt een belangrijke rol bij blockchaintechnologie. Bijna alle informatie die we vandaag de dag opslaan wordt geregistreerd in centrale databases. Deze databases worden beheerd door machtige centrale autoriteiten en bedrijven. Eén van de belangrijkste kenmerken van open blockchainnetwerken is dat ze volledig gedecentraliseerd zijn. Hierdoor valt de noodzaak van machtige centrale partijen voor databeheer weg en houden individuele gebruikers zelf de controle over al deze data. Misbruik van data kan daardoor worden geminimaliseerd. Het decentrale karakter van de blockchain houdt in dat deze technologie niet meer afhankelijk is van één centraal controlepunt. Hierdoor kunnen allerlei processen binnen informatiesystemen eerlijker en veiliger worden uitgevoerd.

 

Wat is een consensus-protocol?

Bij blockchaintechnologie draait het om decentrale distributie van waarde, waarbij de transacties tussen gebruikers veilig en vertrouwd kunnen worden uitgevoerd zonder derde partijen. Binnen een blockchain worden deze transacties gevalideerd door nodes (computers binnen het netwerk). Deze nodes maken voor het validatieproces gebruik van zogenaamde “consensus-protocollen”, die ervoor zorgen dat alle data transparant en permanent binnen de blockchain wordt opgeslagen.

Blokken van de blockchain

Correcte informatie

Een consensus-protocol is een reeks regels (algoritme) die beschrijft hoe en wanneer de communicatie en overdracht van informatie tussen de nodes, precies moeten worden uitgevoerd. Omdat de informatie die binnen een blockchain wordt opgeslagen niet meer kan worden veranderd, is het zeer belangrijk dat de gedetailleerde data die wordt vastgelegd, ook honderd procent correct is. Foutieve informatie binnen een blockchainnetwerk kan niet zomaar meer worden gewijzigd en dat levert direct een aantal zeer ingewikkelde problemen op.

 

 

Ethereum maakt de overstap van Proof of Work naar Proof of Stake

De Ethereum-blockchain treft voorbereidingen om over te schakelen van het Proof of Work algoritme naar de Proof of Stake consensus. Ethereum heeft de ambitie om uit te groeien tot een wereldcomputer, die op termijn de “centrale” client-server systemen zou kunnen gaan vervangen. De servers worden hierbij vervangen door duizenden en duizenden nodes, die verspreid zijn over de hele wereld. Ethereum maakt gebruik van een turing-volledige programmeertaal (waaronder Solidity) en dat betekent dat gebruikers zelf programma’s kunnen schrijven in de vorm van smart contracts.

 

Oplossen van rekenkundige problemen op een efficiënte manier

Deze slimme contracten kunnen automatisch binnen de Ethereum-blockchain worden uitgevoerd en zijn in staat om rekenkundige problemen op een efficiënte manier op te lossen. Smart contracts draaien binnen het netwerk van Ethereum en voeren opdrachten exact uit zoals ze geprogrammeerd zijn. Hierbij is er in principe geen risico van downtime (uitvaltijd), censuur, fraude of inmenging van derde partijen.

Blockchain, cryptocurrency, private keys

 

Wat is Proof of Work precies?

Proof of Work (PoW) is op dit moment nog het meest gebruikte consensus-algoritme en wordt onder andere gebruikt door de Bitcoin-blockchain. PoW heeft als voornaamste doel: het valideren van transacties binnen het netwerk en voorkomen dat deze transacties tweemaal kunnen worden gespendeerd.

 

Hoe worden blokken met Proof of Work gemined?

Om transacties via PoW binnen een blockchainnetwerk te kunnen valideren, moeten er blokken ‘gemined‘ worden door miners. Hiervoor is een behoorlijke hoeveelheid rekenkracht (hashrate) nodig, die door mining-computers (mining-rigs) wordt geleverd. De miners moeten met deze rekenkracht vervolgens een ingewikkelde wiskundige puzzel oplossen. De eerste miner die deze puzzel oplost ontvangt een beloning voor de geleverde computerkracht, in de vorm van een bepaalde hoeveelheid cryptocurrency’s. Daarnaast ontvangt de miner ook een transactievergoeding. Iedere keer wanneer miners een blok ‘minen, dan kiezen zij een aantal transacties uit de zogenaamde ‘memory pool‘, waarin alle onbevestigde transacties zijn opgeslagen. De miners voegen deze transacties vervolgens samen in een blok.

Elektriciteit, bliksemschicht. Casper Proof of stake verbruikt minder elektriciteit dan Proof of Work.

 

Proof of Work gaat gepaard met enorm veel energieverspilling

Het grote probleem van Proof of Work is dat er voor dit proces een heleboel elektriciteit nodig is. Volgens sommigen verbruikt PoW zelfs net zoveel energie als bijvoorbeeld heel Oostenrijk. Naast het probleem van energieverspilling bestaat er bij PoW ook het risico van ‘centralisering’ van het blockchainnetwerk. Om energiekosten en kosten voor dure hardware te besparen, werken de miners vaak samen in grote ‘mining pools‘. Deze samenwerkingsverbanden leiden tot een centralisering van het blockchainnetwerk. Centralisering van blockchains is in de ogen van veel blockchain-experts een onwenselijke situatie. Bij Bitcoin hebben bijvoorbeeld 4 grote mining pools de controle over 50% van alle rekenkracht. Bij het netwerk van Ethereum zorgen zelfs maar 3 grote mining pools voor de helft van alle hashrate.

 

Asic-mining voert dezelfde taken uit tegen veel lagere kosten

Een belangrijke oorzaak van centralisering door Proof of Work is het zogenaamde ‘ASIC-mining‘. Bij deze manier van mining wordt gebruikgemaakt van zogenaamde Application Specific Integrated Circuits. Dit zijn chips die voor één enkel doel zijn ontworpen. Deze chips zijn ingebouwd in speciale moederborden. ASIC’s zijn specifiek ontwikkeld voor het uitvoeren van ingewikkelde berekeningen voor de Proof of Work. Ze leveren een hele hoge hashrate en het energieverbruik is relatief laag, in vergelijking met de algemene hardware die voor de PoW wordt gebruikt. ASIC-mining kan dezelfde taken efficiënter uitvoeren, tegen veel lagere kosten.

Bitcoin miner, uitleg blockchain.

Dominante positie van ASIC’s binnen het Bitcoin-netwerk

De combinatie tussen prestatie en energiebesparing zorgt ervoor dat ASIC’s veel economischer zijn voor het miningproces. De Bitcoin werd door Satoshi Nakamoto – inmiddels ruim 13 jaar geleden – geïntroduceerd als platform waaraan iedereen op een eerlijke manier kon deelnemen. De Bitcoin-blockchain moest een volledig gedistribueerd, gedecentraliseerd netwerk blijven. In de begindagen van Bitcoin waren het voornamelijk CPU’s en GPU’s die door de miners werden gebruikt. Toen de waarde van de Bitcoin steeg en de populariteit van de virtuele coin langzaam maar zeker toenam, begonnen de ASIC’s het Bitcoin-netwerk te domineren. Hierdoor werd het voor gewone miners steeds lastiger om nog Bitcoins te minen, met hun relatief eenvoudige mining-hardware. De concurrentie was gewoonweg te groot.

 

Wat zijn ASIC-bestendige cryptocurrency’s?

Deze dominante ASIC’s werden voor het grootste deel ontwikkeld door een aantal grote en machtige Chinese bedrijven, waaronder Bitmain en Canaan Creative. Deze situatie werd langzaam maar zeker een bedreiging voor het ‘decentrale karakter’ van het Bitcoinnetwerk. Daarom werden er ASIC-resistente cryptocurrency’s ontworpen die weerstand boden aan de ASIC’s hardware. Deze ASIC-bestendige crypto-valuta kunnen in principe alleen maar worden gemined met gewone consumenten-hardware, zoals CPU’s en GPU’s. Wanneer een crypto-coin ASIC-resistent is, dan wil dat echter niet zeggen dat er in de toekomst geen ASIC’s meer worden ontwikkeld, die wel in staat zijn om de desbetreffende cryptocurrency’s te minen. Het is waarschijnlijk slechts een kwestie van tijd voordat iemand een Application Specific Integrated Circuit ontwikkelt, die wél met die specifieke coins overweg kan.

Wereldkaart, China

Veel Chinese ASIC’s hebben een bedenkelijke reputatie

Het is inderdaad zo dat ASIC’s bijdragen aan de centralisering van een blockchain. Het risico van 51% aanvallen is groter omdat de rekenkracht nu eenmaal gemakkelijker kan worden geconcentreerd, door grote groepen miners die samenwerken. Daarnaast is het zo dat ongeveer 74% van alle rekenkracht binnen het Bitcoinnetwerk wordt geleverd door Chinese miners. Veel ASIC’s zijn ontwikkeld door Chinese bedrijven met een bedenkelijke reputatie. Ze bieden vaak een gebrekkige dienstverlening en een te beperkte garantie, op de door hen geleverde mining-hardware. ASIC’s worden dan ook niet zonder meer door alle miners vertrouwd. Aan de ander kant is het zo dat ASIC’s vaak moeilijk te verkrijgen zijn, omdat ze maar in beperkte hoeveelheden op de markt worden gebracht.

 

Zijn ASIC-resistente algoritmen een oplossing tegen centralisering van blockchains?

Wanneer een cryptocurrency ASIC-resistent is, dan heeft dat niet alleen maar betrekking op de decentralisatie van een blockchainnetwerk. Ook de mate van vrijheid en eerlijkheid binnen de blockchain speelt een hele grote rol. Miners moeten ervan uit kunnen gaan dat ze met hun ‘eenvoudige’ consumenten-hardware effectief kunnen minen en kunnen concurreren met andere miners binnen het netwerk. Dus ook met miners die over veel geavanceerdere apparatuur beschikken. Alleen als iedereen binnen de blockchain een gelijkwaardige kans heeft om blokken te minnen, blijft het netwerk gedecentraliseerd en toegankelijk voor iedereen. Of ASIC-resistente algoritmen de oplossing zijn tegen centralisering is nog erg onduidelijk.

Centralised, decentralised, distributed.

 

Een blockchainnetwerk wordt steeds zwaarder

Naast energieverspilling en het risico van centralisering is er nog een andere probleem met Proof of Work, en dat is de slechte schaalbaarheid. De mate van schaalbaarheid hangt voor een heel groot gedeelte af, van de manier waarop transacties worden afgehandeld en hoe nodes met elkaar communiceren. De schaalbaarheid kan namelijk niet alleen maar worden vergroot door een toename van de blokgrootte en het versnellen van de blokgeneratie (het tijdsbestek waarin de blokken worden gegenereerd). Transacties hebben een bepaald ‘gewicht’, vereisen een voldoende hoeveelheid hashrate en moeten daarbij ook nog eens worden gecommuniceerd aan alle nodes binnen het hele netwerk. Een blockchainnetwerk wordt in de loop der tijd dan ook steeds ‘zwaarder’. Door de toename van uitgevoerde transacties wordt de blokketen steeds langer en dat betekent automatisch dat het blockchainnetwerk, ook steeds meer ruimte nodig heeft om alle data op te slaan.

 

Valideren van transacties en voorkomen van dubbel spenderen

Om de schaalbaarheid te vergroten, decentralisatie te waarborgen en milieuvriendelijker aan het blockchainnetwerk te bouwen, maakt Ethereum langzaam maar zeker de overstap van Proof of Work naar Proof of Stake (PoS). Deze Proof of Stake is – net zoals PoW – ook een consensus-protocol en heeft in principe ook dezelfde doelstelling. Bij zowel PoW als PoS is het voornaamste doel het valideren van transacties binnen het netwerk en voorkomen dat dezelfde transacties tweemaal kunnen worden uitgevoerd.

Man met gestapelde blokken.

Wat zijn validators bij Proof of Stake?

Bij Proof of Stake wordt niet meer gesproken van miners, maar wordt gesproken van zogenaamde ‘validators‘. Deze validators stemmen over het volgende blok dat aan de blockchain mag worden toegevoegd. De ‘zwaarte’ van de stem van iedere validator is afhankelijk van de hoeveelheid cryptocurrency’s, die de aangewezen validators in bezit hebben. Het crypto-bezit van iedere validator wordt de ‘stake‘ genoemd. Wanneer iemand validator wil worden moet diegene een speciale transactie uitvoeren. Bij deze transactie wordt een bepaalde hoeveelheid aan cryptocurrency’s opslagen in een deposit. De hoeveelheid coins die in de deposit worden opgeslagen is de stake. Net als de miners die beloond worden voor hun bijdragen aan de Proof of Work, worden ook de validators bij Proof of Stake beloond voor hun geleverde inspanningen. Echter gaat het op een hele andere (milieuvriendelijkere) manier.

 

Wat is het verschil tussen chain-based Proof of Stake en Byzantine Fault Tolerance Proof of Stake?

Er wordt onderscheid gemaakt tussen twee soorten Proof of Stake-algoritmen: ‘keten-gebaseerde PoS (chain-based)’ en PoS die gebaseerd is op Byzantine Fault Tolerance (BFT) Bij de chain-based versie wordt de validator willekeurig gekozen na een bepaalde tijdsperiode (bijvoorbeeld iedere 9 seconde). Deze validator mag vervolgens een nieuw blok creëren. Er zijn verschillende crypto-valuta die al draaien op chain-based PoS. Bij de Proof of Stake die is gebaseerd op Byzantine Fault Tolerance gaat het net even iets anders en worden er binnen iedere tijdsspanne willekeurig meerdere validators gekozen. Deze validators moeten vervolgens samen akkoord gaan, over het wel of niet toevoegen van het nieuwe blok aan het blockchainnetwerk.

 

FFG en CBC

Casper is het Proof of Stake algoritme dat uiteindelijk Ethash (het Proof of Work algoritme van Ethereum) moet gaan vervangen. Ethereum werkt aan twee grote projecten die zich focussen op de integratie van Casper:

 

Casper Friendly Finality Gadget (FFG)

Casper FFG is bedacht door Ethereum grondlegger Vitalik Buterin. Het is een kruisbestuiving tussen Proof of Work en Proof of Stake. Met dit hybride consensus-protocol kunnen sommige blokken worden gevalideerd met het ’traditionele’ PoW algoritme en andere blokken dan weer met het Casper algoritme. ‘Finality‘ betekent dat wanneer er eenmaal een bepaalde handeling is uitgevoerd, deze voor altijd binnen de blockchain is opgeslagen en niets of niemand die handeling nog kan terugdraaien (permanentie).

 

Casper the Friendly Ghost (Correct-by-construction/CBC)

Casper CBC is ontwikkeld door Ethereum’s Vlad Zamfir. Het is een volledig Proof of Stake-protocol en heeft in principe niets meer met het ’traditionele’ PoW van doen.

 

Waarom maakt Casper 51% aanvallen binnen een blockchain moeilijker?

Casper maakt 51% aanvallen een stuk lastiger. Dat komt omdat iedere validator die een dergelijke aanval overweegt, zijn of haar volledige ‘stake’ op het spel zet. Wanneer een aanval niet slaagt dan verliest de aanvaller al zijn of haar crypto-valuta. Binnen PoS blijft de waarde van een coin altijd gelijk. Dat wil zeggen dat 1 ETH ook te allen tijde 1 ETH blijft. Bij Proof of Work kunnen grote mining pools de waarde vaak verhogen. Bij PoS kan dit dus niet. Daarnaast kunnen bij PoS de validators geen voordeel behalen, puur en alleen omdat ze over duurdere en geavanceerde hardware beschikken, zoals dat met de ASICs bij PoW wel mogelijk is.

 

Casper is milieuvriendelijker en de kosten voor het genereren van nieuwe blokken kunnen omlaag

Een ander groot voordeel van Casper PoS is dat er veel minder energie nodig is voor het bereiken van consensus binnen de blockchain. Doordat de kosten van PoS veel lager zijn, hoeven er in principe ook niet zoveel nieuwe cryptocurrency’s te worden uitgegeven. Hierdoor zal de beloning voor de validators bij PoS lager zijn dan de beloning voor de miners bij PoW.

Ethereum, Casper Proof of Stake

Cryptocurrency’s en deflatie

Wanneer er wordt gesproken over Bitcoin dan wordt er vaak gezegd dat deze cryptocurrency  ‘deflationair‘ is. Maar wat bedoelen ze daar nu eigenlijk precies mee? Deflatie is het tegenovergestelde van inflatie. Vaak ontstaat inflatie door een toename van de geldhoeveelheid ten opzichte van de economische productie. Producten worden duurder en het geld wordt minder waard. Hierdoor kunnen consumenten minder kopen, voor dezelfde hoeveelheid geld. Naast een toename van de geldhoeveelheid zijn er nog allerlei andere factoren, die ervoor kunnen zorgen dat er een prijsinflatie ontstaat. Ook hogere productiekosten voor de fabricage van goederen, hogere importprijzen en andere belastingtarieven kunnen bijdragen aan het ontstaan van inflatie.

 

Waarom is er bij de Bitcoin geen sprake van inflatie?

Of er bij Bitcoin sprake is van inflatie (geldontwaarding) is vooralsnog niet eenduidig te beantwoorden. Wanneer het slecht gaat met de economie zoals in 2008, dan heeft dat zeer veel nadelige gevolgen voor bijna iedereen. De economische groei neemt af, bedrijven hebben veel minder orders en de werkeloosheid neemt toe. Het is dan belangrijk dat er acties worden ondernomen om de economie weer te stimuleren. In onze traditionele ‘centrale’ economie kunnen overheden en banken nieuw geld bijdrukken en dat geld vervolgens in de economie pompen. Op dat moment is er weer meer geld beschikbaar binnen de economie.

ECB, Europese Centrale Bank, geldvoorraad.

Waarom kan inflatie zorgen voor een economische opleving?

Door het extra bijgedrukte geld ontstaat er meer vraag naar producten. Maar door de toegenomen vraag en een gelijk gebleven aanbod stijgt de prijs van goederen. Alles wordt dus duurder in plaats van goedkoper zou je zeggen. Waarom zou meer inflatie dan goed zijn in tijden van economische recessie? Economen zeggen dat wanneer er extra geld in de economie wordt gepompt, dat consumenten en bedrijven vanzelf méér geld zullen gaan uitgeven. Mensen vrezen in dat geval namelijk dat hun spaargeld nog veel meer aan waarde gaat verliezen en daarom zijn ze eerder bereid om dat spaargeld uit te geven. Doordat de centrale banken geld in de economie pompen, ontstaat er in meer of mindere mate een economische opleving.

Winkelende dame

Verlaging van de rente

Bijdrukken van geld is niet de enige maatregel die de Europese Centrale Bank (ECB) tijdens de economische crisis nam, om de economie een boost te geven. De ECB ging ook over tot de aankoop van obligaties en waardepapieren van overheden en bedrijven. Het ging hierbij om vele miljarden euro’s. Door de aankoop van obligaties en waardepapieren ging de rente omlaag. Een lage rente nodigt als vanzelfsprekend niet erg uit tot sparen en consumenten werden daardoor gestimuleerd, om nog gemakkelijker geld uit te geven. Daarnaast zorgde de lage rente ervoor dat lenen aantrekkelijker werd en ook dat gegeven droeg sterk bij aan het herstel van de economische situatie.

Stapel Bitcoins, HODL.

Maar is Bitcoin nu deflatoir of niet?

Over de mate waarin Bitcoin deflationair is zijn de meningen sterk verdeeld. Crypto-munten zoals Bitcoin hebben een vaste geldvoorraad. In principe is het maximale aantal Bitcoins dat ooit gemind kan worden en in omloop kan worden gebracht: 21 miljoen BTC. Regelmatig gaan er Bitcoins, crypto-wallets en zelfs complete mining-hardware verloren. Daarom zullen er nooit exact 21 miljoen Bitcoins op de markt in omloop zijn. De blokbeloning voor Bitcoin-miners halveert na iedere 210.000 gegeneerde blokken binnen het Bitcoinnetwerk. Dit is ongeveer na iedere vier jaar. Sinds 2009 zijn er naar schatting al vele duizenden Bitcoins verloren gegaan. Hierdoor worden Bitcoins uiteindelijk méér waard en is er in principe wél sprake van deflatie. Voor een deel komt die waardevermeerdering dus door de vaste ‘eindige’ geldvoorraad, die een vorm van schaarste creëert.

Profit or loss, winst of verlies, Bitcoin.

Hogere moeilijkheidsgraad

Of Bitcoin deflationair is of juist niet, is geen zwart-wit situatie. Bij Proof of Work is de ‘moeilijkheidsgraad ‘voor het minen van blokken binnen de Bitcoin-blockchain gebaseerd, op de hoeveelheid miners die op dat moment aan het minen zijn. Deze miners worden met Bitcoins beloond voor hun geleverde inspanningen en daarom is de moeilijkheidsgraad rechtstreeks gekoppeld aan de waarde van de Bitcoin. Wanneer de prijs van de Bitcoin omhoog gaat, dan zullen de miners meer investeren in mining-hardware. Als gevolg daarvan wordt de moeilijkheidsgraad verhoogd en zijn er “zwaardere” berekeningen nodig om nieuwe coins te genereren. Hierdoor wordt de groei van het aantal in omloop gebrachte Bitcoins kleiner en wordt voorkomen dat de totale Bitcoin-voorraad omhoogschiet en de waarde van de munt afneemt.

 

Bij Proof of Work is er een wisselwerking tussen blockchaintechniek en de markt

Aan de andere kant is het ook weer zo dat wanneer de prijs van Bitcoin omlaag gaat, de miners minder bereid zijn om veel geld uit te geven aan dure apparatuur om de coins te minen. De inspanningen die geleverd moeten worden (maar ook de kosten die moeten worden gemaakt) voor het genereren van nieuwe transactie-blokken, staan in dat geval meestal niet meer in verhouding tot de opbrengsten. Als gevolg daaran zijn er minder miners actief binnen de blockchain. In dat geval gaat de moeilijkheidsgraad automatisch omlaag, zodat het voor de miners weer rendabeler wordt om Bitcoins te genereren. Doordat er minder miners actief zijn resulteert een lagere moeilijkheidsgraad niet in inflatie. De Proof of Work van Bitcoin zorgt er dus in principe voor dat de geldvoorraad en de vraag precies op elkaar zijn afgestemd. En zolang de vraag naar Bitcoin constant blijft of groeit, zal de totale Bitcoin-voorraad geen punt bereiken, waarbij inflatie kan optreden. Volgens deze benadering is er bij Proof of Work dus een wisselwerking tussen de techniek zelf en de markt, die ervoor zorgt dat de Bitcoin deflationair is.

Blockchain nodes

Bij PoS is de kans op deflatie kleiner

Bij PoS is de kans op deflatie kleiner en de geldvoorraad zal op termijn verminderen. Bij PoS-cryptocurrency’s is er in principe geen directe wisselwerking meer tussen blockchaintechniek en de markt, om een deflationaire geldvoorraad te onderhouden. Bij PoS is het genereren van blokken gebaseerd op de geldhoeveelheid aan crypto-valuta in de wallets van gebruikers. De blokken worden geproduceerd aan de hand van een vastgesteld schema en de distributie van nieuwe cryptocurrency’s, wordt bepaald op basis van de hoeveelheid ‘ongespendeerde’ crypto-munten die opgeslagen zijn binnen een wallet: de stake. Bij PoS is dan ook geen sprake meer van hoge kosten voor de aanschaf van dure mining hardware.

 

Hoe wordt het Proof of Stake algoritme Casper binnen het blockchainnetwerk van Ethereum geïntegreerd?

Casper is een smart contract dat wordt geïntegreerd binnen de Ethereum-blockchain. Dit slimme contract zorgt voor de implementatie en monitoring van het PoS consensus-mechanisme. Met het PoS consensus-algoritme kan overeenstemming binnen het blockchainnetwerk worden bereikt, op basis van het cryptobezit van de deelnemers. Miners hoeven dus niet meer met elkaar te concurreren om blokken aan het netwerk te mogen toevoegen, door het oplossen van cryptografische berekeningen. In plaats daarvan kunnen de ‘validators’ hun stake aan Casper overdragen. Deze validators stemmen vervolgens over nieuwe blokken die aan het netwerk kunnen worden toegevoegd.

Vote

Bij Proof of Stake worden twee stemrondes aangewend

De wijze waarop blokken worden toegevoegd bij het traditionele Proof of Work is zoals eerder gezegd, gebaseerd op het mining-protocol. Hierbij bepaalt de techniek wie het nieuwe blok mag toevoegen. Bij PoS daarentegen wordt er door verschillende validators als het ware ‘gewed’ op een voorgesteld blok. Het ‘winnende’ blok is het blok dat kan rekenen op de meeste stemmen. De ‘zwaarte’ van die stemmen is afhankelijk van de stake (de hoeveelheid crypto-coins) van de desbetreffende deelnemers. Validators kunnen maar één keer stemmen per positie op de blockchain. Bij Casper-PoS worden twee stemrondes aangewend. Deze twee stemrondes zorgen uiteindelijk voor de consensus (overeenstemming) binnen het blockchainnetwerk. Malafide validators worden bestraft.

 

Hoe zorgen Proof of Stake en de validators nu precies voor consensus binnen het blockchainnetwerk?

Bij Casper-Proof-of-Stake moet worden bepaald welk geldig blok als eerstvolgende aan de blockchain kan worden toegevoegd. De validators moeten daarbij een bepaalde hoeveelheid van hun cryptocurrency’s (ether) vastzetten als ‘stake’. De validators beginnen vervolgens met het valideren van blokken. Wanneer zij een blok ontdekken waarvan zij vinden dat die aan het netwerk kan worden toegevoegd, dan zetten zij in op het voorgestelde blok. Als het voorgestelde blok inderdaad wordt toegevoegd, dan ontvangen de validators een beloning die in verhouding is met hun inzet. Als blijkt dat een validator zich op een malafide manier gedraagt en een poging doet tot een zogenaamde ‘nothing at stake‘ situatie, dan wordt dat onmiddellijk afgestraft en verliezen zij hun stake.

Hacker, malafide deelnemer

Hoe stemmen de validators bij het Casper PoS nu precies over voorgestelde blokken?

Eerder had ik het al even over de hybride Casper Friendly Finality Gadget (FFG). ‘Finality’ betekent dat wanneer een bepaalde actie heeft plaatsgevonden, deze voor altijd binnen de blockchain is opgeslagen. Niets of niemand kan die actie dan nog terugdraaien. Maar hoe stemmen die validators nu precies over voorgestelde blokken? De validators zetten in principe geld in (ze betalen) voor het verkrijgen van stemrecht. Met deze stem ‘wedden’ zij op een blok. Als het blok waarop zij hebben gewed wordt toegevoegd aan de blockchain, dan wordt die ‘gewonnen weddenschap’ beloond met ether. Doordat de validators moeten betalen voor stemrecht worden zij gestimuleerd om het blok te kiezen dat het meest voor de hand ligt, om als eerste aan de blokketen te worden toegevoegd. Ook worden ‘nutteloze’ stemmen hierdoor voorkomen.

Blok tussen handen. Blokken worden met behulp van het Casper Proof of Stake protocol aan de blockchain toegevoegd.

Verwijzingen naar voorgaande blokken

Alle stemmen hebben verwijzingen. Wanneer validators gaan stemmen dan moeten zij verwijzen naar voorgaande blokken. Alle verwijzingen tezamen vormen de links van het blockchainnetwerk. Casper functioneert als een smart contract, maar Casper dwingt niet zelf zijn eigen ‘regels‘ af. Ook zijn er geen specifieke validators met een speciale bevoegdheid om malafide validators te bestraffen. In plaats daarvan spelen zowel Casper als de validators beiden een belangrijke rol bij het afdwingen van het consensus-protocol. Validators kunnen malafide validators echter wel rapporteren. Casper controleert vervolgens of de betrokken validators daadwerkelijk onbetrouwbaar zijn en bepaalt met hoeveel de stake van de malafide validator moet worden verlaagd. Als dank voor het rapporteren van onbetrouwbare validators, worden de validators die dit hebben gerapporteerd beloond met cryptocurrency’s.

Ethereum

Casper en Prepare Requirement

Om een blok binnen het blockchainnetwerk te laten opnemen moet dit blok voorzien zijn van ⅔ aan ether, die is toegekend door de validators (Commit Requirement). Dit blok wordt meestal een ‘prepared blok‘ genoemd. Over dit prepared blok wordt vervolgens gestemd in de zogenaamde ‘commit round‘. Minstens ⅔ van de validators moeten verwijzen naar hetzelfde prepared blok (Prepare Requirement). Validators kunnen nooit meer dan één blok per positie binnen het blockchainnetwerk voorbereiden. Wanneer de blokken aan de blokketen worden toegevoegd, bevatten ze dus een verwijzing van het volgende voorbereide blok.

 

Bestraffing door het verlies van de onderliggende stake

De Casper update tijdens de serenity fase draagt bij aan de transitie van het PoW-protocol naar het PoS consensus-mechanisme. Casper vervangt als het ware het economische model van Proof of Work voor Proof of Stake. Bij PoW worden miners impliciet bestraft wanneer zij ‘minen’ op concurrerende blokketens. Bij Proof of Stake worden de nodes bestraft wanneer zij de verkeerde blokketen ‘staken’. In dat geval verliezen zij hun onderliggende ‘stake’. Deze bestraffing zorgt ervoor dat aanvallers geen nieuwe aanval kunnen starten. Ze zitten immers zonder stake. Of PoS inderdaad gaat bijdragen aan de schaalbaarheid van Ethereum valt nu nog maar lastig te voorspellen. Een interessante ontwikkeling is het zeker!

 

Terug naar boven ↑

 

Bronnen:

Understanding Serenity and Casper, Vitalik Buterin

Ethereum Constantinople update announcement, Hudson Jameson

Bitcoin and cryptocurrency technologies, Arvind Narayanan

 

Op de hoogte blijven van de ontwikkelingen op het gebied van blockchaintechnologie? Meld je dan nu aan voor de blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).

Laat een reactie achter