Flickr / fdecomite

De wondere wereld van de Bitcoins

Er is een nieuwe valuta in opkomst: de Bitcoin. Door de sterk stijgende koerswaarde van Bitcoins neemt de bekendheid en interesse bij het grote publiek toe. Vandaag de dag koop je 1 Bitcoin (BTC) voor US$1178. In Duitsland is de Bitcoin al in augustus als rechtmatige valuta bestempeld, op Cyprus kun je er je collegegeld mee betalen en in Nederland krijgen sommige werknemers er zelfs hun vakantiegeld in uitbetaald. Maar wat is een Bitcoin eigenlijk? En hoe werkt het? Een duik in de technische wereld van dit nieuwe geld.

De eerste Bitcointransactie vond plaats op 21 mei 2010. Laszlo Hanyecz betaalde 10.000 Bitcoins voor een pizza. Met de huidigewissel koers zou dit neerkomen op bijna 12 miljoen Dollar(!). Maar hij heeft geen spijt: “I don’t feel bad about it. The pizza was really good”. Nu kun je een pizza bestellen voor ongeveer 0,00848896 BTC of 848.896 Satoshi; de kleinste fractie in Bitcoins, vernoemd naar het pseudoniem van de bedenker van Bitcoins: Satoshi Nakamoto.

Wat is het? Het Bitcoinsysteem is niet meer dan een elektronisch betalingssysteem zonder centraal toezicht. Je kunt op websites van Bitcoin handelaars (zoals Mount Gox) met je Euro’s, Amerikaanse Dollars, Japanse Yen of andere conventionele valuta’s Bitcoins aanschaffen of verkopen. Je krijgt een online rekeningnummer dat volledig losstaat van je persoon in de “echte” wereld. Hierdoor kun je Bitcoins volledig anoniem overmaken.

Maar hoe werkt overmaken van Bitcoins dan precies? Bij normale banktransacties heb je een bankrekening en maak je geld over naar een andere rekening. De bank verzorgt de transactie en controleert of je wel genoeg geld op je rekening hebt staan. In het Bitcoin systeem is er geen bank, maar wordt er gebruik gemaakt van een decentraal peer-to-peer (p2p) netwerk. Dit betekent dat de controle van gegevens niet door een overkoepelend mechanisme zoals een bank wordt geregeld, maar door informatieverspreiding tussen alle gebruikers in het netwerk onderling.

De controle van gegevens wordt niet door een bank geregeld, maar door gebruikers in het netwerk onderling.

Hoe wordt gecontroleerd of ik wel genoeg Bitcoins heb? Wanneer er een Bitcointransactie plaatsvindt, bijvoorbeeld ik koop voor 1 BTC een kerstcadeautje, dan wordt deze samen met andere recente transacties opgenomen in een transaction block. Alle transaction blocks sinds de start van de Bitcoin zijn bekend en opgenomen in een keten. Dit noemt men de transaction block chain. Als je weet hoeveel Bitcoins elke gebruiker in het systeem ooit heeft gekocht en verkocht, kun je van elke gebruiker berekenen hoeveel Bitcoins ze momenteel bezitten en dus of dat genoeg is om de kersttransactie van 1 BTC te kunnen doen. Je kunt deze transaction block chain dus zien als een globaal kasstroomoverzicht. De verificatie van de transaction block en dus of je genoeg geld hebt om de transactie te doen, wordt uitgevoerd door zogenaamde Miners.

Waarom is het veilig? Bij het maken van een Bitcointransactie wordt er op de achtergrond een bericht het netwerk ingestuurd om te laten weten dat ik BTC over wil maken. Om te verifiëren dat ik degene ben die de transactie doet, wordt er bij het maken van een transactie een zogenaamde persoonlijke signing key toegevoegd. Daarna wordt er door middel van een versleuteling (cryptographic hash function) een afgeleid bericht gegenereerd. Dit bericht wordt uitgestuurd naar het gehele netwerk. Vervolgens worden alle nog niet eerder vastgelegde transacties samengevoegd tot 1 bericht in een transaction block en aangeboden aan de miners.

Behalve een privé signing key is er ook een openbare verification key. Aan de hand van het samengevoegde bericht en alle verification key’s van de zenders van Bitcoins gaan de miners rekenen en verifiëren of alle transacties legitiem zijn. De miner die dit bewijs (proof-of-work) het eerst levert krijgt een beloning. Hoe meer rekenkracht de miner heeft, hoe groter de kans dat hij de oplossing als eerste vindt. Dit maakt het systeem ook veilig. Doordat de rekenkracht verspreid is in het netwerk kan verificatie overal plaatsvinden. Als je dit systeem zou willen bedriegen dan zou je dus als miner een transactie door willen laten gaan die normaal niet mogelijk is. Om hierop een goede kans te maken heb je minstens de helft van de rekenkracht van het gehele netwerk nodig. Dit is zeer onrealistisch. Maar zelfs al zou je dit hebben, dan nog is het veel winstgevender om eerlijk te handelen en telkens de beloning op te strijken.

De laatste 20 weken is de moeilijkheidsgraad elke 2 weken met gemiddeld 32,38% toegenomen.

Wat bepaalt welke transacties opgenomen worden in 1 transaction block? Wanneer het vorige transaction block klaar is en toegevoegd aan de transaction block chain, worden de tot dan toe nog niet meegenomen transacties samengevoegd tot het nieuwe transaction block. Omdat vastgelegd is dat een transaction block gemiddeld 10 minuten moet duren om op te lossen, wordt er een soort van uitdaging (challenge) toegevoegd. Een rij binaire code (nullen en enen) wordt toegevoegd zodat de vindkans van de verificatie kleiner wordt. Aangezien maar 1 of enkele combinaties uit de rij binaire code correct is, is de kans op het vinden van een juiste combinatie en dus verificatie kleiner. De lengte van de rij binaire code bepaalt dan ook de moeilijkheidsgraad van de uitdaging.

Elke twee weken bekijkt het systeem hoe lang het duurde om de laatste 2016 blocks (2016x10minuten=2weken) op te lossen en past de moeilijkheidsgraad van de uitdaging aan. Duurde het langer dan twee weken dan wordt de rij binaire code korter, duurde het korter dan twee weken, dan wordt de binaire code langer. Door de toegenomen totale rekenkracht van de populatie miners is in de laatste 20 weken de moeilijkheidsgraad elke 2 weken met gemiddeld 32,38% toegenomen.

Wie bepaalt de hoeveelheid Bitcoins in omloop? De miner die als eerst de puzzel oplost krijgt als enige 25 BTC als beloning. De kans hierop voor hem is zijn rekenkracht gedeeld door de rekenkracht van alle miners. Elke 4 jaar wordt deze beloning gehalveerd. Rond het begin van december 2016 zal de beloning nog maar 12,5 BTC bedragen en eind 2020 nog maar 6,25 BTC. In het jaar 2140 zullen alle 21.000.000 BTC gemined zijn. Vanaf dat moment worden miners alleen nog beloond door middel van een transaction fee die gereserveerd wordt voor de miner in de transactie. In de huidige situatie met een Bitcoinkoers van boven de $1000 is minen zeer lucratief, maar zal dit zo blijven? De grote vraag is of het Bitcoinsysteem een financiële bubbel is, of de valuta van de toekomst.

Dit artikel is deel 1 van een tweeluik. Lees deel 2 hier.

Gerelateerde artikelen
Reacties
3 Reacties
  • Andrea Speijer-Beek,

    Hoi Stijn,

    Superfijn artikel! Ik heb wel een lekenvraagje. Je schrijft:

    'Als je dit systeem zou willen bedriegen dan zou je dus als miner een transactie door willen laten gaan die normaal niet mogelijk is. Om hierop een goede kans te maken heb je minstens de helft van de rekenkracht van het gehele netwerk nodig. Dit is zeer onrealistisch. Maar zelfs al zou je dit hebben, dan nog is het veel winstgevender om eerlijk te handelen en telkens de beloning op te strijken.'

    Het toekennen van deze beloning is echter geen oneindige zaak, zoals je later schrijft:

    'In het jaar 2140 zullen alle 21.000.000 BTC gemined zijn. Vanaf dat moment worden miners alleen nog beloond door middel van een transaction fee die gereserveerd wordt voor de miner in de transactie.'

    Kortom: als alle Bitcoins gemined zijn en het dus niet meer lucratief is te minen dan te frauderen, is het dan niet ook waarschijnlijker dat het miningsysteem fraudegevoelig wordt? Biedt de omvang van het benodigde netwerk om te frauderen (minimaal de helft) dan nog genoeg bescherming als, bijvoorbeeld, een grote overheid of organisatie zich ertoe zou zetten 51% van het netwerk in handen te krijgen?

    Groetjes!

    Andrea

  • Stijn Litjes,

    Hoi Andrea,
     
    Dat is een heel terechte vraag. De bedoeling is dus dat de gebruikers een bedrag gaan toevoegen aan hun transactie. Anders heeft de miner geen inkomen en heeft het dus ook geen zin om rekenkracht ter beschikking te stellen. De transactie wordt simpelweg niet uitgevoerd. De hoop is dat tegen deze tijd het volume van de handel voldoende groot is en dat al deze kleine bedragen ruim voldoende zijn om het systeem draaiende te houden. Daarnaast is aan de moeilijkheid van de challenge ook af te leiden hoeveel rekenkracht er in totaal is. Als bekend wordt dat deze daalt dan is het ook in het eigen belang van de zender van bitcoins om een fee toe te voegen. Je wilt immers er zeker van zijn dat je transactie eerlijk wordt verwerkt. Hierdoor neemt de beloning voor miners weer toe en dus ook het aanbod van rekenkracht. Hoe onwaarschijnlijk het me ook lijkt dat een organisatie zo veel rekenkracht in bezit kan krijgen, het is inderdaad waar dat het systeem valt of staat met een incentive voor miners.

  • Gerard van Dongen,

    Hallo Stijn,

    Ik zoek literatuur waar alles over Bitcoin in staat.

    Heb jij een suggestie?

    Groet, Gerard

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Naar boven