Zo werkt een blockchain, uitgelegd met een ouderwets kasboekje

Blockchain klinkt als iets ingewikkelds uit een serverruimte, maar het idee erachter is verrassend huiselijk. Denk aan het kasboekje dat je opa of oma vroeger bijhield: een schrift met kolommen, waarin elke uitgave en inkomst netjes onder elkaar staat. Een blockchain is in de kern precies dat, alleen met een paar slimme toevoegingen die ervoor zorgen dat niemand er stiekem in kan knoeien.

Hieronder lees je stap voor stap hoe zo’n digitaal kasboekje werkt: wat een transactie is, hoe die in een blok terechtkomt, waarom blokken aan elkaar vastzitten en hoe een heel netwerk samen controleert of alles klopt.

Eén kasboekje, veel kopieën

Een gewoon kasboekje heeft één eigenaar. Stel nu dat je met een vereniging van twintig leden een gezamenlijke pot beheert. Als alleen de penningmeester het boekje bijhoudt, moet iedereen erop vertrouwen dat hij eerlijk is. Maar wat als elk lid een eigen kopie heeft, en elke nieuwe regel bij iedereen tegelijk wordt bijgeschreven? Dan kan niemand in zijn eentje de cijfers aanpassen, want de anderen zien meteen dat zijn versie afwijkt.

Dat is het principe van een gedeeld grootboek. Bij een blockchain zoals die van bitcoin hebben duizenden computers, zogenoemde nodes, een volledige kopie. Er is geen centrale penningmeester: het netwerk als geheel is de boekhouder.

Transacties zijn de regels in het boekje

Elke regel in het kasboekje beschrijft een verschuiving van geld, bijvoorbeeld: Anna betaalt Bram tien munten. In blockchaintaal heet zo’n regel een transactie. Om te voorkomen dat iemand regels namens een ander opschrijft, zet je er een handtekening onder. Die handtekening is digitaal en wordt gemaakt met een geheime privésleutel. Iedereen kan met de bijbehorende publieke sleutel controleren of de handtekening echt is, zonder dat jouw geheime sleutel ooit bekend wordt.

Daarnaast kijkt het netwerk of Anna die munten wel heeft. Omdat iedereen het complete boekje bezit, kun je terugbladeren en zien wat er op haar naam is binnengekomen en uitgegaan. Wie hetzelfde geld twee keer probeert uit te geven, valt dus direct door de mand.

Een blok is een volle bladzijde

Transacties worden niet los bijgeschreven, maar eerst verzameld op een bladzijde. Is die vol, dan wordt hij afgesloten: dat is een blok. Onderaan elke bladzijde komt een soort vingerafdruk van de inhoud, een zogenoemde hash. Verander je ook maar één cijfer op de bladzijde, dan ziet die vingerafdruk er compleet anders uit.

Het slimme zit in de volgende stap. Bovenaan elke nieuwe bladzijde wordt de vingerafdruk van de vorige bladzijde overgenomen. Zo hangen alle blokken als schakels aan elkaar, vandaar de naam blockchain. Wie een oude bladzijde vervalst, verandert de vingerafdruk ervan. Daardoor past de volgende bladzijde niet meer, en die daarna ook niet. Je zou het hele boekje vanaf dat punt opnieuw moeten schrijven.

Wie mag de volgende bladzijde schrijven?

Als iedereen een kopie heeft, moet er een afspraak zijn over wie de nieuwe bladzijde toevoegt. Anders schrijven twintig mensen tegelijk een andere versie. Die afspraak heet een consensusmechanisme. Bitcoin gebruikt proof of work: computers proberen een lastige rekenpuzzel op te lossen, en wie dat als eerste lukt, mag het nieuwe blok voorstellen. De anderen kunnen de oplossing in een oogwenk controleren. Veel andere blockchains werken met proof of stake, waarbij deelnemers munten als onderpand vastzetten en hun inzet kwijtraken als ze valsspelen.

Wil je weten hoe verschillende munten met dit soort afspraken omgaan, dan vind je bij Rudycrypto uitleg over uiteenlopende crypto’s en hoe ze werken. De basiscyclus is bij vrijwel elke blockchain hetzelfde:

  • Iemand maakt een transactie en ondertekent die digitaal.
  • Nodes controleren de handtekening en het saldo.
  • Goedgekeurde transacties worden verzameld in een nieuw blok.
  • Het blok wordt toegevoegd en krijgt de vingerafdruk van het vorige blok mee.
  • Alle kopieën van het boekje worden bijgewerkt.

Waarom vervalsen zo lastig is

De kracht van een blockchain zit in de combinatie van al deze onderdelen. Een vervalser moet niet alleen de gewijzigde bladzijde en alle volgende bladzijden opnieuw maken, maar ook de meerderheid van het netwerk zover krijgen dat ze zijn versie accepteren. Bij een groot netwerk vraagt dat zoveel rekenkracht of onderpand dat het in de praktijk nauwelijks haalbaar is.

Die onveranderlijkheid heeft ook een keerzijde. Een fout is net zo moeilijk terug te draaien als een vervalsing. Stuur je munten naar een verkeerd adres, dan is er geen bank die de boeking annuleert. Bovendien kost het controleren door zoveel deelnemers tijd en, bij proof of work, veel energie.

Het kasboekje in je achterhoofd

Wie de volgende keer over blockchain leest, kan gewoon aan dat schrift met kolommen denken. Transacties zijn de regels, blokken zijn de bladzijden, de vingerafdrukken houden de bladzijden aan elkaar en het netwerk speelt samen penningmeester. Met dat beeld wordt veel van het jargon ineens een stuk begrijpelijker, en kun je beter inschatten wat deze technologie wel en niet kan.