Bitcoin deel 2 – Hoe werkt Bitcoin?

Auteur:

Blog #3
25 oktober 2021

Grote kans dat je van deel 1, waarin wordt uitgelegd wat Bitcoin precies is, al heel wat wijzer bent geworden. Met deze kennis kun je nú al behoorlijk wat indruk maken op een willekeurig verjaardagsfeestje! We gaan nu nog een stapje verder en in dit blog gaan we bekijken hoe Bitcoin nou precies werkt en welke key spelers van belang zijn.

Wat betekent de term “crypto” in crypotocurrencies?

Bitcoin is een cryptocurrency. Dat werd in deel 1 uitgelegd in de paragraaf “wat lost Bitcoin op”. Maar wat betekent dat “crypto” nou?

Bitcoin werkt met cryptografie, vandaar ook de naam “crypto”. Je hebt vroeger met vrienden vast wel eens een eigen geheimtaal bedacht. Zo kon je heel makkelijk berichtjes naar elkaar sturen die niemand anders kon lezen. En jij kon die zelf wel lezen omdat je wist hoe je deze geheimtaal moest omzetten naar iets leesbaars, hoe je het bericht moest ontsleutelen. Je had zelf de geheime sleutel oftewel de secret key in handen. Dit is ook de basis van cryptografie. Je ontvangt een versleutelde (encrypted) bitcoin transactie, en die kun je met je eigen secret key weer ontsleutelen (decrypten). Cryptografie bij Bitcoin maakt gebruikt van public keys en secret keys, waarbij je de secret key nodig hebt om de versleutelde bitcoin transactie te ontsleutelen en hiermee te bewijzen dat het echt jouw bitcoins zijn, de bitcoins waar jij recht op hebt. Het is dus heel belangrijk om je secret key goed te bewaren en deze nooit aan iemand anders te geven. Want als je je secret key kwijtraakt kun je niet meer bewijzen dat het jouw bitcoins zijn en ben je die bitcoins kwijt!

Een eigen wallet bewaart jouw eigen secret keys. In het blog over wallets gaan we hier dieper op in en bespreken we welke type wallets er zijn inclusief de verschillen tussen de wallets. Maar het kan natuurlijk ook zo zijn dat je zelf geen eigen wallet hebt. Bijvoorbeeld als je je crypto op een exchange zoals Bitvavo of Binance hebt staan.

Een veel gehoorde uitspraak in de cryptowereld is: “not your keys, not your coins”.

Dit gaat dan over de secret keys die je zelf niet in bezit hebt. Je moet dan vertrouwen op de partij die wél deze secret keys in bezit heeft, in bovenstaand voorbeeld Bitvavo of Binance.

Wat daarnaast goed is om je te realiseren is dat jouw bitcoin niet op je wallet zelf staan. Jouw bitcoin blijft op de blockchain staan. Jouw wallet bevat de secret keys waarmee je kan aantonen welke bitcoin op de blockchain van jou is. Alle bitcoin waar jij recht op hebt wordt door je wallet bij elkaar geteld en dit is het bitcoin saldo wat je wallet laat zien. Zoals gezegd komen we hier uitgebreid op terug in het blog over wallets.

Rol van de Nodes

Zoals we in deel 1 al hebben gezien is de node een belangrijke speler in het Bitcoin netwerk. In deel 1 beschreven we al dat nodes de gehele blockchain op hun computer hebben gedownload. Ze hebben dus alle transacties, vanaf het allereerste begin op hun computer staan. Om je een idee te geven van de grootte van de Bitcoin blockchain: in oktober 2021 was de Bitcoin 360 Gigabyte. Nodes communiceren weer met andere nodes, peer-to-peer, dit noemen we een decentraal netwerk.

Een node checkt de transacties en de blokken op geldigheid. Dat doen ze aan de hand van de zogenaamde “consensus regels”. De consensus regels zijn regels waar de gehele bitcoin community zich aan heeft gecommitteerd en die initieel beschreven zijn in de whitepaper van Satoshi Nakamoto. Een voorbeeld van zo’n consensus regel voor een transactie is dat je niet mag uitgeven waar je geen recht op hebt. Anders gezegd: je moet voldoende saldo hebben om een transactie te kunnen doen. En een consensus regel voor een blok wat gecheckt wordt door de node is bijvoorbeeld: is het blok niet te groot. Een blok bevat zo’n 2000-3000 transacties. Daarna is het blok “vol”.

Als de transactie voldoet aan de consensus regels, dan slaat de node de transactie op in zijn werkgeheugen (de “mempool”). In het werkgeheugen van de nodes staan dus allemaal transacties die nog geverifieerd en verwerkt moeten worden door de miners.  Bitcoin nodes ondersteunen zo het bitcoin netwerk.

Rol van de Miners

Als de transacties zijn gecheckt door de nodes en in het werkgeheugen van de nodes (de mempool) staan, haalt de miner die het betreffende blok heeft gevonden deze transacties uit de mempool en voegt deze transacties toe aan het gevonden blok. Het “vinden van het blok” is eigenlijk niets anders dan het oplossen van de wiskundige puzzel door een miner. Dat klinkt eenvoudig, maar het kost enorm veel rekenkracht om deze wiskundige puzzel op te lossen en zo het betreffende blok te vinden. Het blok wat is gevonden door de miner wordt toegevoegd aan de blockchain.

Omdat de miner die het blok vindt ook recht heeft op de transactie fees, zal de miner de transacties met de hoogste transactie fees als eerste uit de mempool halen en deze aan het blok toevoegen. Net zolang tot het blok “vol” is. We zagen eerder al dat een blok niet te groot mag zijn en dat dit door de nodes gecheckt wordt.

Ook de miner moet zich houden aan de consensus regels. Eén van de consensus regels voor de miners is bijvoorbeeld de hoogte van de block reward voor de miner die het blok vindt.

De block reward bedraagt momenteel 6.25 bitcoin. Na 210.000 blokken volgt een zogenaamde “halving” en dan wordt de block reward wederom gehalveerd.

De eerstvolgende halving wordt verwacht in mei 2024. Als de miner die het blok heeft gevonden zich meer bitcoin toe-eigent dan is toegestaan, zullen de nodes het gehele blok ongeldig verklaren.

De miner die het blok heeft gevonden mag de block reward claimen en dat doet hij door het aanmaken van de eerste transactie van dat blok waarin hij de bitcoin naar een bitcoinadres van zichzelf laat sturen. Deze eerste transactie noemen we de coinbase transactie. En zoals eerder gezegd heeft de miner naast de block reward ook recht op de transactie fees (transactie kosten) die mensen hebben betaald om hun transactie in het blok te laten opnemen. Het vinden van het blok en daarmee het claimen van de block reward en de transactie fees noemen we het minen van bitcoin.

Het leveren van de rekenkracht en het daarmee oplossen van de wiskundige puzzel noemen we een “Proof of Work” (PoW) consensus mechanisme. “Proof of Work” zegt het al een beetje: dit gaat ervan uit dat je daadwerkelijk “werk” hebt geleverd (je hebt rekenkracht geleverd aan het netwerk om de wiskundige puzzel op te lossen) waar je dan een beloning voor krijgt (de blockreward en de transactie fees).  In het blog over de verschillende consensus mechanismes zoals “Proof of Work” en “Proof of Stake” gaan we hier dieper op in.

Miners en nodes zijn dus belangrijke key spelers; zonder de miners en de nodes zou er geen Bitcoin zijn. Beide zijn van onschatbare waarde voor de werking en veiligheid van het Bitcoin netwerk.

Blockchain

In deel 1 hebben we kort uitgelegd wat een blockchain is. Maar wat zit er nou allemaal in een blok van de blockchain? Dat zetten we hieronder op een rijtje:

    • Allereerst de coinbase transactie van de miner zoals we hierboven hebben besproken
    • Daarnaast bevat een blok ook de uitkomst van de wiskundige puzzel die de miner, die het blok heeft gevonden, heeft opgelost. Deze uitkomst van de puzzel noemen we een “hash”.
    • Ook bevat het blok de tijd wanneer het blok gevonden is
    • Verder zitten er in het blok ook de transacties en de transactie fees van mensen die bitcoin willen versturen
    • En als laatste en misschien wel het meest belangrijke: er zit ook een verwijzing in naar het vorige blok. In het huidige blok staat de uitkomst van de wiskundige puzzel van het vorige blok, dus de hash van het vorige blok. Zo past dit nieuwe blok enkel op het voorgaande blok. Want op een ander blok zou het niet passen, omdat dan de verwijzing naar de hash niet overeenkomt. Dit maakt dat de blokken van de blockchain naadloos op elkaar aansluiten waardoor ze samen één lange ketting vormen, de blockchain dus.

Nu vraag je je misschien af: zou ik dan niet de transacties in de oudere blokken kunnen aanpassen zodat ik er bijvoorbeeld een transactie bijzet waarmee ik bitcoin aan mezelf stuur.

Gratis bitcoin, wie wil dit nou niet?

Helaas…. dat zal niet gaan lukken. Want met het aanpassen van de transacties in een ouder blok verandert ook de hash van datzelfde blok. Dus als je iets wijzigt in een ouder blok, zul je ook een nieuwe hash voor dat blok moeten gaan berekenen, oftewel de wiskundige puzzel voor dat blok opnieuw moeten oplossen. En zoals je inmiddels weet, heeft het vinden van de hash van dat oudere blok al heel veel rekenkracht gekost.

Daar hebben alle miners wereldwijd, met alle rekenkracht die ze op dat moment gezamenlijk konden leveren, al  zo’n 10 minuten over gedaan. Dus als je een ouder blok verandert, verandert ook de hash en moet je die opnieuw berekenen. En daarmee verandert ook de hash van het volgende blok en die daarop enzovoort. Je moet van alle blokken een nieuwe hash berekenen omdat ze anders niet meer op elkaar aansluiten.En dat allemaal binnen de 10 minuten, die normaal al nodig is om de hash van één blok te kunnen vinden.

Onmogelijk dus. Kortom: oudere blokken kunnen niet meer worden gewijzigd én een nieuw blok past enkel op het voorgaande blok. Alleen op deze manier ontstaat blok na blok de Bitcoin blockchain. Precies zoals Satoshi het voor ogen had.

Transacties

We schreven het hierboven al: Bitcoin is een consensusnetwerk. Bitcoin werkt alleen naar behoren met een complete overeenstemming tussen alle gebruikers. Transacties gebeuren tussen de peers, ofwel de gebruikers, onderling, zonder tussenpersoon. Een gedecentraliseerd systeem. En deze transacties worden door het netwerk (de nodes en de miners) zelf gevalideerd.

Belangrijk om je te realiseren: een bitcoin transactie is onomkeerbaar.

Dat is dus wezenlijk anders dan bijvoorbeeld een creditcard betaling of een bankoverschrijving, waarbij je een betaling kunt storneren als er iets mis gegaan is of je het niet eens bent met de betaling.

Als je een bitcoin transactie doet, doe dit dan altijd eerst met een klein bedrag om te kijken of dit goed gaat. Want maak je een typefout in het bitcoin adres dan ben je je bitcoin helaas kwijt. Zo zijn er al heel wat bitcoin verloren gegaan, dus een gewaarschuwd mens telt voor twee!

Op https://www.blockchain.com/explorer?view=btc vind je de blockchain explorer van bitcoin (en ook van andere coins) waarbij je alle transacties kunt volgen en bekijken. Zo kun je je eigen transactie van begin tot eind volgen en bijvoorbeeld zien in welk blok jouw transactie is opgenomen. Leuk en spannend om te zien! Het geeft gelijk een mooi beeld hoe transparant alle transacties op de bitcoin blockchain daadwerkelijk zijn. Alle transacties kunnen door iedereen worden ingezien. Het enige wat je niet weet is van wie het betreffende bitcoin adres is. Verder is de bitcoin blockchain volledig inzichtelijk en transparant.

Wanneer je stap voor stap door de wondere wereld van Bitcoin gaat, dan lijkt het een stuk minder ingewikkeld dat je hiervoor wellicht dacht, toch?

Een olifant eet je immers ook niet in één keer op, maar in kleine, hapklare stukjes. 

In deel 3 kijken we naar het Bitcoin proces, stap voor stap uitgelegd.

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.  (link toevoegen naar pagina website)

En vergeet vooral niet: crypto is spannend, turbulent, emotioneel maar vooral ook heel erg leuk! Enjoy this life-changing rollercoaster ride!