Wat is het Proof of Stake algoritme Casper?

with 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.

Casper the friendly ghost

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. De blockchain zal “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 voor 2019. 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 Bitcoinnetwerk is beperkt van 3 tot 7 transacties per seconden en bij het netwerk van Ethereum varieert de transactiesnelheid van 7 tot 15 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.

Zwarte scherven, shards

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 afhankelijk van elkaar voor het verkrijgen van informatie en dat houdt dan meteen 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.

Introducing Ethereum en Solidity.

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 (februari 2019) 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 zelfs hun eigen child blockchains 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 de Ethereum blockchain. 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 zijn consensus-protocollen?

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 onveranderbaar binnen de blockchain wordt opgeslagen.

Blockchain, blokken

Correcte informatie

Een consensus-protocol is een reeks regels (algoritme) die beschrijven 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 moeten 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 (februari 2019) nog het meest gebruikte consensus algoritme en wordt onder andere gebruikt door de Bitcoin. 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 computerkracht (rekenkracht) nodig, die door de miners 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.

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 heel Oostenrijk. Naast het probleem van energieverspilling bestaat er ten aanzien van PoW ook een probleem ten aanzien van “centralisering”. 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 andere oorzaak van centralisering door Proof of Work is “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 voert dezelfde taken dan ook efficiënter uit 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 al weer zo’n jaar of tien 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 hardware. De concurrentie was gewoonweg te groot.

 

Wat zijn ASIC-bestendige cryptocurrency’s?

Deze dominante ASIC’s waren 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 virtuele valuta kan 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 in de toekomst niemand een ASIC kan ontwikkelen, die wel in staat is om de desbetreffende coin te minen. Het is waarschijnlijk slechts een kwestie van tijd voordat iemand Application Specific Integrated Circuits ontwikkelt, die wél met die specifieke coins overweg kunnen.

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. Dat komt onder meer door 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 blockchain. 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 voldoende 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 keten 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 ook een consensus-protocol net als PoW en heeft in principe ook dezelfde doelstelling: het valideren van transacties binnen het netwerk en voorkomen dat deze 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 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 virtuele 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.

Casper the friendly ghost

Wat zijn zijn de voordelen van het Proof of Stake algoritme Casper ten opzichte van het Proof of Work algoritme Ethash?

 

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.

 

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 alle virtuele 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 de Bitcoin dan wordt er vaak gezegd dat deze virtuele valuta “deflationair” is. Maar wat bedoelen ze daar nu eigenlijk precies mee? Deflatie is het tegenovergestelde van inflatie (geldontwaarding). 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 de Bitcoin geen sprake is van inflatie is vooralsnog niet eenduidig te beantwoorden. Wanneer het slecht gaat met de economie zoals in het voorgaande decennium, 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 vervolgens in de economie pompen. Er is dan weer meer geld beschikbaar binnen de economie en de inflatie neemt toe.

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 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 geld nog veel meer aan waarde gaat verliezen. Door geld in de economie te 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) heeft genomen 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 droeg sterk bij aan het herstel van de economische situatie.

Stapel Bitcoins, HODL.

Maar is Bitcoin nu deflatoir of niet?

Over de mate waarin de Bitcoin deflationair is zijn de meningen sterk verdeeld. Crypto-munten zoals de 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. Regelmatig gaan er Bitcoins, cryptocurrency wallets en zelfs 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 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 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. Er zijn dan minder miners actief binnen de blockchain. In dat geval gaat de moeilijkheidsgraad omlaag zodat het voor de miners 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

De kans op deflatie bij PoS is kleiner en de geldvoorraad zal op termijn verminderen. Bij PoS cryptocurrency’s is er in principe geen directe wisselwerking tussen blockchaintechniek en de markt meer, om een deflationaire geldvoorraad te onderhouden. Bij PoS is het genereren van blokken gebaseerd op de geldhoeveelheid aan virtuele 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 zogenaamde 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 zogenaamde “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 gebaseerd op het miningprotocol. 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 voorgesteld 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 “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.

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 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 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 nieuw aanval kunnen starten. Ze zitten immers zonder stake. Of PoS inderdaad gaat bijdragen aan de schaalbaarheid van Ethereum valt nu nog maar lastig te verspellen. Een interessante ontwikkeling is het zeker!

 

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 de blockchaintechnologie? Meld je dan nu aan voor onze 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).

Leave a Reply