Proof-of-Stake en het Nothing at Stake probleem

door Bert

Bij de eerste generatie Proof-of-Stake mag iedereen met munten in z'n wallet blocks maken. Omdat het daarbij geen zin heeft om zo vaak mogelijk de puzzel op te lossen, is veel minder rekenkracht nodig dan bij Proof-of-Work.

Er is wel een zwakke plek: alle deelnemers moeten zich netjes gedragen...

De langste keten

Het gebeurt wel eens dat er op een bepaald moment meerdere blocks tegelijk gevonden worden. Op dat moment moeten de deelnemers van het netwerk kiezen welk block ze accepteren, en gebruiken om het volgende block mee te maken.

Uiteindelijk zal maar één van de blocks onderdeel worden van de blockchain. We zeggen wel eens dat de langste keten de officiële keten is. Alle alternatieve ketens worden genegeerd.

Bij Proof-of-Work is het in het belang van de miner om alleen maar rekenkracht te besteden aan het block dat de meeste kans maakt om door de rest ook gekozen te worden. Als hij met een ander block verder gaat, is de kans groot dat die aftakking uiteindelijk stopt omdat niemand er meer tijd aan besteed. Alle rekenkracht die daaraan besteed wordt, gaat verloren.

Bij Proof-of-Stake kan een deelnemer zonder kosten en zonder straf op elke alternatieve keten proberen een volgend block te maken. Dit noemen we het "Nothing at Stake" probleem.

Het is zelfs economisch voordelig voor een deelnemer om op alle alternatieve ketens blocks te maken. Welke keten het ook wordt, jouw beloning zit erbij. Maar als iedereen dat op deze manier doet, dan zullen alle alternatieve ketens blijven groeien, en bereikt het netwerk nooit consensus!

Straf

Het ligt voor de hand om een straf te introduceren voor deelnemers die zich misdragen. Bijvoorbeeld deelnemers die op meerdere ketens blocks maken, of die op de verkeerde keten blocks maken.

Het is nog niet zo eenvoudig om misdraging te constateren, en om een straf uit te delen. Afhankelijk van wat en hoe je wilt straffen, moet de werking van de blockchain worden aangepast. Bijvoorbeeld door van tevoren vast te leggen welke deelnemers überhaupt een block mogen maken, en te vereisen dat ze ook daadwerkelijke een block maken als ze dat kunnen.

Dat stelt vervolgens weer eisen aan de deelnemers. Die moeten bijvoorbeeld een bepaalde tijd online zijn om te kunnen worden gekozen, en moeten daarna ook daadwerkelijk online blijven.

Kortom, het is zo makkelijk nog niet.

Oplossingen

In 2012 ontwierpen Sunny King en Scott Nadal de eerste blockchain met Proof-of-Stake, Peercoin. Ze vonden een straf niet nodig. Nothing at Stake was een theoretisch probleem, en men verwachtte niet dat het ooit voor zou komen.

Intussen zijn er allerlei manieren bedacht om voordeel te behalen of de werking van de blockchain te frustreren door je te misdragen.

Ethereum zal in de loop van 2018 de eerste stap zetten van Proof-of-Work naar Proof-of-Stake met de introductie van Casper FFG. Daarbij blijft PoW bestaan, en zorgt PoS voor een extra bevestiging van de staat van de blockchain elke 50 blocks. In een later stadium zal wellicht PoW helemaal vervangen worden door PoS in een volgende versie van Casper.

Onderdeel van Casper zijn strafmaatregelen bij misdraging. De ethers die je inzet worden vastgehouden door een smart contract. Als iemand een fout block voorstelt, of fout stemt, of zomaar offline gaat terwijl hij zou moeten stemmen, dan worden die ethers (ten dele) vernietigd. Dat heet 'slashing'. Als iemand zich wel gedraagt, dan krijgt hij de beloning ervoor.

Ook Qtum komt in 2018 met een oplossing voor het Nothing at Stake probleem. Het interessante is dat Qtum een doorontwikkeling van het originele Proof-of-Stake mechanisme van Peercoin gebruikt, en dat hun oplossing ook door andere PoS-projecten geadopteerd kan worden.

Niet puzzelen maar stemmen

Tot nu toe bekeken we varianten van Proof-of-Stake waarbij dezelfde soort puzzel wordt opgelost als bij Proof-of-Work. We noemen dat ook wel de "on-chain" methode.

Er is nog een andere manier waarbij de deelnemers mogen stemmen als ze hun geld inzetten. Daar gaan we in het volgende artikel naar kijken.

Reageer

Wil je naar aanleiding van dit bericht verder praten? Heb je een vraag, een aanvulling, of had je het zelf anders geschreven? Laat het ons weten, en praat mee op Telegram. Veel directer, én een stuk gezelliger dan zo'n ouderwets reactieformulier. De groep is actief, behulpzaam, en voor iedereen toegankelijk.

Blijf op de hoogte

Wil je direct nieuwe blogposts lezen? Alle nieuwe publicaties plaatsen we op Twitter. Je kunt daar ook de belangrijkste ontwikkelingen volgen.