Wat doen miners?

Wallets worden gebruikt om transacties te versturen en te ontvangen, zoals de lezen was op de vorige pagina. In de uitleg 'Wat is Bitcoin?' las je dat miners de motoren van de blockchain zijn. Zij verwerken transacties en zenden deze naar nodes (nodes valideren blocks en houden administratie bij). Op deze pagina wordt dieper ingegaan en eenvoudig uitgelegd hoe Bitcoin-transacties door miners verwerkt worden.

 

Miners vinden gemiddeld elke 10 minuten een block

Transacties die verstuurd worden door gebruikers komen niet direct aan in de wallet van de ontvanger. Ze 'hangen in de lucht' tot ze opgenomen worden in een block, in vaktermen heet dit de memorypool (kortweg: mempool). Een block heeft een capaciteit van 1 MegaByte (MB) en een transactie gemiddeld 400 Byte. In één block passen dus zo'n 2500 transacties. Zijn er meer dan 2500 transacties verzonden in 10 minuten? Dan krijgen de transacties waarvan de verzenders de hoogste fees meegegeven hebben voorrang.  Miners geven natuurlijk voorkeur aan transacties met de hoogste fees, omdat zij deze fees ontvangen. De overige transacties blijven tijdelijk in de mempool tot ze worden opgenomen in een block. Elk block bestaat uit een aantal gegevens:

  • Het blocknummer
  • Nonce (dit is het nummer dat miners uitrekenen)
  • Data: dit zijn de transactie-hashes van de transacties die opgenomen zijn in het desbetreffende block
  • Previous hash: De hash van het block voor het te minen block
  • Hash: Het resultaat van het versleutelen van bovenstaande gegevens: blocknummer, nonce, data en de hash van voorgaande block

De formule is dus: Blocknummer + Nonce + Data + Previous hash = Hash

 

Het ontbrekende puzzelstukje

De Nonce is echter het enige onbekende gegeven. De miners strijden tegen elkaar om de nonce zo snel mogelijk te vinden. Gemiddeld wordt de nonce van een block elke 10 minuten gevonden en dus gemined. De transacties die in zo'n gemined block zitten krijgen een 'confirmation' (bevestiging). Zodra een miner de nonce achterhaalt heeft, heeft hij het recht het block te minen en dus toe te laten voegen aan de blockchain.

Wat miners berekenen: Hash - Blocknummer - Data - Previous hash = Nonce

Voor nu gaan we er vanuit dat de transactie (of beter gezegd: de transactie-hash) in het eerstvolgende block terecht komt, block 100. Het block ervoor is vanzelfsprekend 99 en die erna 101.

In blok 100 gebruiken we als voorbeeld de transactie van 0,25 Bitcoin tussen wallet A en C van de vorige pagina met de transactie-hash 8c646fde7ecde5ef5c058316adc399b7356d6f78d9a71c0d371a840b65065dbc.

In block 99 zijn alle gegevens bekend, inclusief de nonce, omdat dit block al gemined is. De nonce (4688) is gevonden. Dit block is al opgenomen in de blockchain. Bij block 100 zijn alle gegevens bekend op de nonce na. Miners laten nu hun rekenkracht erop los om de 'wiskundige puzzel' op te lossen, oftewel de nonce te vinden. Merk op dat de hash van block 99 dezelfde reeks van cijfers en getallen is als staat in block 100 achter 'Prev' (previous hash). Op deze manier worden blocks met elkaar verbonden. Hieronder staat het resultaat nadat de nonce van block 100 gevonden is.

De nonce van block 100 is 19590.

Tip: Check deze website.
Hier kun je zelf aan de slag met hashing, blocks en blockchain in een demo-modus.
Waarschijnlijk wordt hierdoor alles omtrent minen nog veel duidelijker!

 

Blockreward als distributie van Bitcoin

De miner die als eerste de nonce berekent en het block mag minen ontvangt als beloning tegenwoordig 12,5 Bitcoin. Herinner je je nog dat de totale hoeveelheid Bitcoin uiteindelijk 21 miljoen stuks worden en er nu circa 16,67 in omloop zijn? Doordat miners de blocks met transacties blijven minen en daardoor de blockchain blijven voeden met blocks met transacties, wordt de totale hoeveelheid Bitcoin in omloop steeds groter. Zoals eerder aangegeven worden blocks gemiddeld eens per 10 minuten gemined. Elk uur komen er dus gemiddeld 75 Bitcoin bij, ofwel 1.800 stuks per dag.

 

De start van de Bitcoin-distributie

Waar is dit begonnen? Satoshi Nakamoto minede met zijn eigen huis-tuin-en-keuken-computer het eerste block van Bitcoin ooit. Op dat moment was hij daadwerkelijk de enige die Bitcoin begon te minen en was de 'difficulty' om de nonce van een block te vinden nog erg laag. Naarmate Bitcoin populairder werd zijn meer mensen begonnen met het minen van blocks, watt bijdraagt aan het voortbestaan van Bitcoin. Hoe meer rekenkracht ('hashpower' in vakterm) er aanwezig is in het netwerk, hoe sneller de nonce gevonden wordt. Daarom gaat de difficulty om de nonce te vinden omhoog als er meer rekenkracht bijkomt en neemt de difficulty af wanneer de rekenkracht afneemt. Elke 2016 geminede blocks wordt de difficulty aangepast zodat er gemiddeld 6 blocks per uur gemined worden. Bij een gemiddelde van 10 minuten per block is een periode van 2016 blocks ongeveer twee weken.

Vergelijking:
Leg jij een puzzel van 1.000 stukjes sneller in je eentje of met een groep mensen?
Anders gezegd: Gaat de difficulty, als je hulp krijg met de puzzel, omhoog of omlaag?

De 'blockreward' van 12,5 Bitcoin per block is niet altijd 12,5 geweest en dit zal ook geen 12,5 per block blijven. Na elke 157.500 geminede blocks (ongeveer 4 jaar), wordt de blockreward gehalveerd. Satoshi kreeg voor zijn eerste geminede block 50 Bitcoin. Nadat er door miners 157.500 blocks gemined waren, kregen ze vanaf block 157.501 t/m 367.500 per gemined block 25 Bitcoin. Op het moment zit Bitcoin in periode 3 en krijgt een miner 12,5 Bitcoin per gemined block. Hieronder staat een schema vanaf 2009 t/m 2035. In dat jaar zal 99% van alle Bitcoin die ooit in omloop komen gedistribueerd zijn.

Datum Block Rewardtrap BTC/block Jaar (geschat) Startaantal BTC BTC toegevoegd Eindaantal BTC BTC toename Gemined/totaal
3-1-2009 0 1 50 2009 0 2.625.000 2.625.000 Oneindig 12,50%
22-04-2010 52.500 1 50 2010 2.625.000 2.625.000 5.250.000 100,00% 25,00%
28-1-2011 105.000 1 50 2011 5.250.000 2.625.000 7.875.000 50,00% 37,50%
14-12-2011 157.500 1 50 2012 7.875.000 2.625.000 10.500.000 33,33% 50,00%
28-11-2012 210.000 2 25 2013 10.500.000 1.312.500 11.812.500 12,50% 56,25%
9-10-2013 262.500 2 25 2014 11.812.500 1.312.500 13.125.000 11,11% 62,50%
11-8-2014 315.000 2 25 2015 13.125.000 1.312.500 14.437.500 10,00% 68,75%
29-7-2015 367.500 2 25 2016 14.437.500 1.312.500 15.750.000 9,09% 75,00%
9-7-2016 420.000 3 12,5 2017 15.750.000 656.250 16.406.250 4,17% 78,13%
23-6-2017 472.500 3 12,5 2018 16.406.250 656.250 17.062.500 4,00% 81,25%
525.000 3 12,5 2019 17.062.500 656.250 17.718.750 3,85% 84,38%
577.500 3 12,5 2020 17.718.750 656.250 18.375.000 3,70% 87,50%
630.000 4 6,25 2021 18.375.000 328.125 18.703.125 1,79% 89,06%
682.500 4 6,25 2022 18.703.125 328.125 19.031.250 1,75% 90,63%
735.000 4 6,25 2023 19.031.250 328.125 19.359.375 1,72% 92,19%
787.500 4 6,25 2024 19.359.375 328.125 19.687.500 1,69% 93,75%
840.000 5 3,125 2025 19.687.500 164.063 19.851.563 0,83% 94,53%
892.500 5 3,125 2026 19.851.563 164.063 20.015.625 0,83% 95,31%
945.000 5 3,125 2027 20.015.625 164.063 20.179.688 0,82% 96,09%
997.500 5 3,125 2028 20.179.688 164.063 20.343.750 0,81% 96,88%
1.050.000 6 1,5625 2029 20.343.750 82.031 20.425.781 0,40% 97,27%
1.102.500 6 1,5625 2030 20.425.781 82.031 20.507.813 0,40% 97,66%
1.155.000 6 1,5625 2031 20.507.813 82.031 20.589.844 0,40% 98,05%
1.207.500 6 1,5625 2032 20.589.844 82.031 20.671.875 0,40% 98,44%
1.260.000 7 0,78125 2033 20.671.875 41.016 20.712.891 0,20% 98,63%
1.312.500 7 0,78125 2034 20.712.891 41.016 20.753.906 0,20% 98,83%
1.365.000 7 0,78125 2035 20.753.906 41.016 20.794.922 0,20% 99,02%

Het zal opvallen dat de distributie van Bitcoin in praktijk iets anders uitpakt dan in de theorie. Dit heeft te maken met het feit dat op bepaalde punten opeens heel veel extra miners erbij kwamen en dus de hashpower flink steeg. Op dat moment zullen miners gemiddeld snellers blocks minen dan eens per 10 minuten. Doordat de difficulty adjustment een keer per 2016 blocks plaatsvindt, is de difficulty op sommige punten te laag en misschien in andere periodes te hoog.

 

Thuis Bitcoin minen

In principe kan iedereen met een PC gaan minen op het Bitcoinnetwerk, maar we zullen het je niet aanraden. In de beginjaren van Bitcoin was dit ook zeker het geval. Er moest immers een begin gemaakt worden en het aantal miners was toen relatief klein. Of beter gezegd: De hashpower van de Bitcoin-blockchain was laag. Satoshi Nakamoto minede het eerste block immers ook met zijn eigen PC.

We zullen geen illusies scheppen, maar vanuit huis minen zit er niet meer in. Inmiddels is het minen geprofessionaliseerd. De miners die nu bestaan hebben hele loodsen vol met processors en/of videokaarten. Dit zijn zogenaamde 'miningfarms'. Hoe meer hashpower je hebt als miner, hoe sneller je de cryptografische puzzel van het volgende blok kan oplossen waardoor je het recht krijgt dit block te minen en dus hoe meer Bitoin je krijgt als reward voor het minen. Het is tussen de miners een race wie de meeste hashpower heeft om vervolgens zoveel mogelijk blocks als eerste te minen.

De hashpower die jouw computer thuis levert, zal dermate in het niet vallen ten opzichte van profesionele miners, waardoor je vrijwel geen kans maakt de nonce van een block sneller te vinden dan een miningfarm.

Toch is er een oplossing. Je kan je aansluiten bij een 'miningpool'. Bij zo'n miningpool kun je rekenkracht huren. Zodra de miningpool een block vindt waar jij bij aangesloten bent, dan ontvang jij een aandeel van de blockreward naar rato van de rekenkracht die jij huurt bij die miningpool.

Een aantal miningpool waar je rekenkracht kan huren zijn:

  • Genesis Mining
  • NiceHash
  • Slush

 

Samenvatting

  • Miners verwerken transacties en zenden geminede blocks uit naar nodes
  • Een block bestaat uit een blocknummer, transactiehashes (data), een hash, een previous hash en een onbekende nonce
  • De miner die als eerste de nonce vindt van een block, mag het block minen
  • Miners krijgen een blockreward in Bitcoin, zo wordt Bitcoin gedistribueerd t/m de 21 miljoenste coin

 

Volgende onderwerp

Het laatste onderdeel, na wallet en miners, is aan de beurt: nodes. Nodes houden elk een kopie van de administratie, ofwel blockchain, bij.

Klik hier voor het volgende onderwerp: Een uitleg over nodes ›