Bitcoin rondsturen of er zelfs mee betalen, het lijkt heel eenvoudig. Maar er ligt een heel complex systeem aan de grondslag. Transacties staan, in tegenstelling tot bij gewoon geld, niet los van het systeem maar zijn er een bepalend onderdeel van en helpen zelfs om het systeem betrouwbaar te houden. Hoe werken bitcoin transacties dan wel? Wij leggen het uit.Je kan bitcoin transacties op een heel eenvoudig manier uitleggen (maar dan ga je wel aan een aantal belangrijke eigenschappen voorbij) en op een heel extensieve manier (maar dan wordt het heel ingewikkeld). Laten we beginnen met de gemakkelijkere versie.
Blockchain
Als je iemand bitcoin wil sturen (hoe betalen met bitcoin in z’n werk gaat, lees je hier), publiceer je eigenlijk gewoon je intentie om dat te doen. De nodes, de computers in het bitcoinnetwerk, scannen dan het hele netwerk om te controleren of je (1) wel het aantal bitcoin hebt dat je wil versturen en (2) of je die nog niet naar iemand anders hebt gestuurd. Eens die twee zaken zijn bevestigd, wordt je transactie opgenomen in een ‘block’.
Dat block wordt vastgemaakt aan de vorige block, vandaar ook de naam ‘blockchain’ (alles dat je moet weten over blockchain lees je hier). Het is ook net daarom dat bevestigde transacties niet meer kunnen ongedaan gemaakt worden of worden aangepast eens ze echt in de blockchain staan.
Op zich zijn bitcoin transacties niet meer dan dat, maar we vergeten hier wel een aantal heel belangrijke peilers van bitcoin die de cryptocurrency net maken wat het is. Laten we het dus toch maar wat complexer maken.
Bitcoin wallet
Het is misschien moeilijk om vatten, maar eigenlijk heb je nooit echt bitcoin, of andere crypto’s, in je ‘bezit’. Je bitcoin wallet houdt je bitcoin niet bij zoals je portemonnee de plaats is waar je je geld bewaart. Het enige dat een wallet doet (meer weten over bitcoin wallets en welke je moet kiezen, klik dan hier), is het bijhouden van je bitcoin adres. Dat adres houdt op zijn beurt weer een overzicht bij van alle transacties die jij al hebt gemaakt en dus ook van hoeveel bitcoin je bezit. Dat adres staat ook bekend als je ‘public key’. Die public key bestaat uit een code van 34 letters en cijfers.
Je public key mag, zoals de naam het eigenlijk al zegt, openbaar zijn. Het dient enkel als adres om bitcoin naar te sturen, maar niemand zal ermee aan jouw bitcoin kunnen.
Tegenover die public key staat er de private key, en die is cruciaal om jouw crypto’s veilig en geheim te houden. Die private key is een code van maar liefst 64 letters en cijfers. Hoewel die twee sleutels ietwat samenhangen, is er geen manier om iemand z’n private key te vinden aan de hand van z’n public key.
Je private key gebruik je als het ware om je transacties te ’tekenen’. Om dat te doen, steek je die private key samen met de details van de transactie (hoe veel bitcoin je wil sturen en naar wie) in de bitcoin software van je wallet. Die zal dan een soort digitale handtekening gaan produceren die het netwerk wordt ingestuurd voor goedkeuring.
Goedkeuring
Die transactie kan dan worden goedgekeurd (als kan bevestigd worden dat ik (1) het aantal bitcoin heb dat ik wil sturen) door die handtekening samen met je public key in het bitcoin programma te plaatsen. Hier vindt een van de geniale systemen van bitcoin plaats. Als de handtekening met de juiste private key (lees: degene die correspondeert met die public key) is geproduceerd, dan zal het programma die transactie gaan valideren zonder dat het je private key ooit te weten komt.
Het netwerk zal daarna gaan onderzoeken of ik (2) de bitcoin nog niet eerder heb uitgegeven en dat gaan bevestigen. Het kan dat door te gaan kijken in de geschiedenis van mijn adres (waar iedereen aan kan omdat het je public key is) en omdat alle transacties altijd publiek worden gemaakt en worden bijgehouden in een publiek ‘kasboek’.
Maar het gaat nog verder. Als kan bevestigd worden dat je de bitcoin nog niet eerder hebt verstuurd, kan de transactie ook finaal worden gevalideerd en worden opgenomen in een block, samen met een hoop andere transacties.
Hash
Dat block zal dan worden opgenomen in de blockchain, wat die weer een beetje veiliger maakt. Maar om uit te leggen hoe dat komt, moeten we het eerst over iets anders hebben. Wat is een ‘hash’?
We zitten op dit moment van de ’transactie’ dus met een block die nog niet in de blockchain is opgenomen. Daarvoor moet dat block eerst verwerkt worden door een proces dat ‘mining‘ wordt genoemd (alles dat je moet weten over dat minen, vind je hier).
Dat block zal geëncrypteerd moeten worden, en dat doen die miners (wat je nodig hebt om zelf aan de slag te gaan als miner, lees je hier) door een hashfunctie uit te voeren op dat block. Daarmee vorm je eender welke vorm van tekst of data via een complexe wiskundige berekening om tot een unieke code van 64 tekens: een hash.
Die hash zal voor dat specifieke stuk tekst of dat specifieke stukje data altijd hetzelfde zijn, hoe vaak je die hashfunctie ook uitvoert. Maar alles dat er verandert aan dat stukje tekst of data, hoe klein die verandering ook mag zijn, zorgt ervoor dat je een totaal verschillende hash bekomt. Als je dus iets wil veranderen in de blockchain zal die hash ook drastisch gaan wijzigen. Welke verandering dan ook valt dus enorm op. Daardoor is het blockchainsysteem dan ook zo betrouwbaar.
Block
Maar terug naar dat block. Dat bestaat namelijk niet alleen uit data van transacties, maar ook uit de hash van de voorgaande block. Dat wil dus zeggen dat elke nieuwe block de informatie van de voorgaande block overneemt, dat op zijn beurt weer informatie van de block daarvoor bevat en ga zo maar door. Aan die ketting van geëncrypteerde informatie leent blockchain natuurlijk ook z’n naam.
Mocht je iets willen wijzigen dat al in de blockchain zit, wil dat dus zeggen dat je ook alle voorgaande blocks moet aanpakken. Dat is zo goed als onmogelijk, waardoor de blockchain een soort oninneembaar fort wordt. Eens iets in de blockchain is opgenomen, is het dus veilig. En elk block dat erbij komt, verhoogt die veiligheid dus nog eens.
Dat systeem zorgt ervoor dat de blockchain, en bitcoin, fraudebestendig is. Transacties zijn dus een heel belangrijk onderdeel van dit systeem en zorgen ervoor dat de veiligheid niet alleen gewaarborgd wordt maar zelfs nog wordt versterkt.