Bitcoin Mining uitgelegd

Wanneer men “Bitcoin mining” hoort, denkt men aan Bitcoins die uit de grond worden gegraven. Eerder hadden we al geleerd dat Bitcoins niet fysiek zijn, dus hoe komt het dat we spreken over mining?

De term mining wordt bij Bitcoin gebruikt, omdat het vergelijkbaar is met goudwinning. De Bitcoin bestaat in het design van het Bitcoin protocol, net zoals het goud ondergronds bestaat. De Bitcoin is nog niet aan het licht gebracht, net zoals het goud nog moet worden opgegraven. Het Bitcoin protocol is zo geprogrammeerd dat er niet meer dan 21 miljoen bitcoins zullen bestaan. Wat de miners doen, is de bitcoins een beetje bij beetje minen.

De miners mogen dit doen als beloning voor het maken van blocks met gevalideerde transacties en deze in de Blockchain opnemen.

Nodes

Om even een stapje terug te nemen, gaan we het eerst over “nodes” hebben. Een node is een krachtige computer die de Bitcoin software uitvoert en helpt om de Bitcoin actief te houden, door deel te nemen aan het doorsturen van informatie. Iedereen kan een node draaien, het enige wat je ervoor moet doen is de Bitcoin software downloaden (geheel gratis). Het nadeel is wel dat het veel energie en opslagruimte gebruikt – het netwerk is op het moment van schrijven 220 GB groot.

Nodes verspreiden Bitcoin transacties over het netwerk. Een node stuurt informatie naar een (paar) andere nodes die het kent, die de informatie ook weer doorgeven, etc. Op die manier wordt de informatie verspreid over het gehele netwerk.

Sommige nodes zijn mining nodes (die ook wel miners worden genoemd). Deze groep voegen de openstaande transacties toe in de blocks en voegen deze vervolgens toe aan de Blockchain. Een goede vraag is, hoe doen ze dit? Om het simpel uit te leggen; ze lossen een complexe wiskundige puzzel op, die deel uitmaakt van het Bitcoin programma. De miners moeten een nummer vinden dat, wanneer het wordt gecombineerd met de gegevens in het block en door een hash-functie gaat, een resultaat oplevert (het is een stuk moeilijker dan het klinkt). Dit nummer wordt een “nonce” genoemd (leuk woord voor Scrable). In het geval van Bitcoin is de nonce een geheel getal tussen 0 en 4.294.967.296.

Bitcoin miner

Bitcoin miner

De puzzel oplossen

Hoe vinden ze dit nummer? Door willekeurig te ‘raden’. De hashfunctie maakt het onmogelijk om te voorspellen wat de uitvoer zal zijn. Dus, miners raden het nummer en passen de hashfunctie toe op de combinatie van het nummer dat zij hebben geraden en de gegevens in het block. De resulterende hash moet beginnen met een vooraf vastgesteld aantal nullen. Er is geen manier om te weten welk nummer werkt, omdat twee opeenvolgende gehele getallen zeer uiteenlopende resultaten zullen geven. Bovendien kunnen er verschillende nonces zijn die het gewenste resultaat opleveren, of er is er geen (in dit geval blijven miners proberen, maar met een andere blockconfiguratie).

De eerste miner die een resulterende hash binnen het gewenste bereikt krijgt, maakt zijn overwinning bekend aan de rest van het netwerk. Alle andere miners stoppen onmiddellijk met werken aan dat block en proberen het nummer van het volgende block te achterhalen. Als beloning voor zijn werk krijgt de winnende miner bitcoins.

De economie

Op het moment van schrijven is de beloning voor de winnende miner 12,5 bitcoins. Er zijn veel mining nodes die strijden om die beloning. Het is een kwestie van geluk en (heel veel) rekenkracht. Hoe vaker je kan gissen naar het antwoord, hoe meer geluk je hebt.

De kosten van een mining node zijn aanzienlijk, niet alleen vanwege de krachtige hardware die nodig is (als je een snellere processor hebt dan je concurrenten, heb je een betere kans om het juiste aantal te vinden voordat zij dat doen), maar ook vanwege de grote hoeveelheden elektriciteit die deze processors verbruiken.

Het aantal bitcoins dat als beloning voor het oplossen van de puzzel wordt toegekend, neemt af. De beloning is nu 12,5 bitcoins en halveert om de vier jaar (de volgende halvering wordt verwacht in mei 2020). De waarde van de Bitcoin ten opzichte van de kosten van de elektriciteit en hardware zou de komende jaren kunnen stijgen om deze verlaging gedeeltelijk te compenseren, maar zeker is dat niet.

Moeilijkheid

De moeilijkheid van de berekening (het vereiste aantal nullen aan het begin van de hashreeks) wordt vaak aangepast, zodat het gemiddeld ongeveer tien minuten duurt om een block te verwerken. Waarom tien minuten? Dat is de hoeveelheid tijd die, volgens de Bitcoin ontwikkelaars, nodig is om een gestage en afnemende stroom van nieuwe bitcoins tot het maximale aantal van 21 miljoen te laten bereiken. De verwachting is dat dit maximum in 2140 wordt bereikt.

Dit is hoe bitcoins worden gemaakt. Een lastig proces waardoor je gelijk ook kunt zien dat het heel wat anders is dan een druk op de knop van de geldpers. Er is daadwerkelijk tijd, moeite en geld in gestoken om bitcoins te maken. Dat de Bitcoin daarnaast schaars, gedecentraliseerd, vertrouwelijk en fraudebestendig is, maakt het een hele interessante asset voor de toekomst. De gevolgen voor het hedendaagse geldsysteem kunnen enorm zijn.