Hoe werkt Bitcoin mining? - #BitcoinBasics

in #mining7 years ago

In de wereld van Bitcoins wemelt het van de vaktermen en onbegrijpelijke woorden. In de serie Bitcoin Basics proberen we wat licht te werpen over de basale termen, zodat jij bij het volgende verjaardagsfeestje door al je vrienden als crypto expert wordt erkend. In deze editie uitleg over mining. Hoe gaat dit mining in zijn werk en hoe wordt er geld mee verdiend?

Bitcoin Mining
Bitcoin Mining Rig - Wikimedia

Bitcoin transacties worden opgeslagen in een zogenaamd gedistribueerd grootboek. Wat je je daarbij kunt voorstellen is een tabel van een bank waarin staat hoeveel geld er van de ene rekening naar de andere is overgemaakt. In het grootboek van Bitcoin staan die transacties in groepjes genoteerd, en deze worden een Block genoemd. De verzameling van alle Blocks wordt de Blockchain genoemd.

Als we nu de Block met de meest recente transacties ontleden komen we een aantal dingen tegen. Allereerst natuurlijk een lijstje van die transacties. Vervolgens een Hash van de vorige Block. Een Hash is een reeks van tekens die het resultaat zijn van een wiskundige functie die allerlei soortige input altijd kan omzetten in een reeks van een vast aantal tekens. Iedere Hash is dus even lang. En of je nu twee woorden of de complete encyclopedie als input aan een hashfunctie geeft, je zult altijd een unieke hash krijgen die bij die input hoort. Je kunt je wel voorstellen dat het best wat tijd kan kosten om een encyclopedie via een wiskundige formule te reduceren tot een reeks van 256 tekens.

Behalve de Hash van de vorige Block, de transacties zit er in een Block nog één onderdeel: de nonce. Dit is een unieke waarde die feitelijk de sleutel vormt tot het maken van een nieuwe Block. Namelijk, wanneer een miner een nieuwe Block probeert toe te voegen aan de Blockchain zal deze moeten voldoen aan één voorwaarde: de Hash van de nieuwe block moet kleiner zijn dan een vooraf vastgestelde Target Value. Het enige wat een miner dus kan doen is de nonce variëren, de Hash berekenen en bepalen of die lager is dan de Target Value.

Hash nieuwste Block = Hash van vorige Block + Transacties + Nonce

Zodra een Nonce is gevonden waarmee de Hash van de nieuwste Block kleiner is dan de Target Value moet dit worden gevalideerd door andere miners. Dit is doodeenvoudig, want met de juiste Nonce is het kinderspel om dit te berekenen. En als 51% van de miners het eens is met de Nonce wordt er een beloning uitgekeerd aan de vinder van deze waarde, de zogenaamde Mining Fee in de vorm van Bitcoins. Daar is het de Miners dus allemaal om te doen.

Mining diagram

Het hele spel begint dan weer van voor af aan. Er is nu namelijk een nieuw Block, dus een nieuwe Hash, en er zijn ongetwijfeld nieuwe Transacties. Je begrijpt nu dan misschien ook wel waarom een hogere Mining Fee van een transactie er toe zal leiden dat die transactie eerder wordt verwerkt. Het levert de miners namelijk meer op om die in het eerstvolgende Block op te nemen.

Het uitproberen van alle mogelijke Nonces kost rekenkracht, en daar heb je dus computers en energie voor nodig. Het hele proces van het uitvinden van de juiste Nonce wordt daarom ook Proof of Work genoemd. Zolang de waarde van de Mining Fee opweegt tegen deze kosten is het winstgevend om te minen. De moeilijkheidsgraad ook wel Difficulty genoemd, bepaald de hoogte van de Target Value. Een hogere Target Value maakt het namelijk makkelijker om een passende Nonce te vinden. De Difficulty is daarom afhankelijk van de totale rekenkracht van alle Bitcoin miners. Hoe meer miners, hoe hoger de Difficulty.

Oja, en dan is er nog één ding. Mochten twee miners op hetzelfde moment de juiste Nonce ontdekken, dan gaat de Mining Fee naar de miner die meer combinaties heeft uitgeprobeerd.