Wat is Proof-of-Work (PoW)?

Proof-of-Work (PoW) beschrijft een systeem dat een niet onbelangrijke maar haalbare hoeveelheid inspanning vereist om lichtzinnig of kwaadwillig gebruik van rekenkracht af te schrikken, zoals het versturen van spam emails of het uitvoeren van denial of service aanvallen. Het concept werd vervolgens aangepast aan het beveiligen van digitaal geld door Hal Finney in 2004 via het idee van “Reusable Proofs of Work” met behulp van het SHA-256 hashing algoritme.

Na de introductie in 2009 werd Bitcoin de eerste wijdverbreide toepassing van Finney’s PoW idee. Proof-of-Work vormt ook de basis van veel andere cryptocurrencies, en maakt een veilige, gedecentraliseerde consensus mogelijk.

Belangrijkste verklaringen

  • Proof-of-Work (PoW) is een gedecentraliseerd consensusmechanisme waarbij leden van een netwerk moeite moeten doen om een willekeurige wiskundige puzzel op te lossen om te voorkomen dat iemand het systeem kan bespelen.
  • Proof-of-Work wordt veel gebruikt bij het delven van cryptocurrency, om transacties te valideren en nieuwe tokens te delven.
  • Dankzij Proof-of-Work kunnen Bitcoin en andere cryptocurrency transacties op een veilige manier peer-to-peer verwerkt worden, zonder dat een vertrouwde derde partij nodig is.
  • Proof-of-Work op schaal vereist enorme hoeveelheden energie, die alleen maar toeneemt naarmate meer miners zich bij het netwerk aansluiten.
  • Proof-of-Stake (PoS) was een van de vele nieuwe consensus mechanismen die ontstonden als alternatief voor Proof-of-Work.

Proof-of-Work begrijpen

Deze uitleg zal zich concentreren op Proof-of-Work zoals het in het Bitcoin netwerk functioneert. Bitcoin is een digitale munt die steunt op een soort gedistribueerd grootboek dat bekend staat als een “blockchain”. Dit grootboek bevat een overzicht van alle Bitcoin transacties, gerangschikt in opeenvolgende “blokken”, zodat geen enkele gebruiker een van zijn bezittingen tweemaal mag uitgeven. Om geknoei te voorkomen is het grootboek openbaar, of “gedistribueerd”; een veranderde versie zou snel door andere gebruikers worden geweigerd.

De manier waarop gebruikers in de praktijk manipulatie op het spoor komen is via hashes, lange reeksen getallen die als Bewijs van Werk dienen. Haal een gegeven reeks gegevens door een hashfunctie (Bitcoin gebruikt SHA-256), en die zal nooit meer dan één hash genereren. Door het “lawine-effect” echter zal zelfs een minieme verandering in een willekeurig deel van de oorspronkelijke gegevens een totaal onherkenbare hash opleveren. Ongeacht de grootte van de oorspronkelijke gegevensverzameling zal de hash die een gegeven functie genereert even lang zijn. De hash is een eenrichtingsfunctie: hij kan niet gebruikt worden om de originele gegevens te verkrijgen, alleen om te controleren of de gegevens die de hash genereerden overeenkomen met de originele gegevens.

Het genereren van zomaar een hash voor een reeks Bitcoin transacties zou voor een moderne computer triviaal zijn, dus om het proces tot “werk” te maken stelt het Bitcoin netwerk een bepaalde moeilijkheidsgraad in. Deze instelling wordt zo ingesteld dat ongeveer elke 10 minuten een nieuw blok wordt “gemijnd” – aan de blokketen toegevoegd door een geldige hash te genereren. Het instellen van de moeilijkheidsgraad gebeurt door een “doel” voor de hash vast te stellen: hoe lager het doel, hoe kleiner de verzameling geldige hashes, en hoe moeilijker het is om er een te genereren. In de praktijk betekent dit een hash die begint met een zeer lange reeks nullen.

Proof-of-Work werd aanvankelijk bedacht als een voorgestelde oplossing voor het groeiende probleem van spam e-mail.

Bijzondere overwegingen

Omdat een gegeven set gegevens maar één hash kan opleveren, hoe zorgen mijnwerkers er dan voor dat ze een hash onder het doel genereren? Ze veranderen de invoer door er een geheel getal aan toe te voegen, dat een nonce heet (“eenmalig gebruikt getal”). Zodra een geldige hash gevonden is, wordt die naar het netwerk uitgezonden, en wordt het blok aan de blockchain toegevoegd.

Mijnen is een competitief proces, maar het is meer een loterij dan een race. Gemiddeld zal iemand elke tien minuten een acceptabele Proof-of-Work genereren, maar wie het zal zijn laat zich door iedereen raden. Mijnwerkers bundelen hun krachten om hun kansen op het delven van blokken te vergroten, wat transactiekosten oplevert en, voor een beperkte tijd, een beloning van nieuw gecreëerde Bitcoins.

Proof-of-Work maakt het uiterst moeilijk om welk aspect van de blockchain dan ook te veranderen, want daarvoor zouden alle volgende blokken opnieuw gemijnd moeten worden. Het maakt het ook moeilijk voor een gebruiker of een groep gebruikers om de rekenkracht van het netwerk te monopoliseren, want de machines en de kracht die nodig zijn om de hash functies te voltooien zijn duur.

Als een deel van een mijnnetwerk een alternatieve Proof-of-Work begint te aanvaarden, heet dat een hard fork.

Voorbeeld van Proof-of-Work

Proof-of-Work vereist dat een computer willekeurig hashfuncties uitvoert tot hij bij een uitvoer komt met het juiste minimum aantal voorloopnullen. De hash voor blok #429818, gemined op 16 oktober 2017, bijvoorbeeld, is 0000000000000000000000c508bc2ada8ebc62cf1c69cb66a163d9a99abad87599b6. De blokbeloning voor die succesvolle hash was 12,5 BTC.

Dat blok zal altijd 1.768 transacties bevatten waarmee iets meer dan 1.000 Bitcoin gemoeid is, evenals de header van het vorige blok. Als iemand zou proberen een transactiebedrag met ook maar 0.00001 Bitcoin te veranderen, zou de resulterende hash onherkenbaar zijn, en het netwerk zou de fraudepoging afwijzen.

Proof-of-Work FAQs

Wat betekent Proof-of-Work?

PoW vereist dat knooppunten op een netwerk bewijzen dat ze rekenkracht (d.w.z. werk) hebben verbruikt om op een gedecentraliseerde manier consensus te bereiken en te voorkomen dat slechte actoren het netwerk overnemen.

Hoe valideert Proof-of-Work een crypto transactie?

Het werk zelf is willekeurig. Voor Bitcoin gaat het om iteraties van SHA-256 hashing algoritmen. De “winnaar” van een hashronde voegt echter transacties uit de mempool samen en neemt ze op in het volgende blok. Omdat de “winnaar” willekeurig gekozen wordt in verhouding tot het verrichte werk, stimuleert het iedereen op het netwerk om eerlijk te handelen en alleen echte transacties op te nemen.

Waarom hebben Cryptocurrencies Proof-of-Work nodig?

Omdat ze gedecentraliseerd en peer-to-peer van opzet zijn, hebben blockchains zoals cryptocurrency netwerken een manier nodig om zowel consensus als veiligheid te bereiken. Proof-of-Work is zo’n methode die het te middelen-intensief maakt om te proberen het netwerk in te halen. Er bestaan ook andere bewijsmechanismen die minder middelen vergen, maar die andere nadelen of gebreken hebben, zoals Proof-of-Stake (PoS) en proof of burn. Zonder bewijsmechanisme zouden het netwerk en de daarin opgeslagen gegevens kwetsbaar zijn voor aanval of diefstal.

Gebruikt Bitcoin Proof-of-Work?

Ja. Het gebruikt een PoW algoritme op basis van de SHA-256 hashing functie om transacties te valideren en te bevestigen, en om nieuwe Bitcoins in omloop te brengen.

Waarin verschilt Proof-of-Stake (PoS) van PoW?

PoS is een consensus mechanisme dat willekeurig de node aanwijst die bloktransacties zal delven of valideren, afhankelijk van hoeveel munten die node bezit. Hoe meer munten een portemonnee bezit, hoe meer mijnbouwkracht er effectief aan wordt toegekend. PoS is weliswaar veel minder arbeidsintensief, maar het heeft verschillende andere gebreken, waaronder een grotere kans op een 51% aanval in kleinere Altcoins en stimulansen om tokens te hamsteren en niet te gebruiken.