Virtuele munten, reële risico’s. De enige garantie in crypto is het risico.

Hoe werken bitcoin transacties?

Op deze pagina leer je precies hoe een bitcoin transactie in zijn werk gaat.

Heb je nog geen idee wat bitcoin eigenlijk is? Bekijk dan zeker eerst onze gids: Wat is bitcoin?

Bitcoin transacties: de basis

Hoe verloopt een bitcoin transactie?

Als ik een deel van mijn bitcoin naar jou wil verzenden, publiceer ik in principe een “verkoop intentie” op het Bitcoin-netwerk. Het Bitcoin-netwerk bestaat uit zogenoemde ‘nodes‘ (computers die zijn aangesloten op het netwerk). Deze nodes scannen het volledige netwerk om te controleren of:

  1. Ik effectief over het aantal bitcoin beschik die ik naar jou wil verzenden
  2. Ik deze nog niet naar iemand anders heb verstuurd

Zodra deze informatie wordt gevalideerd, wordt mijn transactie opgeslagen in een blok, een soort dataset van transacties. Ieder blok bevat informatie van zo’n 500 transacties. Van zodra deze dataset volledig is, wordt deze gekoppeld aan een volgende blok. Een soort ketting van blokken dus: de blockchain.

bitcoin transacties

Iedere node in het netwerk slaagt een kopie op van de volledige blockchain. Dit maakt dat transacties nooit kunnen worden gewijzigd of ongedaan worden gemaakt.

Deze blockchain, eigenlijk niet meer dan een soort grootboek van alle transacties die ooit werden verricht, is tevens volledig openbaar. Zo is het mogelijk om op basis van een publieke sleutel alle transacties te achterhalen die ooit werden uitgevoerd vanuit die specifieke publieke sleutel.

Hier alvast een mooie visualisatie over hoe dit proces in zijn werk gaat:

bitcoin transactie cyclus

Bitcoin transacties: iets uitgebreider

Public Key of Publieke Sleutel

Een bitcoin-portemonnee (of bitcoin wallet) bevat niet echt bitcoin. Wat het wel bevat, is een bitcoin-adres, dat alle transacties bijhoudt. Op basis van deze informatie in jouw eigen gegenereerde adres kan jouw saldo worden bepaald.

Deze sleutel – een lange reeks van 34 letters en cijfers – wordt ook wel een  ‘publieke sleutel’ (public key) genoemd. Deze sleutel is, zoals de naam weggeeft, volledig openbaar en dus zichtbaar voor het hele netwerk.

Private Key of Privésleutel

Elk adres of public key heeft een overeenkomstige “privésleutel” (private key) van 64 letters en cijfers.

Zoals de naam al weggeeft, is deze sleutel privé en is het daarom cruciaal dat je deze sleutel geheim en veilig houd. Je privésleutel is een beetje het wachtwoord dat je nodig hebt om toegang te krijgen tot je fondsen en om transacties te verrichten. De public en private keys zijn gerelateerd aan elkaar. Zo heeft dus elke publieke sleutel een eigen unieke privésleutel. Geen zorgen, er is geen manier om jouw private key te achterhalen op basis van je public key.

Validatie van een bitcoin transactie

Elke transactie die je verricht wordt ter validatie naar het netwerk gestuurd.

In dat validatieproces wordt heel de transactiegeschiedenis van jouw publieke sleutel doorlopen en wordt er vervolgens, al dan niet, bevestigd of jij effectief eigenaar bent van de bitcoin die je wilt overmaken naar een andere public key.

Dit is een van de geniale onderdelen van bitcoin: als de handtekening is gemaakt met de persoonlijke sleutel die overeenkomt met die openbare sleutel, valideert het programma de transactie, zonder te weten wat de persoonlijke sleutel is.

Bitcoin transacties: na validatie

Zodra een transactie is gevalideerd, wordt deze opgenomen in een ‘blok’, samen met een heleboel andere transacties.

Om dit te vatten dienen we ook te begrijpen wat een “hash” is: een hash wordt geproduceerd door een “hash-functie“, wat een complexe wiskundige vergelijking is die elke hoeveelheid tekst of gegevens reduceert tot een reeks van 64 tekens. Het is niet willekeurig – elke keer dat je die bepaalde gegevensset invoert via de hash-functie, krijg je dezelfde reeks van 64 tekens. Als je slechts een komma verandert, krijg je een geheel andere reeks van 64 tekens.

Deze blogpost kan in principe worden gereduceerd tot een hash. Als ik niets wijzig, niets verwijder of niets toevoeg aan de tekst, kan dezelfde hash keer op keer worden geproduceerd. Dit is een zeer effectieve manier om te bepalen of iets is gewijzigd en hoe de blockchain kan bevestigen dat er niet met een transactie werd geknoeid.

Terug naar onze blokken: elk blok bevat, als onderdeel van zijn gegevens, een hash van het vorige blok. Zo’n blok maakt deel uit van een keten, vandaar de term ‘blockchain’. Als een klein deel van het vorige blok werd gemanipuleerd, zou de hash van het huidige blok moeten veranderen (onthoud dat een kleine verandering in de invoer van de hash functie ook de uitvoer hiervan verandert). Dus als u iets in het vorige blok wilt wijzigen, moet u ook iets wijzigen (= de hash) in het huidige blok, omdat het huidige blok niet langer correct is. Dat is heel moeilijk om te doen, vooral omdat tegen de tijd dat je halverwege bent, er waarschijnlijk nog een nieuw blok bovenop de huidige werd geplaatst. Je zou dan ook die moeten veranderen. Enzovoort.

Dit is wat Bitcoin vrijwel fraudebestendig maakt. Ik zeg vrijwel omdat het niet onmogelijk is, gewoon heel, heel, heel, heel erg moeilijk en daarom onwaarschijnlijk.

Bitcoin Transacties volgen

Als je zo’n blockchain live in actie wilt zien kan je terecht op Blockchain.info, een iets interactieve en visuelere versie is te vinden op BitBonkers. Op deze pagina’s kan je op zoek gaan naar individuele bitcoin adressen (via publieke sleutels), informatie bekijken wat betreft transacties in het netwerk en nog veel meer!

Als afsluiter nog een interessante video (Engelstalig, duur: 6min), waarbij alles nog eens op een visuele manier wordt samengevat: