Bitcoin transacties: hoe werkt dat juist?

Hoe werken Bitcoin transacties?

Bitcoin transacties: basis

Als ik een deel van mijn bitcoin naar u wil verzenden, publiceer ik in principe een “verkoop intentie“. De zogenaamde nodes scannen het volledige bitcoin-netwerk om te controleren of ik 1) effectief over het aantal bitcoin beschik die ik wil verzenden, en 2) ik deze nog niet naar iemand anders heb verstuurd.

Zodra deze informatie is bevestigd, wordt mijn transactie opgeslagen in een ‘blok’ dat aan het vorige blok wordt gekoppeld – vandaar de term ‘blockchain‘. Door deze structuur kunnen transacties niet ongedaan worden gemaakt of worden gemanipuleerd. 

Bitcoin transacties: iets ingewikkelder

Een bitcoin-portemonnee bevat niet echt bitcoin. Wat het wel bevat, is een bitcoin-adres, dat alle transacties en dus mijn saldo bijhoudt. Dit adres – een lange reeks van 34 letters en cijfers – wordt ook wel mijn ‘openbare sleutel’ (public key) genoemd. Deze sleutel is in principe zichtbaar voor de hele wereld. Elk adres / openbare sleutel heeft een overeenkomstige “privésleutel” (private key) van 64 letters en cijfers. Zoals de naam al weggeeft, is deze privé en is het daarom cruciaal dat ik het geheim en veilig houd. De twee sleutels zijn gerelateerd, maar er is geen manier om mijn privésleutel te achterhalen op basis van mijn openbare / publieke sleutel.

Dat is belangrijk, want elke transactie die ik via mijn bitcoin-adres verricht, moet worden “ondertekend” met mijn persoonlijke sleutel. Om dat te doen, plaats ik zowel mijn privésleutel als de transactiedetails (hoeveel bitcoins ik wil verzenden en naar wie) in de bitcoin-software op mijn computer of smartphone.

Met deze informatie spuugt het programma een digitale handtekening uit, die ter validatie naar het netwerk wordt gestuurd.

Deze transactie kan vervolgens worden gevalideerd. Dit wil zeggen dat er wordt bevestigd dat ik eigenaar ben van de bitcoin die ik aan u overdraag en die ik nog niet naar iemand anders heb gestuurd. 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.

Het netwerk bevestigt vervolgens dat ik de bitcoin niet eerder heb gebruikt door mijn adresgeschiedenis te doorlopen, wat het kan doen omdat het mijn adres kent (= mijn openbare sleutel) en omdat alle transacties openbaar zijn in het Bitcoin-grootboek (ledger).

bitcoin transacties

Bitcoin transacties: na validatie

Zodra mijn 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.

Goed om te weten

Als je echt niets te doen hebt en 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.

Hier ook nog een video die bovenstaand artikel iets visueler brengt (Engelstalig):

 

Bitcoin transacties: hoe werkt dat juist?
Rate this post