Het begrip Bitcoin transformeerde in enkele jaren van een complexe innovatie naar hét onderwerp bij de koffiezetautomaat. De waarde schommelt en veroorzaakt veel media-aandacht, waardoor Bitcoin inmiddels bekend is bij het grote publiek. De werking van dit fenomeen wordt echter vaak achterwege gelaten – de prijsdiscussie heeft de overhand. Zonde: de technieken achter Bitcoin zijn de moeite meer dan waard!
Wat is Bitcoin?
Bitcoin (₿) is een digitale valuta, soms ook cryptocurrency genoemd. Bitcoin is te vergelijken met de Euro: de valuta heeft waarde én kan gebruikt worden als betaalmiddel!
Bitcoin werkt – in tegenstelling tot de Euro – zonder centrale bank: het is een Peer-to-Peer netwerk waarbij alle gebruikers samen het netwerk vormen. Hierdoor is het mogelijk om bitcoin uit te wisselen zonder centrale partij (zoals een bank).
Transactie met een fysieke appel
Om een Bitcoin transactie te begrijpen, is het handig eerst te kijken naar een transactie met een fysiek product.
Stel, er zit een groep mensen aan een tafel en iedereen heeft een appel. Als persoon A zijn of haar appel weggeeft, heeft persoon A daarna geen appel meer. Iedereen aan tafel heeft dit gezien; de transactie heeft plaatsgevonden. Persoon A kan de transactie niet nog een keer uitvoeren, aangezien persoon A geen appels meer heeft.
Dit is lastiger in de digitale wereld van Bitcoin.
Digitale transacties zijn niet met het blote oog te zien, dus kan de rest van de groep de transactie niet zomaar bevestigen. Daarnaast kan nu niet worden voorkomen dat persoon A een kopie maakt van de digitale appel en hem – nadat de transactie heeft plaatsgevonden – nóg een keer uitgeeft.
De essentie van deze obstakels wordt het double spending problem genoemd en dit was – voordat de Bitcoin kwam – het grote obstakel waardoor een digitale valuta niet mogelijk was.
Transactie met een digitale appel
De oplossing voor deze problemen kwam in 2008, toen Bitcoin voor het eerst werd beschreven.
Iedereen aan tafel krijgt een logboek, ook wel ledger genoemd. Alle transacties die plaatsvinden worden door iedereen opgeschreven. Alle boeken zijn openbaar, dus alle deelnemers kunnen zien hoeveel digitale appels iedereen bezit. Probeert persoon C een transactie te doen naar persoon A met meer digitale appels dan hij bezit (iedereen kijkt in het boek of C genoeg digitale appels heeft), dan wordt de transactie geweigerd door de mensen aan tafel en niet bijgeschreven in de ledgers.
Als de transactie akkoord wordt bevonden door de mensen aan tafel, dan wordt de transactie bijgeschreven in de ledger. Persoon C heeft nu digitale appels naar persoon A gestuurd, omdat dit in de ledger staat.
De digitale appel wordt niet écht verstuurd: men gaat akkoord dat persoon C nu 1 digitale appel minder heeft en persoon A 1 digitale appel meer heeft. Er is geen bestand (of iets) dat van persoon C naar persoon A gaat, maar omdat de transactie in de blockchain staat, weet iedereen dat persoon A nu + 1 digitale appel heeft (en persoon C: – 1 digitale appel).
Kortom: Bitcoin is in essentie gewoon de balans op de ledger: het is geen bestand dat over en weer wordt gestuurd. Wil je weten hoeveel bitcoins jij hebt (in je portemonnee), dan kun je alle inkomende en uitgaande transacties in de blockchain scannen en optellen.
Hoe werkt een Bitcoin transactie?
Het digitale appel verhaal is uiteraard een versimpelde versie van de werkelijkheid, maar de essentie klopt. Het technischere verhaal gaat als volgt.
Bitcoin maakt gebruik van vier (al langer) bestaande technieken:
- Publieke key cryptografie, een techniek een transactie voorziet van een digitale handtekening (zodat de transactie alleen kan zijn verzonden door de eigenaar van de bitcoins);
- Hashing, een techniek die het niet mogelijk maakt een bericht naderhand te veranderen;
- Peer-to-peer netwerken, een techniek om computers met elkaar te verbinden zonder centrale server of derde partij;
- Proof of Work (PoW), een rekensom die ± 10 minuten duurt om op te lossen. Zodra een oplossing is gevonden, wordt er een nieuw block (met transacties) toegevoegd aan de blockchain.
Als iemand een transactie doet, worden direct twee technieken toegepast: 1 en 2. Eerst wordt het bericht (A stuurt X bitcoins naar B) gehashed (techniek 2), zodat inhoud van de transactie vast staat. Vervolgens wordt techniek 1 toegepast om de transactie te voorzien van een digitale handtekening, zodat het netwerk 100% zeker weet dat de transactie daadwerkelijk is gestuurd door de zender.
Hoe deze digitale handtekening precies werkt is een interessant en uitgebreid verhaal. Verder lezen: Wat is een Digitale Handtekening? (in ontwikkeling).
De transacties worden vervolgens geverifieerd (bijvoorbeeld: heeft de zender genoeg bitcoins?) door de deelnemers aan het netwerk. Er zijn drie soorten deelnemers:
Gebruikers, Full Nodes en Miners / Block Producers.
- Gebruikers zijn deelnemers aan het netwerk met een portemonnee die bitcoin versturen en ontvangen. Deze gebruikers vervullen verder geen rollen voor het netwerk.
- Full Nodes zijn deelnemers (computers) aan het netwerk die de gehele blockchain opslaan. Bijna elke computer kan – met de juiste software – fungeren als Full Node en er is geen beloning. Deze Full Nodes downloaden alle nieuwe blokken met transacties die worden gemaakt door miners (zie volgende punt) en controleren of de transacties in het block aan de regels van Bitcoin voldoen (bijvoorbeeld: correct formaat?, heeft de zender genoeg bitcoin?, is de transactie gestuurd door zender?). In het voorbeeld van de appels, zijn alle personen aan tafel Full Nodes: ze houden een ledger bij van alle transacties en controleren of een transactie mogelijk is.
- Miners / Block Producers zijn full nodes met nóg een taak: nieuwe transacties bundelen in blokken. Hiervoor gebruiken ze techniek 4 uit de lijst: Proof of Work, een rekensom die ± 10 minuten duurt om op te lossen. Als de rekensom wordt opgelost, wordt er een nieuw block gemaakt met de gebundelde transacties. Het oplossen van de rekensom (en dus het vinden van een nieuw block) kost veel rekenkracht, wat neerkomt op een hoge energierekening. Als beloning krijgt de miner die als eerste het nieuwe block vindt, een beloning in de vorm van bitcoins. Deze beloning komt vrij bij élk nieuw block dat wordt gemaakt.
Als de transacties in het nieuwe block in orde zijn bevonden door de Full Nodes, wordt het block toegevoegd aan de blockchain en voegen alle Full Nodes én miners het block toe aan de ketting op hun computer.
Alle Full Nodes én Miners / Block producers hebben dus dezelfde kopie van de blockchain, een grote lijst met alle blokken met transacties die in orde zijn bevonden. Deze lijst staat niet op één plek, maar middels het Peer-to-Peer netwerk op de computers van alle Full Nodes (techniek 3 uit de lijst).
Bitcoin: 2 schrijfstijlen
Het woord “Bitcoin” refereert naar twee concepten. Om welke het gaat, hangt af van de spelling (grote letter B vs. kleine letter B):
- Bitcoin, het blockchain netwerk met de ledger van alle transacties;
- bitcoin, de valuta eenheid waarmee je kan betalen.
- bitcoin (฿) is een valuta eenheid, net als een 2 euro munt (waarde: 2 euro) of een 10 euro briefje (waarde: 10 euro). Je kan iemand 2 bitcoin betalen, net zoals je iemand 2 euro kan betalen.
De Grondlegger van Bitcoin: Satoshi Nakamoto
In 2008 verscheen een gedetailleerde white paper genaamd Bitcoin: A Peer-to-Peer Electronic Cash System. In dit 9 pagina’s tellende document, wordt het Bitcoin concept uitgelegd. De auteur van de white paper is Satoshi Nakamoto, een naam die zowel kan verwijzen naar een individu als een groep. Er is al jaren een zoektocht gaande naar de identiteit van deze persoon of groep, maar tot op heden is de maker van Bitcoin gevonden.
Satoshi Nakamoto publiceerde de Bitcoin software in 2009: de code is sinds dien open-source, oftewel: iedereen kan meewerken. In 2010 werd Bitcoin voor het eerst gebruikt voor een transactie (2 pizza’s voor 10.000 bitcoin). Sinds dien neemt de prijs van Bitcoin toe, waardoor de naamsbekendheid behoorlijk is gegroeid.