cryptocurrency report

Proof of Work

Wat is Proof of Work (PoW)?

In de wereld van cryptogeld en vooral Bitcoin wordt er vaak gesproken over een Proof of Work (PoW) algoritme of protocol. We zullen beginnen met een eenvoudige beschrijving en vandaar uit meer de diepte in duiken. Voordat we beginnen, Proof of Work is onlosmakelijk verbonden met de manier waarop vooral de Bitcoin blokketen werkt op basis van wiskundige hashing functies en digitale handtekeningen. Met andere woorden, een veilige, onveranderbare, onkraakbare, en decentrale blokketen is het resultaat van deze cryptografie.

Eenvoudige beschrijving: een Proof of Work is een netwerkprotocol (geprogrammeerde set van regels) voor het bereiken van overeenstemming (consensus) over de status van de boekhouding. De boekhouding wordt voortdurend bijgewerkt en gecontroleerd door het uitvoeren van moeilijke wiskundige berekeningen en het oplossen van wiskundige puzzels waarbij veel computer rekenkracht voor nodig is. De geleverde rekenkracht voor het kunnen oplossen van een puzzel en het bijgevolg bijwerken en controleren van de boekhouding is een bewijs van rekenarbeid of afgeleverd computerwerk. Dure hardware bronnen en elektriciteit worden in aanspraak genomen om uiteindelijk tot een algehele netwerk consensus te komen over de validiteit van een nieuwe transactieblok waardoor deze permanent aan de blokketen kan worden toegevoegd.

Wat is het dan voor een rekenarbeid dat moet worden verricht? 

De rode draad van een Proof of Work consensus protocol is een hashing algoritme. Dit is een wiskundige functie die cruciaal is voor het aanmaken, verwerken en beveiligen van alle transacties in de gehele transactieblokketen. Het zorgt ervoor dat er een gelijktijdige unanieme netwerk consensus kan plaatsvinden over de status van alle duizenden decentraal verdeelde (gedistribueerde) blokketen-kopieën en dat het netwerk niet kan worden gehackt. Het bijzondere is dat voor het bijwerken en controleren van de boekhouding geen derde vertrouwde partij (bank, accountant of auditor) nodig is .

Nogmaals, er is niet 1 blokketen (blockchain), er zijn duizenden kopieën verdeeld over de betreffende computers en servers over het hele netwerk. Deze moeten allemaal identiek blijven en wanneer er sprake is van een hack of incorrecte transactiehash moet het gezamenlijke netwerk dit meteen kunnen opmerken, een verkeerde blok weigeren en een aanval afslaan. Dit wordt allemaal geprogrammeerd in een Proof of Work consensus hashing-algoritme. Dit concept werd het eerst door Cynthia Dwork en Moni Naor in 1993 gepubliceerd, maar is ondertussen behoorlijk verbeterd, met nieuwe hashing-algoritmes en verder getest en toegepast geworden op transactieblokketens.

Proof of Work en het uitbreiden van de blokketen:

proof of work pow

Nieuwe transacties worden samengevoegd en georganiseerd binnen blokken, deze blokken worden aan elkaar geketend met behulp van een veilige hashing algoritme. Zo is er een lange transactieketen van alle transacties (in de vorm van hashes) die ooit zijn uitgevoerd. Elke nieuwe transactieblok die wordt aangemaakt en toegevoegd moet worden gecontroleerd en permanent vastgelegd worden in de blokketen.

Dit samenvoegen en vastketenen van transacties met behulp van deze wiskundige, cryptografische hashing functie vergt veel rekenkracht (computerarbeid). Deze cryptografische functie zorgt voor de beveiliging en voorkomt o.a. spam- en DDOS-aanvallen. De Proof of Work hashing functie van Bitcoin is de meest beproefde en meest veilige. Het gaat specifiek over het uitvoeren van specifiek wiskundige Hashcash functies.

De PoW Hashfunctie-SHA256^2

Deze belangrijke hashcash functie is niet uitgevonden door Satoshi Nakomoto. Het is door de cryptograaf Adam Back in 1997 uitgevonden. Van belang om op te merken is dat er verschillende varianten bestaan waarbij de hashcash-SHA256^2 algoritme specifiek gebruikt wordt voor Bitcoin en de hashcash-Scrypt(iter=1) gebruikt wordt voor Litecoin. Het zijn twee extreem veilige cryptografische algoritmes en vergen een hoop rekenkracht. Alle nodes en in het bijzonder de delvers binnen het netwerk controleren of alle kopieën van de blokketen in overeenstemming zijn en dat de nieuwe blok past en klopt overeenkomstig de uitgevoerde en nieuwe hashfunctie-berekeningen. Het zijn de miners die nieuwe transactieblokken aanmaken en toevoegen aan de Bitcoin blokketen.

De PoW Hashfunctie-SHA256^2 en Bitcoin mining!

We spreken over delvers (miners) aangezien bij het samenvoegen van een nieuwe blok aan de blokketen er nieuwe bitcoins worden ‘gedolven’. De gedolven bitcoins, komen los na een correcte berekening en toevoeging van een nieuwe transactieblok. Het is de beloning voor die partijen die actief alles narekenen om te kijken of alles echt klopt. De beloning zit in het narekenen (verifiëren) van de transacties en het oplossen van wiskundige puzzels die na elke blok moeilijker worden! Je zou de delvers als een soort geautomatiseerde 24/7 boekhouders kunnen beschouwen die enerzijds altijd alles volledig narekenen en controleren dat nieuwe transacties in overeenstemming de volledige boekhouding en alle betreffende kopieën over het hele netwerk altijd dezelfde is. Afwijkingen worden afgestoten.

Anderzijds kun je de delvers beschouwen als computer geeks die wiskundige puzzels oplossen met computers om bitcoins voor eigen belang te vinden! Zeker, Adam Back, gaat er niet vanuit dat mensen computer rekenkracht gratis gaan inzetten voor het goede doel om de boekhouding kloppend te houden. De meeste mensen doen het puur uit winstbejag. Winstbejag en een goed doel worden wiskundig samengesmolten. Inderdaad, egoïsme en winstbejag kan voor grotere doelen ingezet worden om iets beter te scheppen. Het geheel is inderdaad vele male groter en beter dan haar delen! Het geheel maakt het mogelijk dat er een kloppende decentrale boekhouding kan bestaan die verspreidt is over duizenden servers en computers zonder dat er een derde partij aan te pas moet komen om deze nogmaals te controleren. Alles werkt automatisch zonder derde vertrouwde partijen dankzij de inzet van alle netwerkcomponenten met een kopie van de boekhouding (de nodes) waarbij de computer delvers proberen digitaal goud te vinden, waarmee ze een inkomen verdienen en tevens de boekhouding controleren en beveiligen!

Dit narekenen van de hashfuncties vergt zeer veel arbeid in de vorm van rekenkracht en kost zeer veel elektriciteit. Het Bitcoin netwerk bestaat nu uit een gigantische infrastructuur van allerlei speciale servers en serverparken en het is beraamd dat in 2020 het Bitcoin netwerk even veel elektriciteit zal consumeren als Denemarken!

Het is belangrijk om op te merken dat deze Proof-of-Work hashcash functie als grondig getest is geworden door een aantal voorlopers van Bitcoin. De computer wetenschapper Hal Finney is de uitvinder van RPOW en gebruikte de PoW hashcash functie voor het delven van muntjes. Wei Dai‘s B-money experiment, en Nick Szabo‘s vergelijkbare Bit Gold experiment hebben allemaal deze Proof-of-Work hashcash algoritme in gebruik gehad. Bitcoin

Het Proof of Work algoritme op basis van hashcash-SHA256^2  is het kloppend hart van het Bitcoin netwerk. Het is een beproefde en extreem veilige cryptografische algoritme die in combinatie van een daadwerkelijk krachtig netwerk effect Bitcoin vernietigbaar maakt. Het maakt Bitcoin tot het meest veilige netwerk voor het uitvoeren van vooral grote transacties en maakt het tot een nieuwe vorm van digitaal goud.

Maar, welk bewijs moet er dan precies door de miner worden geleverd?

De delvers zoeken in een hashfunctie-rekensommetje naar een hash die start met een bepaalde hoeveelheid nullen waarbij de juiste nonce waarde aanzit. Een nonce is een 32-bit nummer die telkens opgehoogd wordt totdat een nonce met de juiste hash waarde gevonden is met de hoeveelheid nullen die het netwerk opgeeft. De nonce met de correcte hash die behoort tot de nieuwe transactieblok is het specifieke bewijs van arbeid dat wordt gecommuniceerd en een beloning in bitcoins oplevert.

 

Voor meer informatie: