Om te kijken waar blockchain vandaan komt, moeten we eigenlijk kijken naar waar digitaal geld vandaan komt. Er zijn in de twintigste eeuw diverse projecten geweest om digitaal geld te lanceren, waarvan de meeste mislukten. Een pionier was cryptograaf David Chaum die diverse papers schreef over e-cash en er zelfs eentje op de markt zette in de jaren 90. Die cyberbucks sloegen niet aan, maar de ideeën bleven resoneren bij techneuten. Maar wat blockchain betreft, zijn twee projecten van belang. De eerste is hashcash.

Met de groei van internet groeide ook ongewenste digitale post. Een plan om spam en DoS-aanvallen te voorkomen was een afzender te laten 'betalen' voor het versturen van berichten. Niet met geld, maar met rekenkracht. Het systeem van de afzender moest daarbij een cryptografische puzzel oplossen die rekenkracht vereiste voordat een enkele ontvanger benaderd kon worden. Daardoor werd het iets moeilijker om e-mails te verzenden, maar erg lastig om massamails te versturen.

De Britse cryptograaf Adam Back bedacht in 1997 hashcash: een systeem waarbij gebruikers betaalden met rekenkracht omdat ze een hash van de inhoud moesten uitrekenen die voldeed aan een aantal basiseisen, bijvoorbeeld het starten met een aantal nullen. Een ontvanger kan eenvoudig verifiëren of de hash klopt, maar voor de afzender kost het rekenkracht om die hash te bepalen.

Decentraal geld

Het tweede idee dat van belang is voor blockchain komt van Wei Dai, bekend van library Crypto++. Hij bedacht in 1998 zijn cryptogeld b-money. Dai was geïnspireerd door de cypherpunk-beweging en droeg regelmatig bij aan de mailinglist. Hij bedacht een systeem van cryptogeld zonder centrale autoriteit. In b-money had je een netwerk van servers die allemaal een kopie van het grootboek bijhielden en transacties werden verwerkt door willekeurige servers, zodat ze niet te manipuleren zouden zijn.

Dat zou voorkomen dat een digitale asset twee keer kon worden uitgegeven, zodat digitale valuta deze fysieke eigenschap kopiëren. Elke b-money-transactie zou worden geverifieerd door een willekeurig toegewezen subset van de b-money-servers om eventuele tweede keer uitgegeven 'munten' te verwerpen. Om iedereen eerlijk te houden, zouden dezer servers een borg betalen die ze niet zouden terugkrijgen als ze oneerlijk gedrag bleken te vertonen. Dat is in feite het Proof-of-Stake-systeem wat je in diverse cryptovaluta momenteel ziet terugkomen.

Naar blockchain

Maar dit bleef bij een theoretisch concept en b-money werd nooit in de praktijk uitgevoerd. Je ziet bij Bitcoin duidelijk de invloed van b-money en hashcash terug. Sterker nog, Hashcash-uitvinder Back verwees Nakatomi bij de ontwikkeling van diens cryptovaluta naar Dai's werk en een implementatie van dit idee zie je terug in Bitcoin om b-money's concept van willekeurig toegewezen servers cryptografisch te verzekeren.

Dat gaat als volgt: Om ervoor te zorgen dat een willekeurige server een block toevoegt (als je zou weten welke server het volgende block produceert, zou je de transacties kunnen manipuleren) moeten knooppunten een hash berekenen van de inhoud, wat qua content de header is van het vorige block, plus de transacties van het nieuwe. Een correct uitgerekende hash is eenvoudig te verifiëren door de knooppunten die daarmee een nieuw block accepteren, maar niet te voorspellen. Om die onvoorspelbaarheid te behouden, wordt de moeilijkheidsgraad van de puzzel met stijgende rekenkracht steeds verhoogd.

Dit is het idee van hashcash geïntegreerd in het serveridee van b-money en dat is in feite de basis van blockchain. Er is een aantal dingen anders aan Bitcoin in vergelijking met zijn voorgangers, met name de toevoeging van een consensusmodel: als de meerderheid van de knooppunten het eens is over een block transacties waar een geschil over bestaat, dan wordt dat block geaccepteerd als de ware toevoeging. Bij een model als b-money bepaalde de meerderheid ook, maar omdat er geen rekenpuzzel werd gebruikt, zorgde dit ervoor dat iedereen de controle over het netwerk kon grijpen door knooppunten toe te voegen.

De toekomst

Als laatste is er de eigenschap dat je de scripts die worden geschreven voor transacties ook kunt gebruiken voor veel meer dan alleen valuta, bijvoorbeeld het uitwisselen van activa. Dan heb je een transactiemodel waarbij, als aan alle vooraf vereiste componenten is voldaan - en vooraf wordt geen enkele schrijfactie uitgevoerd - de complexere transactie zonder centrale beheerder wordt uitgevoerd. Dat levert op dat we weinig tussenpersonen meer nodig zouden hebben voor bijvoorbeeld huisverkoop, hypotheekverstrekking, vermogensbeheer en nog veel meer. En dat is de potentie waar blockchainvoorstanders enthousiast van worden.