Dit artikel geeft je een basisgids over Proof of Work. Je leert waar het voor nodig is, het verschil tussen Proof of Work en Proof of Stake, en meer.
Bekijk de inhoudsopgave om het navigeren te vergemakkelijken:
- Wat is Bewijs van Werk?
- Waarom hebben we PoW nodig?
- Wat is dubbel besteden?
- Hoe werkt PoW?
- Proof of Work vs. Proof of Stake
- Conclusie
- Veelgestelde vragen
Wat is Bewijs van Werk?
Proof of Work (kortweg PoW) is een zogenaamd consensusmechanisme (ook bekend als een consensusalgoritme) gebruikt in cryptocurrencies. Het voorkomt het volgende dubbele uitgaven. Proof of Work wordt gewoonlijk de methode voor de beveiliging van het grootboek van een cryptocurrency genoemd.
Proof of Work is het eerste consensusalgoritme dat ooit werd gemaakt en wordt nog steeds beschouwd als het dominante algoritme onder andere consensusalgoritmen. Satoshi Nakamoto, de Bitcoin maker, introduceerde PoW in 2008. Maar in werkelijkheid was de technologie die PoW mogelijk maakte al bekend vóór de periode.
Het beroemdste voorbeeld van het PoW-algoritme uit het pre-cryptocurrency tijdperk is HashCash van Adam Back. Het werkte als een hulpmiddel om het aantal spamberichten te verminderen door van verzenders te eisen dat ze een bepaalde hoeveelheid rekenkracht uitvoerden voordat ze een e-mail verstuurden. De hoeveelheid rekenkracht was relatief laag voor een individuele e-mailverzender, maar nam dramatisch toe voor iemand die massaal e-mails verstuurde.
Waarom hebben we een bewijs van werk nodig?
Om deze vraag te beantwoorden, moeten we eerst kijken naar hoe blockchaintechnologie werkt.
In een Bitcoin-netwerk hebben gebruikers het systeem nodig om transacties te bevestigen, want als ze hun transacties naar het netwerk zenden, krijgen die transacties niet meteen hun gevalideerde status. Transacties moeten eerst onderdeel worden van het blockchain-systeem. Aangezien de blockchain een open database is, kan elke gebruiker de geschiedenis van alle fondsen binnen het netwerk volgen. De eenvoudigste manier om ernaar te kijken is een notitieblok.
Dit is het idee:
- Jij en drie andere vrienden delen hetzelfde notitieblok;
- Jullie vier gebruiken dit notitieblok om transacties bij te houden en te zien hoeveel geld ieder van jullie uitgeeft;
- Om elke nieuwe transactie geldig te maken, moet je bij het maken ervan verwijzen naar de vorige transactie die het geld opleverde;
- Dus als een van je vrienden een transactie probeert te maken met dezelfde fondsen - zal een dergelijke transactie als ongeldig worden beschouwd en worden geblokkeerd.
Maar hier zit het addertje onder het gras - zo'n systeem kan alleen werken voor een kleine groep mensen die elkaar kennen en afspraken kunnen maken bij het maken van transacties en hun gegevens zelf opschrijven in een gezamenlijk notitieblok om hun handelingen volledig transparant en traceerbaar te maken. Maar wat als je hetzelfde wilt doen voor een grote groep online gebruikers van, laten we zeggen, 10.000 of meer mensen? In dit geval zal de notitieblok-aanpak niet werken omdat niemand staat te springen om transacties door vreemden te laten beheren.
En daarom heeft het digitale valutanetwerk een Proof of Work-systeem nodig. Dit mechanisme dient als een blok voor een gebruiker om activa uit te geven waar hij geen recht op heeft. Het PoW-algoritme combineert speltheorie en cryptografie, waardoor gebruikers van de Bitcoin blockchain bitcoin transactiegegevens kunnen bijwerken in strikte overeenstemming met het systeem.
Hoe werkt PoW?
Wat is mijnbouw?
Om te begrijpen hoe Proof of Work eigenlijk werkt, moeten we eerst leren wat mining is.
Wanneer je transacties toevoegt aan de blockchain, kun je ze niet afzonderlijk toevoegen - je moet ze verzamelen in blokken. Zodra transacties binnen het netwerk verschijnen, is het concept als volgt: ze moeten worden toegevoegd aan een bepaald type blok dat een kandidaat-blok. Vervolgens wacht dit kandidaatblok op zijn validatie om geldig te worden - met andere woorden, om te worden toegevoegd aan de blockchain.
Een nieuw blok maken is niet het goedkoopste proces. Er is een bepaalde hulpbron voor nodig, namelijk rekenkracht. Of mining power, want degene die een blok creëert wordt een miner genoemd. Een miner lost (met behulp van een moderne computer met voldoende CUP ) een zogenaamde computationele puzzel op - dat wil zeggen, hashing de gegevens van het blok.
Wat betekent hashing van de gegevens van een blok? Het betekent het verwerken van de gegevens via een hashfunctie die een hash van een blok genereert. Na verwerking door de hashfuncties krijgt een nieuw blok zijn unieke code - een soort vingerafdruk. Deze “vingerafdruk” geeft een individuele identiteit aan de invoergegevens van je blok.
Je kunt de invoergegevens niet uit een hash van een blok halen. Als je echter een invoer kent, kun je zien of het blok correct is. Daarvoor hoef je alleen maar de invoer door de hashfunctie te halen en te controleren of de uitvoer hetzelfde is.
Proof of Work vereist dat de hash van de gegevens aan bepaalde voorwaarden voldoet. Om er zeker van te zijn dat de hash van de gegevens overeenkomt met de voorwaarden, moet je deze door de hashfunctie halen. Als bij de controle blijkt dat de gegevens niet overeenkomen, moet je ze corrigeren door ze een beetje te veranderen. Het is belangrijk om te weten dat zelfs een verandering van één letter een enorm verschil maakt, zodat het resultaat totaal onvoorspelbaar is.
Het komt erop neer dat het maken van een blok een taak is die je niet kunt voorspellen. Het komt allemaal neer op het hashen van een aantal transacties met andere cruciale gegevens. Wat je altijd nodig hebt is om een constante dataset aan te vullen met een stuk variabele data. Zonder dat zal je hash uitvoer altijd onveranderd zijn.
Het stukje variabele gegevens dat we noemden, heet een nonce. Het is een getal dat elke keer verandert waardoor je verschillende hashes krijgt. Het proces zelf wordt mining genoemd.
Wat is mijnbouw eigenlijk?
- Mining is het proces waarbij blockchaingegevens worden verzameld en gehasht met een nonce met als doel een bepaalde hash te vinden. Wanneer een miner een hash vindt die overeenkomt met de door het protocol toegewezen voorwaarden, krijgt hij het recht om nieuwe blokken uit te zenden naar het netwerk. Tegelijkertijd wordt de blockchain bijgewerkt door andere netwerkgebruikers die nieuwe blokken toevoegen.
De voorwaarden waaraan voldaan moet worden tijdens het mijnproces verschillen per digitale valuta. Er zijn bijvoorbeeld munteenheden met extreem uitdagende voorwaarden. Het hangt allemaal af van de hashfrequentie van het netwerk - hoe hoger de hash rate, hoe moeilijker het is om een geldige hash te vinden. Dit maakt allemaal deel uit van een ontwerp - als de hashfrequentie laag zou zijn, zouden miners te snel munten vinden en zou hun aantal snel groeien.
Mijnbouw is echter niet onmogelijk. Het idee is dat het matig moeilijk moet zijn. Anders zou het voor andere miners geen zin hebben om mee te doen. Mijnbouw is een competitie. Elke dag concurreren mijnwerkers met elkaar. Het werk dat miners doen wordt uiteindelijk beloond, wat hun enthousiasme voor verder minen stimuleert.
Zoals we al eerder zeiden, vereist mining (d.w.z. het oplossen van een wiskundepuzzel) enorme hoeveelheden rekenkracht. Maar dat is niet alles. Zoals je weet, hebben computers elektriciteit nodig om te werken. Dit maakt mining dus een zware taak wat betreft elektriciteitskosten. Maar er is goed nieuws - geldige hashes worden beloond. Dit betekent dat elke keer dat een miner een geldige hash vindt, hij een blockbeloning krijgt in cryptocurrency.
Wat is openbare-sleutelcryptografie?
Met alle bovengenoemde informatie krijgen we de volgende conclusies:
- Mijnbouw kost geld (mijnbouwhardware + een aanzienlijke hoeveelheid gebruikte elektrische energie)
- Miners krijgen blokbeloningen voor het vinden van geldige blokken
- Met invoergegevens kan een blockchaingebruiker er zeker van zijn dat het blok geldig is zonder al te veel CPU-kracht te gebruiken.
Maar er zullen altijd mensen zijn die voor de makkelijke weg kiezen. In dit geval degenen die willen proberen vals te spelen. Is dat mogelijk? Kan iemand een aantal valse transacties creëren, ze in één blok hashen en wegkomen met het creëren van een nieuw geldig blok? Technisch gesproken is het antwoord ja. Maar er is een manier om te voorkomen dat slechte actoren de publieke blockchain misbruiken voor hun eigen bestwil.
Om er zeker van te zijn dat een gebruiker het recht heeft om geld uit te geven, wordt een speciaal cryptografisch mechanisme gebruikt - dit heet public-key cryptografie. Het concept is als volgt:
- Bij het aanmaken van een transactie moet een gebruiker ondertekenen;
- De handtekening is openbaar en elke gebruiker heeft er toegang toe;
- Andere gebruikers kunnen de handtekening vergelijken met de openbare sleutel - als deze overeenkomt, is de transactie geldig;
- Gebruikers kunnen er ook voor zorgen dat de maker van een transactie zijn geld daadwerkelijk kan uitgeven en dat de outputsom lager is dan de inputsom.
Voor meer informatie, lees dit artikel.
Het netwerk verwijdert elk ongeldig transactieblok, wat resulteert in een enorm geldverlies. Valsspelen binnen het blockchainnetwerk is dus echt extreem duur. En dat is het eigenlijke idee achter de Proof of Work (en andere consensusmechanismen):
- Het PoW consensusmechanisme maakt valsspelen duur, maar aan de andere kant moedigt het je aan om eerlijk te handelen, waardoor je grote winsten maakt.
Wat is een dubbele uitgave?
Als je het hebt over Proof of Work, is er een fundamentele term die je moet kennen. De term is dubbele besteding.
A dubbele uitgaven is in feite een fonds dat een gebruiker meer dan eens probeert uit te geven. Dit is een veelgebruikte term voor digitale geldtransacties. De reden hiervoor is dat digitale fondsen niet hetzelfde zijn als fiatvaluta - d.w.z. geld dat echt bestaat in de fysieke wereld. Uiteindelijk zal iedereen die met digitale valuta omgaat op een gegeven moment moeten toegeven dat ze geen enkele waarde hebben in de echte wereld. Maar nogmaals, om een heleboel redenen zijn cryptocurrencies de afgelopen jaren groot geworden, wat resulteerde in een crypto boom en een overvloed aan oplichtingstechnieken. Een van die technieken is dubbel geld uitgeven.
Laten we duidelijk zijn:
- je kunt niet twee keer betalen met fysiek geld, maar je KAN (in ieder geval proberen) hetzelfde digitale valutafonds gebruiken om bitcointransacties te doen (wat natuurlijk fraude is).
Stel je de volgende situatie voor: je hebt een kop koffie gekocht en contant betaald. Als je nu nog een kopje koffie wilt, kun je dat niet betalen met hetzelfde dollarbiljet, omdat het door een caissière is geaccepteerd en in een kassa is opgeborgen. Je kunt dat biljet ook niet in een andere winkel gebruiken, om de eerder genoemde reden.
Maar met digitale valuta kun je die truc wel uithalen. Omdat digitaal geld gewoon een hoop nullen en enen is (gegevens gecomprimeerd in een bestand), kun je deze gegevens dupliceren en e-mailen naar zoveel mensen als je wilt. Daarom is het zo belangrijk om mechanismen te hebben die voorkomen dat mensen hetzelfde geld op verschillende plaatsen gebruiken. Zonder zulke mechanismen zal dubbele besteding een valuta vernietigen.
Voor meer informatie over dubbele uitgaven, lees deze gids.
Proof of Work vs. Proof of Stake
Zoals we hierboven al zeiden, is Proof of Work (PoW) niet het enige consensusalgoritme dat er is. In dit deel van onze gids kijken we naar een potentiële rivaal van het Proof of Work-algoritme. Bewijs van inzet.
Wat is Proof of Stake?
Proof of Stake is een ander populair consensusmechanisme waarmee transacties kunnen worden gevalideerd en consensus kan worden bereikt. Maar PoS gebruikt een heel andere aanpak dan PoW doet. In tegenstelling tot Proof of Work, werkt Proof of Stake virtueel.
Dit betekent dat, terwijl PoW een enorme hoeveelheid rekenkracht vereist om een CPU-kostenfunctie uit te voeren (of een rekenpuzzel op te lossen), de belangrijkste eigenschap van PoS het gebruik van validators is. Validators vergrendelen een inzet om valsspelen te voorkomen. Daarna moeten de validators beslissen wat het volgende blok is dat aan de keten wordt toegevoegd. Daarna zetten ze in op gekozen blokken. Als een blok in de keten verschijnt, ontvangen de validators een beloning in verhouding tot de volledige inzet.
Is PoS beter dan PoW?
Proof of Stake moet nog volledig worden geïntegreerd in cryptoblockchains. En een van hen die het als eerste doet, is het Ethereum-netwerk. De Ethereum-gemeenschap kijkt ernaar uit om in de nabije toekomst over te schakelen van Proof of Work naar Proof of Stake. De reden hiervoor is dat Proof of Work te veel elektriciteit verbruikt - voor de CPU-prijsfunctie is meer mijnkracht nodig dan voor transactievalidatie via PoS. En hoe meer miners zich aansluiten bij mijnpools, hoe meer stroom er nodig is.
Veel mensen over de hele wereld maken zich zorgen over deze hoeveelheden stroomverbruik. Daarom wil de Ethereum blockchain gebruik maken van het Proof of Stake mechanisme in zijn poging om voor een groenere oplossing te gaan.
Een ander punt in een PoW-vs-PoS competitie is snelheid (het aantal transacties per seconde). Met Proof of Stake kunnen gebruikers geld versturen en ontvangen in slechts enkele seconden, vergeleken met het Proof of Work-proces dat aanzienlijk langer duurt. Deze laatste factor beïnvloedt overigens ook de groei van de transactiekosten binnen de cryptonetwerken.
En tot slot is er nog de veiligheidskwestie. Is Proof of Stake veiliger dan Proof of Work? Het antwoord is ja. Dankzij het CASPER-protocol is PoS potentieel veiliger dan PoW. Sterker nog, aanvallen van hackers op PoS-gebaseerde systemen worden duurder en dus zeldzamer.
Conclusie
Vroeger was Proof of Work (PoW) het oorspronkelijke mechanisme voor het detecteren van dubbele uitgaven binnen de Bitcoin blockchain. Het combineren van cryptografie, hashfuncties, en speltheorie zorgt PoW voor een veiligere werking binnen een gedecentraliseerd netwerk dat een stabiel, gedistribueerd, op consensus gebaseerd systeem creëert.
FAQs
Wat is het Proof of Work-protocol?
Het PoW-protocol is een mechanisme voor het valideren van transacties binnen het gedecentraliseerde cryptocurrency-systeem. Met Proof of Work wordt het onmogelijk om aan double-spending te doen - een zwendeltechniek waarbij hetzelfde fonds voor meerdere transacties wordt gebruikt.
Wat is het verschil tussen Proof of Stake en Proof of Work?
Er zijn twee belangrijke verschillen tussen de twee populairste consensusprotocollen. Het eerste verschil is dat Proof of Stake een meer energie-efficiënte aanpak toepast, terwijl Proof of Work grote hoeveelheden elektrische energie nodig heeft om te werken. Het tweede verschil is dat Proof of Stake potentieel veiliger is dankzij het CASPER-protocol en de toenemende kosten van hackeraanvallen.
Wat bedoel je met een “wiskundige puzzel”?”
Het oplossen van een “wiskundige puzzel” is het proces van het delven van cryptomunten. Miners wereldwijd gebruiken dure computerapparatuur en verbruiken veel elektriciteit om bitcoins (en andere cryptomunten) te “delven” door enorme hoeveelheden gegevens te verwerken om nieuwe eenheden te creëren en toe te voegen aan de blockchain.
Wat is een PoW-token?
Een PoW token is een “valuta” die gebruikt wordt als een vorm van pseudobetaling binnen een aantal toepassingen zoals e-mail. Als aan een e-mail een PoW-token is gekoppeld, betekent dit dat de e-mail spamvrij is. PoW tokens worden ook gebruikt voor Reusable Proof of Work. Technisch gezien zijn PoW tokens dus elementen van een anti-spam systeem.








