Wat is proof of work?
Definitie · Proof of work (PoW)
Een systeem waarbij het recht om een blok toe te voegen gaat naar wie als eerste een hash van de block header vindt die onder een target ligt. Het vinden kost enorme aantallen pogingen; controleren kost één hash.
Satoshi Nakamoto beschreef het in de Bitcoin whitepaper in 2008, voortbouwend op Adam Back’s Hashcash, een ouder idee om e-mailspam duur te maken. De geldige hash is het bewijs. Je krijgt er geen zonder het werk te doen, en iedereen kan zien dat je het gedaan hebt.
De rest van deze pagina loopt elk onderdeel door, en met het vak hierboven kun je het zelf proberen. Dit is een echt Bitcoin header-format, live gehasht in je browser. Voor het grotere plaatje van mining, zie onze complete Bitcoin mining-gids.
Welk probleem lost proof of work op?
Bitcoin heeft geen bedrijf, bank of server die de baas is. Duizenden computers bewaren hun eigen kopie van het grootboek, en ze moeten het eens zijn over welk block erna komt en in welke volgorde betalingen gebeurden. Anders kan iemand dezelfde coin twee keer uitgeven.
Een simpele stemming werkt online niet, want iedereen kan duizend nepcomputers starten en duizend keer stemmen. Dat heet een Sybil-aanval. Proof of work omzeilt dat: je stem wordt gemeten in hashes, en hashes kosten stroom en hardware.
Wie heeft invloed op het volgende block?
Eén stem per node
Eén aanvaller start gratis 60 nep-nodes en stemt de 12 eerlijke nodes weg.
Eén stem per hash
eerlijke miners 88%aanvaller 12%
Dezelfde 60 nodes delen de echte hardware van de aanvaller, dus samen wegen ze nog steeds 12%. Kopieën zijn gratis, hashes niet.
Wat zit er in een Bitcoin block header?
Miners hashen niet het hele block. Ze hashen de 80-byte header, die aan al het andere vastlegt. Dit zijn de zes velden die je in het vak bovenaan hebt aangepast:
| Veld | Bytes | Wat erin staat | Wie het aanpast |
|---|---|---|---|
| Versie | 4 | Welke regels deze block volgt | Verandert zelden |
| Hash van het vorige blok | 32 | De hash van het vorige block, die de chain koppelt | Nieuw bij elk blok |
| Merkle-root | 32 | Eén vingerafdruk van alle transacties in het blok | Miner, als transacties of de extra nonce veranderen |
| Tijd | 4 | Wanneer de miner zegt dat het block is gemaakt (Unix-tijd) | Miner, binnen grenzen |
| Bits | 4 | Het target, verpakt in 4 bytes | Het netwerk, elke 2.016 blocks |
| Nonce | 4 | Een vrij getal om opnieuw mee te proberen | Miner, bij elke poging |
Omdat de header de hash van het vorige block bevat, verandert de hash als je een oud block wijzigt. Daardoor klopt de volgende header niet meer, en die daarna ook niet. We hebben het echte genesis block van 2009 gecontroleerd met dezelfde code die de held gebruikt, op onze server, toen deze pagina werd gebouwd:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Hoe werkt SHA-256 in Bitcoin?
SHA-256 zet elke invoer om in een getal van 256 bits, geschreven als 64 hex-tekens. Bitcoin draait het twee keer op de header (mensen noemen dat SHA-256d). De eigenschappen die tellen voor mining zijn simpel:
Zelfde input, zelfde output
Deterministisch
Dezelfde header geeft altijd dezelfde hash, op elke computer. Daarom werkt controleren.
256 bits
Vaste grootte
Een korte regel of een heel boek, de hash is altijd 64 hex-tekens.
Eenrichtingsverkeer
Geen snelle weg terug
Je kunt geen input uitrekenen die precies de hash geeft die je wilt. Je kunt alleen inputs proberen.
≈ 50%
Avalanche
Verander één teken en ongeveer de helft van de bits klapt om. Kijk naar het raster in de hero.
Die laatste eigenschap is de kern van proof of work. Een hash dicht bij het target zegt je niets over de volgende gok, dus er is geen slimme route naar een geldig block. Elke miner draait dezelfde loterij, en meer hashes per seconde betekent gewoon meer loten.
Wat is de target, en waarom die voorloopnullen?
Het target is een getal van 256 bits. Een block is geldig als de hash, gelezen als getal, gelijk is aan of lager is dan dat target. Omdat kleine getallen met nullen beginnen, zie je bij een lager target meer nullen vooraan. Elke extra hex-nul betekent gemiddeld 16 keer meer gokken.
Gemiddeld aantal hashes dat nodig is om één geldig block te vinden
- Het speelgoed-block in de hero · 4 voorloopnullen in hex65,536
- Bitcoin’s makkelijkste target (2009) · 8 hex-nulles vooraan, bits 1d00ffff4,294,967,296
- Een Bitcoin-blok heeft vandaag · ongeveer 20 voorloopnullen in hex (live schatting)4.9 × 1023
Het netwerk verplaatst het target elke 2.016 blocks, ongeveer elke twee weken, zodat blocks ongeveer elke tien minuten blijven komen, hoeveel hashrate er ook bij komt of weggaat. Op dit moment draait het netwerk op ongeveer 811 EH/s (live, elk uur bijgewerkt). Hoe die aanpassing werkt staat in onze gids over Bitcoin mining difficulty, en de hashrate-uitleg legt de units uit.
Wat is een nonce, en wat is de extra nonce?
De nonce ("number used once") is het veld van 4 bytes dat miners bij elke gok aanpassen. Dit is het enige veld dat er puur is om te veranderen. Alleen: 4 bytes geven maar zo’n 4,3 miljard waarden, en moderne machines jagen daar bijna meteen doorheen.
De loop van de miner
- 01
Probeer elke nonce
0, 1, 2 en zo door tot 4.294.967.295. Dat zijn alle waarden die 4 bytes kunnen bevatten.
- 02
Snel op, snel
Eén machine van 100 TH/s werkt ze allemaal af in ongeveer 43 miljoenste van een seconde.
- 03
Verander de extra nonce
De miner past een vrij veld aan in z’n eigen beloningstransactie (de coinbase).
- 04
Nieuwe merkle root
Die transactie is veranderd, dus de merkle root verandert en elke nonce levert weer nieuwe hashes op.
Daarom veranderen miners ook een extra nonce, een paar vrije bytes in de coinbase, de eerste transactie van het blok die de miner uitbetaalt. Een nieuwe coinbase betekent een nieuwe merkle root, en dat betekent miljarden verse nonces om te proberen. In een mining pool geeft de pool elke miner z’n eigen extra-nonce-bereik, zodat niemand het werk van een ander herhaalt.
Waarom is een block duur om te vinden, maar goedkoop om te controleren?
Om een block te vinden
≈ 4.9 × 1023 hashes
Het hele netwerk, alle machines, ongeveer tien minuten gokken.
Live schatting, elk uur bijgewerkt.
Om te controleren
1 hash
Elke node, zelfs een goedkope laptop, hasht de header van 80 bytes één keer en vergelijkt die met het target, ruim binnen een milliseconde.
De miner moet hashes proberen tot er eentje onder het target valt. De rest hoeft de header maar één keer te hashen en te vergelijken. Die scheve kostenverdeling is waarom duizenden gewone computers de chain kunnen verifiëren zonder de miners te vertrouwen die ’m bouwden.
Probeer hieronder zelf het zoekdeel. Deze demo gebruikt een eenvoudiger block-format dan de hero, maar het is dezelfde dubbele SHA-256-loterij, en elke gevonden block linkt naar de vorige.
Interactief · mine een block in je browser
Echte SHA-256d proof of work, vereenvoudigde header
Block-hash (dubbele SHA-256)
Pas de transacties aan: met één letter verandert de hash compleet.
Pogingen: 0
Jouw hashrate: n.v.t.
Tijd: 0,0 s
Wat is de langste-ketenregel, en wat is een aanval van 51%?
Soms vinden twee miners bijna tegelijk een block, en heeft het netwerk even twee versies. Nodes volgen de chain met het meeste totale werk erachter. Mensen noemen dat de langste chain, maar eigenlijk is het de zwaarste: een paar blocks met hoge difficulty kunnen zwaarder wegen dan meer blocks met lage difficulty.
Om een betaling terug te draaien, moet een aanvaller een zwaardere chain bouwen dan alle anderen, beginnend van vóór die betaling. Elke nieuwe block erbovenop (een confirmation) zet de aanvaller verder op achterstand. In de whitepaper zijn de kansen uitgewerkt. Verschuif de slider om ze te zien:
Interactief · kan een aanvaller inhalen?
Formule uit de Bitcoin-whitepaper, sectie 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Blocks waarmee de aanvaller achterloopt (confirmations). De balken gebruiken een log-schaal, van één op een miljoen tot zeker.
Met 10% van de hashrate is de kans om een betaling terug te draaien na 6 bevestigingen 0,024%, en na 1 bevestiging is het 20,5%.
Met 50% of meer wint de aanvaller uiteindelijk. Dat is de 51%-aanval. Dat is serieus, maar er zijn grenzen:
Met het grootste deel van de hashrate kan een aanvaller
- Vervang recente blokken door hun eigen keten
- Coins dubbel uitgeven die ze naar zichzelf hebben gestuurd
- Laat sommige transacties uit hun blocks
Zelfs dan kunnen ze niet
- Coins uit andermans wallets uitgeven
- Coins maken bovenop de block reward
- De regels van Bitcoin veranderen voor iedereen
Daarom wachten exchanges bij grote stortingen op meerdere confirmations. Zes is een veelgebruikte vuistregel.
Waarom gebruikt proof of work zoveel energie?
Omdat energie de beveiliging is. Een geldig block is bewijs dat er echt elektriciteit is verbruikt. Om de geschiedenis te herschrijven moet een aanvaller minstens net zoveel opnieuw uitgeven, en blijven uitgeven terwijl het eerlijke netwerk doorgaat.
Waar de energie naartoe gaat, en wat je ervoor terugkrijgt
Blockbeloning en fees
Nieuwe BTC plus fees per block, betaald aan wie hem vindt.
Machines en stroom
Miners geven uit tot wat de beloning voor hen waard is.
Netwerkhashrate
Al dat uitgeven zie je terug als hashes per seconde.
Kosten om de geschiedenis te herschrijven
Een aanvaller moet daar steeds meer aan uitgeven, block na block.
Hoeveel stroom dat is, en waar die vandaan komt, is een eerlijk debat. De Cambridge index volgt schattingen, en in onze energiehandleiding voor bitcoin mining lopen we de cijfers langs. Elke halving halveert het deel van de beloning dat uit nieuwe coins komt, dus na verloop van tijd moeten fees een groter deel van dat securitybudget dragen.
Proof of work vs proof of stake: wat is het verschil?
Proof of stake (PoS) kiest de volgende blokproducent uit mensen die munten vastzetten als borg, in plaats van mensen die elektriciteit verstoken. Ethereum stapte in 2022 over van proof of work naar proof of stake. Hier is een eerlijke vergelijking naast elkaar:
| Proof of work | Proof of stake | |
|---|---|---|
| Wie het volgende block toevoegt | De eerste miner die een hash onder het target vindt | Een validator die wordt gekozen naar verhouding van zijn stake |
| Wat het beveiligt | Elektriciteit en hardware die buiten de chain worden verbruikt | Coins die in de chain vastzitten, en die je kunt kwijtraken bij valsspelen |
| Energieverbruik | Hoog, met opzet | Laag |
| Om mee te doen | Machines en goedkope stroom | Coins om te staken |
| Finale afwikkeling | Wordt veiliger met elke bevestiging | Expliciete finality-checkpoints |
| Belangrijkste kritiek | Energieverbruik en concentratie van mining | Concentratie van stake en een ingewikkelder ontwerp |
| Track record | Bitcoin, sinds 2009 | Ethereum, sinds 2022 |
De ontwikkelaars van Bitcoin houden proof of work aan omdat de kosten buiten het systeem liggen. Daardoor kan niemand controle kopen met coins die hij al heeft. Voorstanders van proof of stake wijzen op de energiebesparing en snellere finaliteit.
Can you get mining rewards without running proof of work yourself?
Yes. With CloudMineCrypto you mine bitcoin for free from your phone or browser, with no hardware, noise or power bill. Claim the free 8-hour plan, and add more free plans by watching ads, playing games, completing offers and checking in daily. Your estimated BTC ticks up while your plans run, and you withdraw to your own wallet, Lightning included.
Each plan has a hashrate, and your estimate is that hashrate’s share of the whole network, times 6 blocks an hour, times the block reward. That’s the formula the app uses to estimate your rewards (rules and limits apply). Want more speed? Paid plans are an optional boost for fun. They usually mine less than they cost, and the price is shown before you confirm.
Goed om te weten: beloningen zijn schattingen die meebewegen met het netwerk en niet gegarandeerd zijn, en een plan geeft je geen eigendom van een machine of pool. Voor opnames kunnen limieten gelden of kan verificatie vereist zijn. De details staan in de beloningsregels en de gratis Bitcoin mining-gids. Voorwaarden van toepassing.
Veelgestelde vragen
Wat is proof of work in simpele woorden?
Het is een manier om het toevoegen van een block echt moeite te laten kosten. Miners hashen de block header steeds opnieuw en veranderen een getal dat de nonce heet, totdat de uitkomst onder een target valt. Het vinden van die hash kost enorm veel pogingen, maar iedereen kan hem met één hash controleren.
Wat is een nonce in Bitcoin?
Een getal van 4 bytes in de block header dat miners bij elke gok aanpassen. Het heeft zo’n 4,3 miljard mogelijke waarden. Zijn die op, dan passen miners een extra nonce aan in de coinbase-transactie. Dat levert een nieuwe merkle root op en een verse set hashes.
Waarom gebruikt Bitcoin SHA-256 twee keer?
Bitcoin hasht de header van 80 bytes met SHA-256 en hasht dat resultaat daarna nog een keer. Satoshi heeft die keuze nooit uitgelegd. De gebruikelijke uitleg is dat het beschermt tegen length-extension-aanvallen en extra veiligheidsmarge geeft.
Wat kan iemand doen met een aanval van 51%?
Iemand met het grootste deel van de hashrate kan in het geheim een langere chain bouwen en recente blocks vervangen. Daarmee kunnen ze hun eigen coins dubbel uitgeven of sommige transacties blokkeren. Ze kunnen geen coins uit andermans wallets uitgeven, geen coins maken buiten de regels om, en de regels niet voor iedereen veranderen.
Is proof of stake beter dan proof of work?
Het gebruikt veel minder energie, en de beveiliging komt van coins die als stake vaststaan. Proof of work koppelt beveiliging aan een externe kost, stroom en hardware, en draait Bitcoin sinds 2009. Ze maken allebei andere afwegingen, dus wat beter is hangt af van wat jij belangrijk vindt.
Can I get bitcoin mining rewards without my own hardware?
Yes. In the CloudMineCrypto app you claim free mining plans (the free plan, ads, games, offers and a daily check-in) and your estimated BTC ticks up while they run, then you withdraw to your own wallet. Rewards are estimates based on your plan’s hashrate and live network data, they aren’t guaranteed, and a plan doesn’t give ownership of any hardware.
Bronnen en verder lezen
- Bitcoin: A Peer-to-Peer Electronic Cash System (de whitepaper) · Satoshi Nakamoto, bitcoin.org
- Blockchain-gids: blockheaders, proof of work, coinbase · Bitcoin developer-documentatie
- Mining-handleiding: solo mining, pools, getblocktemplate · Bitcoin developer-documentatie
- Moeilijkheidsgraad · Bitcoin Wiki
- Bevestiging · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Mining-dashboard: hashrate, difficulty, recente blocks · mempool.space
De actuele cijfers op deze pagina komen uit de CloudMineCrypto API of van de openbare blockchaindatadiensten die ernaast staan. Ze worden volgens een vast schema bijgewerkt en staan vermeld bij de cijfers. Deze gids is bedoeld om je iets te leren en is geen financieel advies. CloudMineCrypto is geen beleggingsproduct. Beloningen in de app zijn schattingen en niet gegarandeerd.
Je hebt gelezen hoe het werkt. Nu zie je het gebeuren.
Claim een gratis miningplan van 8 uur in de CloudMineCrypto-app en zie hoe je geschatte BTC oploopt op basis van live netwerkdata. Geen hardware, geen kaart.