In deel 1 hebben we gezien wat Bitcoin precies is, wie Satoshi Nakamoto was en wat voor probleem Bitcoin nou oplost. En in deel 2 hebben we gezien hoe Bitcoin werkt, wat de rol is van de miners en van de nodes en dat je goed moet opletten als je een bitcoin transactie doet. In tegenstelling tot bijvoorbeeld een bankoverschrijving is een bitcoin transactie onomkeerbaar. Goed opletten dus!
In dit laatste deel over Bitcoin gaan we stap voor stap door het hele Bitcoin betalingsproces heen. Als het goed is zouden na dit blog alle puzzelstukjes in elkaar moeten vallen zodat je na drie delen een goed beeld hebt gekregen van Bitcoin en bitcoin. Weet je het nog? Bitcoin (met de hoofdletter B) is het systeem of het netwerk en bitcoin de munt zelf. We zullen de munt bitcoin in dit blog verder aanduiden met BTC.
Hoe ziet het proces van een BTC betaling er uit?
Stel je eens voor: je bent de gelukkige bezitter van BTC. Gefeliciteerd! Hij heeft de laatste tijd een mooie stijging doorgemaakt en je wilt graag van je winst iets kopen. Je hebt een leuke auto op het oog, helaas is de winst nog niet voldoende voor een Lamborghini, maar ook met een bescheidener autootje ben je helemaal happy. En het goede nieuws is dat de autodealer BTC accepteert als betaling. Je wilt dus je BTC aan hem overmaken, maar hoe gaat dat in zijn werk? Zo ziet het hele betalingsproces van BTC eruit:
Hieronder duiken we stap voor stap in dit proces om je precies te vertellen hoe dit in zijn werk gaat.
Stap 1 – De transactie
Nadat jij en de autodealer het eens zijn geworden over de prijs wil jij natuurlijk heel graag de afgesproken hoeveelheid BTC naar de autodealer overmaken. Dit gaat iets anders in zijn werk dan een normale bankafschrijving. Bij een bankoverschrijving heb je de bankrekening van de autodealer nodig. En bij een BTC transactie heb jij het adres van de BTC wallet van de autodealer nodig. Zo’n BTC adres kan er als volgt uitzien: 3B2M57PkMf6uD46cXxAD3n89wcACJJUi7V.
Aan het adres zelf kun je niet zien dat dit het juiste adres van de autodealer is, dus je zult heel goed moeten checken dat je geen typefout maakt bij het aanmaken van de transactie. Check, check, dubbelcheck! Misschien is het zelfs verstandig om eerst een klein bedrag over te maken om te kijken of alles goed verloopt.
Via jouw wallet, bijvoorbeeld jouw hardware wallet, ga je jouw BTC versturen naar het BTC adres van de autodealer en maak je een transactie aan. Voor het doen van een BTC transactie betaal je tevens een transactie fee, oftewel transactie kosten. Als je alles driedubbel hebt gecheckt (of wellicht eerst een kleine proef transactie hebt gedaan met een klein bedrag) bevestig je de transactie. Jouw transacties wordt vervolgens naar de nodes in het Bitcoin netwerk gestuurd.
Stap 2 – Validatie van de transactie door de nodes
Zodra jij de transactie hebt bevestigd, wordt deze naar alle nodes in het Bitcoin netwerk gestuurd. Een node is een computer die de gehele blockchain op zijn of haar computer heeft staan, met hierin alle transacties vanaf het allereerste genesis blok. De nodes gaan jouw transactie nu valideren en checken de geldigheid van jouw transactie aan de hand van de consensus regels. Een belangrijke check is bijvoorbeeld of je voldoende BTC hebt om de transactie te kunnen uitvoeren. Zo kun je geen BTC uitgeven die je niet hebt. Nodes communiceren onderling, dus peer-to-peer, wat we een decentraal netwerk noemen. Er is niet één node de baas in het Bitcoin netwerk, alle nodes hebben allemaal hetzelfde aandeel en gewicht binnen het Bitcoin netwerk. Als jouw transactie is gevalideerd door de nodes en is goedgekeurd door alle (of in ieder geval de meeste) nodes binnen het netwerk, dan wordt jouw transactie in de mempool gezet. Dit is het werkgeheugen van de nodes met hierin gevalideerde transacties die nog door de miners verwerkt moeten worden. Jouw transactie is dus weer een stapje verder gekomen en is nu een door de node gevalideerde transactie.
Stap 3 – Transactie wordt toegevoegd aan het blok
De miners zijn druk bezig met het oplossen van de wiskundige puzzel. Want de miner die het lukt om deze puzzel op te lossen, vindt het betreffende blok (zo noemen we dat) en krijgt de block reward van 6.25 BTC. Dat is niet mis als je kijkt naar de huidige koers van BTC. Dus je begrijpt dat miners hier heel wat rekenkracht (hashpower) voor over hebben. Dit is ook hoe en waarom de hoeveelheid van BTC in de loop van de tijd toeneemt. Het wordt niet bijgedrukt, zoals fiatgeld, maar het wordt verdiend door de miners die het dan weer op de markt kunnen brengen door hun BTC te verkopen. Elke 210.000 blokken halveert deze block reward. De verwachting is dat we ergens in mei 2024 door de 210.000 blokken heen zijn en de block reward zal dan halveren naar 3.125 BTC.
De miner die het blok heeft gevonden voegt ook de gevalideerde transacties uit de mempool toe aan het blok. Grote kans dat hij als eerste de transacties uitkiest met de hoogste transactie fees, want ook deze transactie fees komen ten gunste aan de miner die het blok heeft gevonden. Gemiddeld bestaat een blok uit 2000-3000 transacties.
De miner zal dus jouw transactie aan de autodealer uit de mempool halen en deze aan het blok toevoegen. Je bent weer een stapje dichter bij je auto!
Stap 4 – Hash toevoegen aan het blok
De oplossing van de wiskundige puzzel die de miners proberen op te lossen heet hash of hashcode. Dit is een unieke code voor dit ene blok, inclusief alle inhoud en transacties van dit blok, waar heel veel rekenkracht voor nodig is geweest om deze juiste uitkomst te vinden. Andersom is het juist heel eenvoudig om te checken of de hashcode klopt bij het betreffende blok. Gemiddeld hebben alle miners wereldwijd met al hun gezamenlijke rekenkracht ongeveer 10 minuten nodig om de juist oplossing, de juiste hash, te vinden. Als deze is gevonden, wordt deze, naast alle transacties, ook toegevoegd aan het blok. Eigenlijk wordt het blok hiermee “verzegeld”. Want er kan nu niets meer aan het blok worden veranderd. Geen transactie meer worden toegevoegd, of hier een daar een bedrag van een transactie worden aangepast. Want het is immers een unieke code voor dát ene blok inclusief alle inhoud en transacties van dát ene blok. Als er iets zou veranderen in het blok, dan klopt de oude hashcode niet meer. En zoals eerder aangegeven is de check of de hashcode klopt heel eenvoudig uit te voeren, zonder extra rekenkracht. Zo werkt de hashcode dus als een verzegeling van dit blok. Dan weet je zeker dat het blok nog steeds is zoals het oorspronkelijk was en er niets aan is gewijzigd of toegevoegd.
Als extra check wordt ook de hashcode van het vorige blok toegevoegd. Alleen dan passen de blokken opeenvolgend op elkaar en vormen ze met elkaar de blockchain.
Stap 5 – Block wordt toegevoegd aan de blockchain en de transactie is gereed
Dan zijn we alweer toe aan de laatste stap van het BTC betalingsproces. Als alle transacties in het blok staan, de juiste hashcode is bepaald en toegevoegd aan het blok, inclusief de hashcode van het voorgaande blok, dan zal de miner het blok aan de blockchain toevoegen. De blokken sluiten naadloos op elkaar aan omdat de hashcodes op elkaar aansluiten. Zo vormen alle blokken een hele lange keten, de blockchain.
De check of alle hashcodes op elkaar aansluiten wordt gedaan door de nodes, die weer onderling met elkaar communiceren in een decentraal netwerk. Als alle, of in ieder geval de meeste, nodes het blok geldig hebben verklaard, dan is de transactie gereed. Jij ontvangt een bevestiging dat de transactie correct is uitgevoerd en dat jouw BTC zijn toegevoegd aan het bitcoin adres van de autodealer. Nog even en dan rijd jij in je nieuwe auto!
Wat gebeurt er als een blok wordt veranderd?
Stel nou dat er toch iemand probeert om een transactie te wijzigen, nadat het betreffende blok al gevonden was en de hashcode dus al berekend was. Een wijziging van een transactie zal ervoor zorgen dat het blok een andere hashcode krijgt. Want de inhoud van het blok bepaalt mede wat de hashcode is. En we weten inmiddels dat de check of de hashcode klopt bij het betreffende blok eenvoudig uit te voeren is. In tegenstelling tot het vinden van de juiste hashcode wat juist heel veel rekenkracht vergt. Dus een wijziging in een transactie in een reeds gevonden blok betekent een andere hashcode voor dat blok dan eerder door de miners berekent. En daarmee sluiten de blokken, de hashcodes, niet langer op elkaar aan.
De nodes zullen deze check doen, of de hashcode juist is en hoort bij dit blok en ze zullen constateren dat dat niet het geval is. En daarmee zullen ze het blok ongeldig verklaren en de transacties in dat blok dus ook. De transacties in dit blok zullen zijn daarmee niet uitgevoerd en zullen opnieuw in een blok moeten worden opgenomen. Dit is heel ingenieus bedacht door Satoshi Nakamoto!
Dit was het derde deel van het drieluik over Bitcoin. Heb je na het lezen van dit blog nog vragen? Zijn er bepaalde termen of afkortingen nog niet helemaal duidelijk? Of snap je het een beetje, maar krijg je er nog nét niet goed de vinger achter? Zou je het aan iemand anders kunnen uitleggen denk je? Of heb je daar nog wat meer tijd en kennis voor nodig? Of wil je misschien nog méér leren over crypto? Dan kan allemaal. Daar zijn we voor bij Easy Peasy Crypto, jouw persoonlijke crypto coach. Koop een strippenkaart van 5 of 10 online crypto coaching sessies of boek wellicht één of meerdere losse crypto coaching sessies. Dan gaan we samen, één op één, tijdens deze online coaching sessies dieper in op alle crypto vragen die je nog hebt.
En vergeet vooral niet: crypto is spannend, turbulent, emotioneel maar vooral ook heel erg leuk! Enjoy this life-changing rollercoaster ride!