Stel je voor: je zit met een kop koffie in de hand en vraagt je af waarom Bitcoin, na meer dan een decennium in de weer, nog steeds geen oneindige geldpers heeft die iedereen rijk kan maken. Of hoe een simpele tik op je telefoon een Bitcoin-transactie in gang zet die uiteindelijk veilig in de wallet van je vriend belandt. Vandaag duiken we als een echte web3-veteraan diep in dit fascinerende ecosysteem, laag voor laag, alsof we een digitale ui pellen. Laten we de magie achter de schermen onthullen, speciaal voor jullie, de nieuwsgierige geesten in de Nederlandse crypto-scene.

Bitcoin werkt niet met een traditioneel banksaldo dat je zomaar optelt of aftrekt. In plaats daarvan hanteert het het UTXO-model – Unspent Transaction Output, ofwel niet-uitgegeven transactie-uitvoer. Stel het je voor als een stapel waardebonnen uit eerdere transacties: elke bon vermeldt een bedrag en een slot dat aangeeft wie hem mag inwisselen. Die bonnen zijn je UTXO's.

Als je geld uitgeeft, versnipper je geen saldo, maar consumeer je oude bonnen als input en creëer je nieuwe als output – één voor de ontvanger en eventueel een wisselgeld-bon voor jezelf.

Een visuele wandeling door een Bitcoin-transactie (tekstgebaseerde flowchart)

Bitcoin-transactieproces. Het toont het proces van het verzenden van 0.5 BTC vanaf je telefoon, het selecteren van UTXO's als input, het opbouwen van een transactiestructuur met inputs, outputs en fees, ondertekenen en uitzenden naar het netwerk, en uiteindelijk verwerken door miners die het op de blockchain plaatsen en nieuwe UTXO's genereren.

1. Je wilt 0.5 BTC naar een vriend sturen.

→ In je wallet vind je drie UTXO's: 0.3 BTC + 0.4 BTC + 0.8 BTC (totaal 1.5 BTC).

2. Je wallet kiest de inputs slim (meestal de meest efficiënte combo om verspilling te minimaliseren).

→ Het pakt 0.4 BTC + 0.3 BTC = 0.7 BTC als input.

3. De transactie krijgt vorm.

• Inputs: Verwijzingen naar die twee UTXO's via hun transactie-ID, output-index en een ontgrendelscript (jouw handtekening als bewijs van eigendom).

• Outputs:

  • Naar je vriend: 0.5 BTC (vergrendeld op zijn publieke sleutel-hash-adres).

  • Wisselgeld voor jou: 0.18 BTC (vergrendeld op jouw adres, na aftrek van 0.02 BTC fee).

• Fee: Het verschil tussen input- en output-totalen, 0.02 BTC voor de miner.

4. Ondertekening: Met je privésleutel signeer je de hele transactie om wijzigingen te voorkomen.

5. Uitsturen: Naar nabije nodes, die valideren en het in de mempool plaatsen.

6. Miners spotten het en voegen het toe aan hun kandidaat-blok.

7. Bij succesvolle mining: Het blok op de keten, oude UTXO's gemarkeerd als spent, nieuwe gecreëerd (0.5 voor je vriend + 0.18 voor jou).

8. Bevestigingen: Meer daaropvolgende blokken betekenen meer zekerheid (meestal zes voor betrouwbaarheid).

Het geheel lijkt op een sneeuwbal die rolt: oude UTXO's verdwijnen, nieuwe ontstaan. De totale Bitcoin-voorraad blijft 21 miljoen, het is puur een dans van waarde tussen deze outputs.

Wat zit er in een Bitcoin-transactie? (Kernvelden uitgelegd)

Een Bitcoin-transactie is geen simpele overschrijving, maar een robuuste datapakket met deze elementen:

• Versienummer (4 bytes): Meestal 2, voor signaalfuncties bij forks.

• Aantal inputs (variabel): Hoeveel UTXO's je consumeert.

• Per input:

  • Hash van de vorige transactie (32 bytes).

  • Output-index (4 bytes, specificeert welke output).

  • Lengte van het ontgrendelscript.

  • Ontgrendelscript (ScriptSig): Jouw handtekening plus publieke sleutel.

• Aantal outputs.

• Per output:

  • Bedrag (8 bytes, in satoshis; 1 BTC = 100 miljoen sats).

  • Lengte van het vergrendelscript.

  • Vergrendelscript (ScriptPubKey): Vaak P2PKH (Pay to Public Key Hash): OP_DUP OP_HASH160 [20-byte pubkey hash] OP_EQUALVERIFY OP_CHECKSIG.

• Locktime (4 bytes): Normaal 0, voor onmiddellijke geldigheid.

Het klapstuk: de scripttaal!

Bitcoin's script is bewust Turing-onvolledig – eenvoudig en veilig. Het fungeert als een mini-VM die één vraag beantwoordt: "Kan deze output nu worden uitgegeven?"

Voorbeelden van vergrendelscripts:

  • P2PKH (standaard): Vergrendeld op een adres (pubkey-hash); ontgrendelen vereist handtekening + pubkey, gecontroleerd op match met adres.
  • P2SH: Flexibeler voor multisig of timelocks.
  • Taproot (sinds 2021 upgrade): Schnorr-handtekeningen voor meer privacy en goedkopere multisigs.

Deze scripts maken Bitcoin programmeerbaar zonder de risico's van complexere chains zoals Ethereum. Veiligheid boven alles, zoals we in Europa met onze strenge regels gewend zijn.

Mining: Wie bundelt al die transacties?

Illustratie van Bitcoin-mining en mempool. Een groep robot-miners omringt een 'mempool' vol onbevestigde transacties met fee-labels. Ze vissen hoge-fee-transacties voor hun blokken en lossen gelijktijdig de 'hash-puzzel (Nonce)' op. Eén miner slaagt, het blok licht op met 'BLOCK FOUND!'

Miners zijn de boekhouders en bewakers van het netwerk.

Hun taken:

1. Plukken transacties met de hoogste fees uit de mempool (prioriteit voor winstgevende).

2. Bouwen een blok:

Blokheader (80 bytes, cruciaal):

  • Versie.

  • Hash van vorig blok (voor de keten).

  • Merkle Root (samenvatting van alle transacties).

  • Timestamp.

  • Bits (moeilijkheidsdoel).

  • Nonce (het getal dat miners tweakken).

Transactielijst: Eerst de coinbase (minerbeloning), dan reguliere transacties.

3. Nonce-kraken: Double-SHA256 de header tot het hash kleiner is dan het doel (veel leidende nullen, bijv. 00000000ffff... – trial and error met nonce).

4. Eerste winnaar zendt uit; nodes valideren en accepteren.

5. Beloning: 3.125 BTC (post-2024 halving) plus fees van verwerkte transacties.

Mining is als een loterij: hogere hashrate maakt het lastiger, maar moeilijkheid past zich aan (daarover later).

Blokstructuur: Alles op een rij

Een blok = header + transacties.

Header-velden:

  • Versie (4B)
  • Prev Hash (32B)
  • Merkle Root (32B)
  • Timestamp (4B)
  • Bits (4B)
  • Nonce (4B)

Transactiebody:

  • Aantal transacties
  • Coinbase (beloning + bericht, zoals in de genesisblok: “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”)
  • Reguliere transacties

De Merkle-boom is geniaal: Duizenden transacties samengevat in 32 bytes; één wijziging en de root verandert – supersnel te verifiëren.

Moeilijkheidsaanpassing: Bitcoin's slimme gaspedaal

Bitcoin streeft naar blokken om de 10 minuten.

Of de globale hashrate explodeert (nieuwe rigs) of krimpt (zoals bij bans elders), het moet stabiel blijven.

Hoe?

  • Elke 2016 blokken (ca. twee weken) herbereken de tijd.
  • Doel: 2016 × 10 min = 20.160 minuten.
  • Korter tijd? Moeilijkheid omhoog (kleiner doel, meer nullen).
  • Langer? Omlaag.
  • Formule: Nieuwe moeilijkheid = oude × (20.160 / actuele tijd).
  • Limiet: Max 4x aanpassing per keer, tegen schokken.

Dit geniale systeem houdt de klok tikken.

Zelfs met razendsnelle tech blijft de 21 miljoen cap en halving-schema intact – de ruggengraat van Bitcoin als digitaal goud, iets waar we in de Benelux met onze voorzichtige innovatiecultuur van smullen.

Waarom maken deze ontwerpen Bitcoin zo robuust?

  • UTXO: Dubbeluitgeven voorkomen is kinderlijk eenvoudig (één keer spenden, dan weg).
  • Scripts: Programmeerbaar doch beperkt, puur veilig.
  • PoW + aanpassing: Echte energiekosten beveiligen; 51% attacks kosten fortuinen.
  • Langste-keten-regel: Netwerk kiest de keten met meeste werk (moeilijk te faken).

Van intentie tot bevestiging: een wereldwijd ballet van tienduizenden nodes, miners in competitie en validatie.

Nu kun je het uitleggen aan je maten: "Bitcoin is geen saldo, maar UTXO's die over de chain dansen. Miners stemmen met stroom op transacties voor de geschiedenisboeken. Elke twee weken finetunet de moeilijkheid het tempo."

Meer diepgang? Denk aan SegWit voor ruimtebesparing, Taproot voor betaalbare multisigs of Lightning voor instant transfers?

Of deel wat jou het meest intrigeert – ik breek het graag verder uit voor je.

Aanbevolen top 3 crypto-exchanges wereldwijd:

Voor alles en nog wat: Binance; pro-trucs: OKX; altcoin-fun: Gate! Open nu en scoor levenslange fee-kortingen~