Bitcoin? Blockchain?

An article, posted about 3 years ago filed in bitcoin, geld, distributed, money, netwerk, bank & hash.

Omdat ik de vraag wel eens krijg wat Bitcoin is van mensen die iets minder technisch zijn dan ik, hierbij een poging om de principes achter Bitcoin ook voor leken iets duidelijker te maken.

Bitcoin? Blockchain?

Wat is het?

Bitcoin heeft drie eigenschappen die het bijzonder maakt. De blockchain, het minen en peer2peer validatie. Maar eerst is het van belang dat je begrijpt dat het mogelijk is om rekenkundig echtheid vast kunt stellen.

Rekenkundige validatie van transacties.

Ver voordat Bitcoin ontstond werd er al nagedacht over het rekenkundig kunnen valideren van berichten. Een speciale controle functie (hash of klutsfunctie) kan een nieuwe waarde berekenen die niet te herleiden is naar de waarden die er in gestopt zijn, maar wel als een controle kan fungeren dat het bericht ongewijzigd is.

Als iemand bijvoorbeeld claimt dat een bericht bericht nummer 100 “x=1 en y=2” is en dat gevalideerd is met een klutsfunctie.

Een (te) simpele klutsfunctie zou kunnen zijn dat het resultaat altijd de som zou moeten zijn: dus in het gegeven voorbeeld zou de waarde 103 kunnen zijn (100 + 1 + 2). De optelklutser is echter geen veilige klutsfunctie, de eenvoud van deze functie maakt het dat iemand een bericht relatief gemakkelijk kan manipuleren, en nieuwe waarden kan bedenken, zoals x=10 en y=-7 (100 + 10 - 7) Dat is iets dat een veilige klutsfunctie voorkomt. De SHA256-klutsfunctie, die ook door bitcoin gebruikt wordt, maakt van het eerste bericht bijvoorbeeld 3175d48b... en van de poging tot manipulatie: ea3c690e.... Met deze veilige klutsfunctie is het nagenoeg onmogelijk om de inhoud van een bericht naar wens aan te passen.

Rekenkundige validatie van een boekhouding met transacties

Nu we klutsfuncties hebben is het mogelijk om ook een reeks achtereenvolgende berichten te controleren. Hierbij kan zelfs het voorgaande bericht mee worden genomen als waarde om mee te “klutsen”, hierdoor wordt het nog lastiger wordt om achtereenvolgende reeks berichten, zoals een reeks transacties, te manipuleren.

Stel het uitgangspunt is: “piet heeft 10 euro, jan en kees niets”. Hiervoor is een geklutste waarde (in dit geval met de SHA256 klutsfunctie) te berekenen: 0ecff361... (we noemen dit ‘transactie 0’). Een kleine afwijking van de inhoud van het bericht zorgt voor een compleet andere uitkomst van de klutsfunctie. “piet heeft 10 euro, jan 20 euro en kees niets” levert b.v. 6daafff6... op.

Stel dat Piet nu geld wil sturen. Hij de volgende transactie vastleggen: “maak 2 euro over van piet naar jan, uitgangspunt: transactie 0 (0ecff361...)”, dan maakt de hashfunctie hier de volgende code van: 1597f2f2....

Jan kan nu geld over maken naar Kees: “maak 2 euro over van jan naar kees, uitgangspunt: transactie 1 (1597f2f2...)”

En daaruit komt vervolgens: e552bb7c...

Het is nagenoeg niet mogelijk om nog ergens in deze reeks gebeurtenissen achteraf een wijziging te maken. Het mooie van deze rekenkundige validatie is dat Jan dus niet zomaar 5 euro kan overmaken, want dan zou de boekhouding niet kloppen. En de boekhouding is weer niet met terugwerkende kracht te herschrijven, want dan zouden de uitkomsten van de controlerende klutsfuncties anders zijn.

Hetgeen Bitcoin bijzonder maakt

Zoals gezegd, Bitcoin heeft dus drie eigenschappen die het bijzonder maakt. De blockchain, het minen en peer2peer validatie.

De blockchain - een keten van blokken

Iets dat klopt kan dus rekenkundig geverifieerd worden. Maar omdat continue doorrekenen van de hele boekhouding praktisch niet te doen is worden collecties gecontroleerde transacties gezekerd in blokken. Er wordt door vele computers gerekend aan een nieuw blok. Indien er (ook weer rekenkundig) overeenstemming is over het te vormen groep van transacties wordt er een blok weggeschreven.

Peer2peer

Alle miners staan via het internet in contact met elkaar. Dit is geen netwerk met een centraal middelpunt, maar een zogenaamd peer2peer netwerk. De verschillende miners ontdekken elkaar vanzelf via het internet en kunnen ze onderling berichten uitwisselen om elkaar te informeren over b.v. een nieuw toegevoegd blok.

Bitcoins minen

Er wordt niet fysiek gegraven naar Bitcoins. Een ‘mijnwerker’ (of de poule van mijnwerkers) die als eerste een nieuw blok weet te maken van transacties en weet te publiceren krijgt hiervoor een vergoeding (natuurlijk in bitcoins). Deze vergoeding bestaat deels uit transactievergoedingen uit nieuwe Bitcoins.

Het mijnen wordt niet gemakkelijk gemaakt, en dat is opzettelijk. Er wordt geredeneerd vanuit een bewezen hoeveelheid verricht werk (proof of work). Het controleren van de transacties zelf kost niet zoveel moeite, maar de moeilijkheid van het maken van de juiste kluts wordt bewust verhoogd door er extra eisen aan te stellen (zoals het moet beginnen met bepaald aantal 0’en). Ben je de eerste die een nieuw block heeft gevonden die voldoet aan de voorwaarden, dan wordt dit het nieuwe ‘block’ in de ‘blockchain’ opgenomen (in principe is het een overeenstemming over de waarheid door de overgrote meerderheid van miners). Voor het vonden van een nieuw blok krijgt de mijnwerker naast transactievergoedingen momenteel ook nog nieuwe Bitcoins, en dat wordt dus het mijnen genoemd. Gezien de waarde van de Bitcoin kan het financieel aantrekkelijk zijn om ook te gaan zoeken naar nieuwe blocks om toe te voegen aan de keten van blokken en zodoende zelf ook bitcoins te verdienen. Let wel dat professionele miners hier speciale, zeer efficiënte, computers voor gebruiken. Er zijn momenten geweest dat de lage prijs van bitcoin het niet lonend maakte om nog verder te mijnen, omdat het zoveel energie kostte.

En de toekomst?

Er wordt veel gezegd over de toekomst van Bitcoin. Is het een trend of een hype waarin we nu zitten?

Één van zorgen is dat Bitcoin momenteel enorm veel energie verbruikt. Het prijsopdrijvende effect zet waarschijnlijk nog meer machines aan het werk om in principe kunstmatig moeilijk gemaakte sommen op te lossen. De runner up (Ethereum als munt), heeft hetzelfde probleem. Het tegenargument tegen deze discussie is dat de hoeveelheid energie die het kost per transactie in de komende tijd sterk verbeterd zal worden. Daarnaast draaien de VISA servers ook niet gratis, noch het hele systeem van banken met medewerkers welke dat systeem ondersteund.

Een ander probleem is de lage snelheid waarmee transacties gemaakt kunnen worden. De grootte van een blok is momenteel steeds 1MB en het protocol is zo ontworpen dat er slechts 1 block per 10 minuten toegevoegd wordt aan de keten (dat is wereldwijd(!)). Dit maakt Bitcoin dan ook ongeschikt voor het afhandelen van grote hoeveelheden transacties. Er zijn wel ideeën om de blokgrootte te vergroten en de gegevens iets anders op te slaan, maar veel gaat dat niet schelen. Er wordt echter ook gewerkt aan een extra laag om transacties te versnellen.

Het is een experiment van een kleine groep mensen. Er zit bijvoorbeeld een arbitrair gekozen limiet aan het aantal Bitcoins, maar dat einde komt pas in 2140 in zicht. De vrijgave van de Bitcoins wordt zeer gecontroleerd gedaan vanuit de initiële set regels, die ook bepalen dat de hoeveelheid vrij te geven Bitcoins iedere zoveel tijd halveert.

De vraag is ook in hoeverre het nog een vakgebied is van kleine individuele miners. Het mijnen is sterk geprofessionaliseerd. Het is niet iets dat je zelf nog met je laptop ‘s nachts er even bij doet. In China en elders waar energie (en hardware) goedkoop is zijn grote datacentra met specialistische hardware continue bezig met maken van nieuwe blokken. Deze groepen miners kunnen in principe samenwerken en zo meer dan 50% van netwerk beheersen en de regels van het spel manipuleren. Bitcoin zou dan niet veel anders zijn dan ‘gewoon geld’, waarbij machtige centrale bankiers ‘arbitraire’ beslissingen kunnen nemen. Zo zijn er mensen die zich zorgen maken over dat een groot deel van de blocks tegenwoordig in China wordt gedolven.

De rol van de munt is onduidelijk. Als middel om transacties mee uit te voeren is het voorlopig geen geschikte tool. Daar zijn inmiddels ook al betere alternatieven voor zoals Ripple die veel effciënter zijn. Het is echter de vraag welk alternatief het in dit domein gaat winnen (kan evt. ook meervoud zijn). Mogelijk kan Bitcoin fungeren als een soort goud, maar uiteindelijk is het dan zoveel waard als er aan geld in is geïnvesteerd. Een intrinsieke waarde van de hele reeks aan sommen is er niet, het is slechts een soort gezamenlijke erkenning voor afgerond ‘nutteloos’, doch complex, werk. Vertrouwen is echter typisch een eigenschap die meer te maken heeft met geld dan een basis voor ‘waarde’ zoals veel mensen die graag zien.

Tot slot wordt het wel eens een pyramidespel genoemd. De pioniers konden voor een paar euro een bitcoin kopen. Deze bitcoins hebben inmiddels een waarde van meer dan €16.000. Vanzelfsprekend zijn de mensen van het eerste uur er bij gebaat dat er meer mensen in de ‘Bitcoin’ stappen, omdat zo de waarde alleen maar verder toe neemt. Strikt genomen is het echter geen pyramidespel. Een hype is waarschijnlijk een beter woord; illegaal is het niet, wel risicovol, en de echte winnaars van deze hype zijn de early adaptors.

Een zeer succesvol experiment

Bitcoin is interessant om mee te speculeren, maar ik vermoed dat het uiteindelijk eerder het eerste succesvol experiment zal blijken dan een blijvende kracht (al is het voorlopig nog wel de leidende kracht). De vraag is of Bitcoin zich voldoende kan vernieuwen om de bezwaren weg te nemen. De technieken die Bitcoin echter onder de aandacht heeft gebracht zijn zeer zeker een trend. Het gedistribueerd vastleggen van eigendom zonder centrale partij is mogelijk gebleken. Het is daarom ook niet voor niets dat veel traditionele partijen (banken, notarissen, accountants) onderzoeken wat deze technieken voor hun dienstverlening kan betekenen.

Ik heb geprobeerd om het zo gebalanceerd mogelijk op te schrijven, correct en informatief te zijn en het toch enigszins begrijpbaar te houden. Toch vragen of opmerkingen over dit artikel? Neem vooral contact met me op.

Op de hoogte blijven?

Maandelijks maak ik een selectie artikelen en zorg ik voor wat extra context bij de meer technische stukken. Schrijf je hieronder in:

Mailfrequentie = 1x per maand. Je privacy wordt serieus genomen: de mailinglijst bestaat alleen op onze servers.