Zo zit een Bitcoin (BTC) transactie in elkaar

Bitcoin: A Peer-to-Peer Electronic Cash System. Zo luidt de titel van de whitepaper van Bitcoin (BTC). Miljoenen mensen zijn inmiddels in aanraking gekomen met bitcoin.

Maar als je Bitcoin gebruikt, wat gebeurt dan precies? En hoe werkt een bitcoin transactie?

Koop gemakkelijk en snel Bitcoin bij Bitvavo. Ga aan de slag en betaal geen handelskosten voor je eerste aankoop tot €1.000 !

Bitcoin transactie

Als je een betaling doet, stuur je een bepaalde hoeveelheid BTC naar een wallet address toe. Dit is een afgeleide van een public key. De enige manier hoe jij jouw BTC kunt versturen, is door met de private key te laten zien dat jij de rechtmatige eigenaar bent. Het is een digitale sleutel tot het logboek van alle transacties.

Jouw key pair en wallet address(en) zijn aan elkaar gerelateerd door middel van encryptie en hash functies. Beide algoritmen werken op een andere manier, maar ze dienen hetzelfde doel: data versleutelen.

Een Bitcoin transactie is het gevolg van een prachtige combinatie van cryptografie, data structures en non-turing-complete scripting. Als jij een transactie doet, geef je deze een bepaalde fee mee. Vervolgens komt de tx in de memorypool, vaak afgekort met mempool, terecht.

De miner die het recht heeft om een block te genereren, vult deze met transacties. Deze zijn uit deze mempool gekozen, alvorens de miner aan een nieuw start. Vervolgens worden de blocks aan elkaar geregen, wat we de blockchain noemen.

Bij mining pools worden deze pre-defined blocken overgens nog door de pool operater aangeleverd. Startum V2 en Betterhash moeten dit centrale aspect gaan mitigeren.

Bitcoin block

Als je een dergelijke transactie wat beter bekijkt, bestaat deze uit drie onderdelen: de header, de input en de output.

Header

In de header van een transactie zitten een aantal dingen. Ten eerste is dit de hash. Een hash is een soort van verkorte weergave waarin alles van een transactie staat weergeven.

Daarnaast zit er een ver in het block, wat sinds december 2015 in het protocol zit ingebakken. Het geeft het versie nummer aan. Ten derde hoort de vin_sz ook in de header.

Het geeft het aantal inputs aan (waar de vin_sz het aantal outputs aangeeft). Tot slot hebben we het ook nog over de lock_time. Dit is de blockhoogte of de ‘unix timestamp’ waarop de betaling aan de blockchain wordt toegevoegd.

Zo zit een Bitcoin (BTC) transactie in elkaar

Input

In de input zit ten eerste een verwijzing naar de vorige output hash. Dit verwijst naar de vorige unspent transaction output (UTXO). In wezen is dit het geld dat jij op het punt staat om uit te geven met deze transactie.

De letter n is de index in de outputs van de vorige transactie. Het is het eigenlijke bedrag dat jij wilt versturen.

Ten derde is zit er in de input een soort van bewijs, een spending script (scriptSig) dat aangeeft dat er rechten zijn om deze transactie met de informatie van de ouput hash en n te versturen.

Output

Vervolgens zien we in de output een value wat aangeeft hoeveel satoshi’s er zijn verstuurd. Hierbij geldt: 1 BTC = 100.000.000 Satoshi. Ten tweede zit er een scriptje in met de naam scriptPubKey wat verwijst naar de hashed public key van de ontvanger.

Bitcoin transactie

In totaal ziet een transactie met bitcoin er dus als volgt uit:

Zo zit een Bitcoin (BTC) transactie in elkaar

Nodes

Het Bitcoin netwerk bestaat vervolgens uit een netwerk van duizenden nodes die álle transacties controleren. Als een miner een transactie in een block stopt, houden zij als het ware in de gaten of niemand vals speelt:

Op deze manier komt de betaling die jij doet terecht bij de ontvanger. Deze persoon kan met zijn private key van de corresponderende public key (en adressen) aantonen de rechtmatige nieuwe eigenaar te zijn van deze BTC’s.

Betaling

Een probleem met bitcoin is dat het bedrag dat aan een transacties is gekoppeld met hun input en output niet deelbaar is. Dus als Alice een bitcoin-adres heeft met één bitcoin, en ze wil Bob maar een halve bitcoin sturen, dan zou ze Bob die hele bitcoin moeten sturen.

Maar in dit geval maakt het bitcoin-netwerk dan automatisch 0,5 BTC aan als ‘wisselgeld’ voor de bitcoin die Alice heeft verzonden en stuurt het naar het derde adres. Dit adres is alleen toegankelijk voor Alice.

Dat derde adres zal dan dus ook een transactie-output zijn, wat betekent dat het adres meerdere outputs zal hebben.

Zo zit een Bitcoin (BTC) transactie in elkaar
undefined

Op deze manier krijgen we verschillende transacties die op een waterdichte manier het netwerk over worden verspreid. Nodes bekijken of alles eerlijk gaat. De blocks waarin de transacties komen zijn aan elkaar gekoppeld, waardoor een betaling onveranderbaar en niet terug te draaien is

Heb je nog vragen? Kom gerust eens langs in onze Telegram chat en praat gezellig mee!

Bron: Blockgeeks