Wat is Bitcoin?
Bitcoin is een nieuw soort digitaal geld. Het verschilt van andere soorten digitaal geld, omdat het werkt zonder centrale autoriteit en zonder tussenpartijen zoals banken. In plaats daarvan is het een open en decentraal netwerk, waarbij gebruikers zelf alle touwtjes in handen hebben. Het netwerk is verspreid over de hele wereld en iedereen kan meedoen.
Bitcoin werkt vanwege onderliggende technologie anders dan de meeste mensen gewend zijn. Om het helemaal te begrijpen zal je het een tijd moeten bestuderen. Maar, hoeveel mensen begrijpen hoe de techniek achter het internet werkt? Het belangrijkste is dat je het kunt gebruiken: je hoeft geen expert te zijn om bitcoins veilig te bewaren of te versturen.
Voor wie toch net iets meer wil weten hebben wij onderstaande technische uitleg geschreven. Niet genoeg om jezelf bitcoinexpert te noemen, maar misschien wel om indruk mee te maken in de kroeg.
Bitcoin als betaalmiddel
Wanneer we het over Bitcoin hebben, is het handig om een onderscheid te maken tussen twee dingen: het Bitcoin-netwerk met de achterliggende techniek (blockchain) en het betaalmiddel (bitcoins). Verderop leggen we meer uit over de techniek achter Bitcoin, maar we beperken ons eerst tot het betalen met bitcoins: dit zijn de digitale 'munten' die over het netwerk worden verstuurd in transacties en een zekere waarde vertegenwoordigen.
Bitcoins kan je gebruiken om digitaal betalingen te verrichten zonder dat dit hoeft via een bank of andere derde partij. Transacties zijn peer-to-peer: rechtstreeks van de ene naar de andere partij. Je kan het zien als een soort digitaal contant geld. Officieel wordt het in Nederland echter nog niet erkend als valuta.
Een betaling versturen of ontvangen is net zo makkelijk als het sturen van een e-mail, alleen stuur je bitcoins niet naar een e-mailadres maar naar een bitcoinadres – een lange reeks cijfers en letters.
Betalingen worden in het Bitcoin-netwerk opgeslagen in een groot publiek transactielogboek: de blockchain. Daarin staat hoeveel bitcoins er bij welk bitcoinadres horen. Iedereen controleert zelf de transacties en houdt een eigen versie van de blockchain bij. Door dat te vergelijken met andere gebruikers ontstaat op het netwerk overeenstemming - consensus - over alle bitcoinbalansen. De 'sleutels' die toegang geven tot de bitcoins op een bepaald adres staan lokaal opgeslagen in een app op je telefoon of computer. Je beheert dus zelf de toegang tot jouw bitcoins: je bent je eigen bank.
Kijk hier voor een artikel over de basisprincipes van bitcoin.
De voordelen
Vanwege het decentrale karakter, de wiskundige basis (cryptografie) en de grote hoeveelheid rekenkracht van het netwerk is Bitcoin een uitermate betrouwbaar betaalmiddel, dat geschikt is voor zowel kleine als grote betalingen. Het is open source, dus iedereen kan het controleren, en niemand kan het stoppen. Ander voordelen zijn:
- Privacy (transacties zijn publiek inzichtelijk op de blockchain, maar niet gekoppeld aan een identiteit)
- Censuurbestendig, want er is geen centrale autoriteit
- De inflatie is wiskundig beperkt tot een maximum van 21 miljoen bitcoins
- Betalingen zijn wereldwijd, betrouwbaar, onomkeerbaar en vrijwel direct*
- Relatief lage transactiekosten, met name voor grote bedragen en Internationale transacties
- Lightning-transacties zijn vrijwel instant en nagenoeg gratis
- Microbetalingen zijn mogelijk, zelfs een duizendste van een cent
- Transacties kunnen allerlei voorwaarden bevatten (smart contracts)
- Bitcoin is programmeerbaar en de technologie verbetert continu
Helaas kent Bitcoin niet alleen maar voordelen, het decentrale karakter komt met een prijs. Bitcoin vraagt bijvoorbeeld veel eigen verantwoordelijkheid van de gebruikers, besluitvorming is moeilijk, mining kost erg veel energie en de decentrale manier van opslag is, hoewel veilig, niet erg efficiënt. Voor grote transactievolumes en microbetalingen is Bitcoin dan ook duur. Gelukkig wordt er hard gewerkt aan slimme oplossingen om Bitcoin beter schaalbaar te maken.
* Bij een normale 'on-chain' bitcointransactie komen bitcoins over het algemeen binnen enkele seconden aan bij de ontvanger, maar het duurt wat langer (ongeveer een uur) totdat je ervan uit kan gaan dat de transactie definitief is. Dit heeft te maken met de blockchain, waarin de transactie opgenomen moet worden. Verderop leggen hier meer over uit.
De Blockchain & Mining
Bitcoins worden sinds het begin 'aangemaakt' door gebruikers die ze kunnen verdienen door met rekenkracht bij te dragen aan het netwerk en het opslaan/goedkeuren van bitcointransacties. Dit wordt mining genoemd. Iedereen kan hier aan meedoen, echter moet je tegenwoordig flink investeren in hardware wil je er aan kunnen verdienen.
Bitcointransacties worden digitaal opgeslagen in stukken data, zogeheten blocks. Deze blocks moeten aan strenge cryptografische voorwaarden voldoen, waaraan slechts kan worden voldaan door heel veel berekeningen uit te voeren. Naarmate er meer computers meerekenen wordt het vinden van een block evenredig moeilijker. Daardoor blijft de snelheid waarop ze ontdekt worden ongeveer constant: sinds de start van het netwerk wordt ongeveer iedere 10 minuten een block ontdekt die aan de voorwaarden voldoet. Je zou het kunnen zien als het zoeken naar een speld in een hooiberg, waarbij het gemiddeld 10 minuten duurt om de speld te vinden. Komen er meer zoekers bij, dan wordt de hooiberg na verloop van tijd groter gemaakt.
De miner die een block ontdekt (de speld vindt) mag een aantal transacties aan een block toevoegen en krijgt als beloning nieuwe bitcoins: de zogenaamde block reward. In het begin was de block reward 50 bitcoins per block, momenteel is het 6,25 bitcoins per block. De beloning neemt stapsgewijs af en halveert ongeveer iedere vier jaar, net zo lang totdat de beloning uiteindelijk nul is. Het totale aantal bitcoins dat ooit kan worden gemined is daardoor te berekenen: als je alle block rewards bij elkaar optelt kom je uit op een maximum van 21 miljoen bitcoins.
Miners ontvangen behalve de block reward ook de miner's fees: de vrijwillige transactie-fees van de bitcointransacties die ze in een block plaatsen. Op termijn zullen de deze fees een steeds grotere rol spelen en uiteindelijk de block-reward geheel vervangen.
Naast de creatie van bitcoins is mining essentieel voor de veiligheid van het netwerk. Het verschijnen van een block (bevestiging) betekent namelijk dat er een bepaalde, grote hoeveelheid rekenkracht is besteed om het block te vinden. Dit principe wordt Proof of Work genoemd. Het voorkomt dat bitcoins dubbel kunnen worden uitgegeven en het werpt een grote drempel op voor kwaadwillenden, omdat zij heel veel geld zullen moeten investeren om meer rekenkracht te hebben dan de rest.
Het eerste deel van ieder nieuw block bevat namelijk een hash - een soort digitale vingerafdruk - van het voorgaande block. Zo zijn alle blocks als een soort keten aan elkaar gekoppeld: de blockchain. Dat beschermt de transactiegeschiedenis tegen vervalsing. Een kwaadwillende die de transactiegeschiedenis wil veranderen zal namelijk voor iedere periode van tien minuten het Proof of Work van de desbetreffende blocks moeten vervangen. Dat vereist evenveel rekenkracht en energie als de originele blocks hebben gekost, plus een beetje extra om het werk van de eerlijke miners in te halen want die minen ondertussen verder. Een eventuele aanval is daardoor uiterst kostbaar en praktisch onhaalbaar.
Bekijk hier een demo video over hoe de blockchain werkt en de verschillende concepten die daar een rol spelen. De demotool is hier beschikbaar om het zelf uit te proberen.
Transacties en fees
Zoals eerder gezegd is het Bitcoin-netwerk decentraal: er is geen centrale instantie of server die de macht heeft. Iedereen die zich wil aansluiten kan dat doen. Elke computer die meedoet, maakt verbinding met een aantal andere computers. Transacties worden door iedere computer gecontroleerd en als deze voldoet aan de voorwaarden, doorgestuurd aan een aantal andere. Zo verspreiden transacties zich binnen seconden over de hele wereld. Elke computer houdt een kopie bij van het transactiegrootboek (de blockchain) en de transacties die nog opgenomen moeten worden (de mempool).
De hoeveelheid transacties die in een block passen is beperkt. Om miners te overtuigen jouw transactie op te nemen in een block geef je daarom een kleine hoeveelheid bitcoin (bijvoorbeeld 0,0003 bitcoin) mee aan de transactie: de zogenaamde miner's fee. Je transactie concurreert vervolgens met andere transacties in de mempool: over het algemeen worden de transacties met de hoogste miner's fees (in verhouding tot de transactiegrootte) als eerste door de miners opgenomen in een block. Als het druk is op het netwerk kan het raadzaam zijn om een wat hogere fee te gebruiken dan normaal, omdat je transactie anders lange tijd onbevestigd kan blijven.
Meer weten over de fees en hoe je het zelf kunt uitrekenen? Kijk hier voor meer informatie.
Bitcoinadressen
Bitcoinadressen bestaan uit een combinatie van meestal 34 cijfers en letters. Soms worden ze weergegeven als QR-code. In tegenstelling tot wat veel mensen denken, komen bitcoinadressen niet voor in de blockchain. Een bitcoinadres is eigenlijk slechts een afgesproken notatievorm om mee aan te geven dat bepaalde bitcoins met een bepaalde toegangscode (de private key) uitgegeven kunnen worden.
De private key (en daarmee het bijbehorende bitcoinadres) wordt willekeurig gegenereerd. Dit kan omdat er zó veel mogelijke bitcoinadressen zijn, dat de kans dat er ooit een dubbele gegenereerd wordt verwaarloosbaar klein is. Door cryptografische technieken, waar we verderop meer over vertellen, kun je met een bitcoinadres controleren of deze bij een digitale handtekening hoort waarmee (bijvoorbeeld) bitcoins worden overgemaakt.
Meer weten over bitcoinadressen? Lees dan het volgende artikel: Bitcoinadressen: zo herken je ze en dit kan je ermee.
Inputs en outputs
Bitcoin bevat een eigen scripttaal waarmee veel meer mogelijk is dan alleen bitcoins overmaken. Een bitcointransactie bestaat uit een aantal in- en uitgangen (inputs en outputs), waar een bitcoinwaarde aan gekoppeld is. Je hoeft niet per se een hele bitcoin of veelvoud ervan over te maken: je kan bitcoins splitsen in eenheden tot 8 cijfers achter de komma. Nog niet uitgegeven bitcoins staan verdeeld over zogeheten unspent outputs (UTXO). Wanneer je een bitcoinbetaling doet, gebruik je één of meerdere unspent outputs als inputs in jouw transactie en creëer je één of meerdere nieuwe unspent outputs met bijbehorende scripts.
Een unspent output kun je zien als een stapeltje digitale bankbiljetten in een digitale kluis, waarbij je aan de juiste voorwaarden moet voldoen (het script oplossen) om de kluis te mogen openen en de output te mogen besteden. Bij een standaard bitcointransactie (waarbij je bitcoinadressen beginnend met een 1 gebruikt) zijn deze voorwaarden vrij eenvoudig: je hebt de private key nodig om de kluis te openen door middel van een digitale handtekening. Vervolgens heb je het ontvangende bitcoinadres nodig om de voorwaarden waaronder de ontvanger de bitcoins kan uitgeven te specificeren. Wanneer je een input gebruikt in een transactie, moet je de digitale kluis helemaal leeghalen. Je kan vervolgens het totaal van de inputs splitsen naar zoveel outputs (nieuwe kluizen) als je wilt. Meestal stop je een deel van de bitcoins terug in een (andere) eigen kluis, omdat je niet precies de bitcoinhoeveelheid op de gebruikte unspent outputs wilt overmaken naar iemand anders.
Het is echter ook mogelijk om compleet andere voorwaarden te stellen. Bijvoorbeeld een kluis waar twee private keys voor nodig zijn, of twee van drie; dit kan en gebeurt ook al, we noemen het multisignature transactions. Je kan bitcoins in theorie ook in een kluis stoppen die iedereen kan openen, in een kluis beveiligd met een extra wachtwoord, een kluis die helemaal niet geopend kan worden (als je bitcoins aantoonbaar wilt vernietigen), of in een kluis met een tijdsslot. Ook kun je transacties maken waarin geen bitcoins verplaatst worden, maar waarmee je bijvoorbeeld een contract vastlegt in de blockchain. De mogelijkheden zijn eindeloos.
Beveiliging
De beveiliging van Bitcoin(transacties) is gebaseerd op het cryptografische principe van publieke en privé-sleutels (public-key cryptography). De private key is gekoppeld aan de public key, maar is niet te achterhalen door iemand die de public key heeft. Je kunt met de private key aantonen dat de public key van jou is. Op internet wordt dit principe ook gebruikt bij beveiligd internetverkeer – te herkennen aan een slotje en https in het adres. Bij Bitcoin is echter geen sprake van encryptie en decryptie, alle versleuteling gaat één kant op: er is niets te ontsleutelen, alleen te controleren.
Van private key naar (P2PKH-)adres: private key → (ECDSA) → public key → (hashing) → pubkeyhash → (base58check) → bitcoinadres.
Het is dus erg belangrijk om uiterst zorgvuldig met een private key om
te gaan en goed na te denken over veiligheid. In één van onze artikelen lees je meer over de Private key en recovery seed.
Starten met Bitcoin
Nu ben je klaar om de eerste stappen te zetten in de wondere wereld van Bitcoin. Maar, er is nog veel meer te leren en dat zal ook nog wel een tijd zo blijven.
Voor een praktische houvast raden we aan om ook eens onze beknopte startersgids te bekijken, waarin we de basis uitleggen. In de gids Wallet Kiezen doen we een aantal suggesties van wallets die je kan uitproberen.
In de gidsen Bitcoin kopen en Bitcoin verkopen leggen we stapsgewijs het koop- en verkoopproces uit bij Bitonic. Daarvoor heb je wel eerst een geverifieerd account bij Bitonic nodig, waarover je meer kan lezen in de gids Bitonic Verificatie.
Wil je liever handelen via een exchange? In de gids Bitcoin handelen lees je meer over hoe je dat kan doen op BL3P, de exchange van Bitonic. Ook voor BL3P geldt een verificatieproces.
Ook is het mogelijk om periodiek automatisch bitcoin te kopen. Dan hoef je niet te gokken op 'het juiste moment' om te kopen. Dat kan met Bits van Bitonic. Hoe dat werkt leggen we uit in de gids Sparen met Bitcoin.
Blijf op de hoogte
Het is goed om op de hoogte te blijven. Bitcoin staat nog altijd in de kinderschoenen en de technologie ontwikkelt zich razendsnel. Regelmatig ontdekt men nieuwe toepassingen of bedenkt men betere of veiligere manieren om de technologie te gebruiken. Meerdere keren in de week plaatst bitcoin.nl nieuwsartikelen over de laatste en meest relevante ontwikkelingen.
Meer weten over de techniek achter Bitcoin of over de mogelijkheden ervan? Wellicht is Bitonic Academie interessant voor jou of je organisatie.