Is de blockchain-hype gerechtvaardigd?
Alle banken en andere grote bedrijven zijn op dit moment bezig met “blockchain-projecten”. Investeerders en trendwatchers noemen de blockchain de belangrijkste ontwikkeling sinds het ontstaan van het internet. Misschien is dat zo — de tijd zal het leren. Vooralsnog is er slechts één blockchain-applicatie die werkelijk bestaat en die het prototype-stadium voorbij is, en dat is digitaal geld — bitcoin, en alle neefjes van bitcoin, de zogeheten altcoins. Dat is niet verwonderlijk, want dat is de toepassing waarvoor de blockchain ontworpen is. De blockchain heeft een paar eigenschappen die voor deze toepassing (digitaal geld) enorm slim en handig zijn, maar die voor veel andere toepassingen behoorlijk in de weg zitten. Het grootste deel van de blockchain-projecten waar je over leest zijn onzinnig. Ze zullen nooit worden gerealiseerd, of alleen op een manier dat je eigenlijk niet meer over een blockchain kunt spreken. Dat geeft niet, de toepassingsmogelijkheden die overblijven zijn spannend genoeg.
Wat is en doet de blockchain?
De blockchain wordt meestal omschreven als “de technologie achter bitcoin” en dat klopt wel ongeveer. Een openbaar register, grootboek of database is een beetje te kort door de bocht: de blockchain is het protocol, de verzameling afspraken, die maakt dat er consensus bestaat over de stand van het bitcoin-grootboek, ook al is er geen centrale autoriteit die het grootboek bijhoudt. Nog korter gezegd: de blockchain is het protocol dat ervoor zorgt dat je de bitcoin kunt vertrouwen.
Een belangrijke rol in het protocol is weggelegd voor de miners. Miners verzamelen bitcoin-transacties, stellen deze samen tot een block en proberen dit block aan de bestaande blockchain te klinken. Dat doen ze door een versleuteling, een hash, van het blok te berekenen die aan bepaalde voorwaarden voldoet. Dit is een cryptografische puzzel die alleen door trial and error op te lossen is (voor de liefhebber: zie hier de details). De hash van het laatste blok is een van de inputs van het volgende blok, vandaar de ketting. Als er een blok is gemined staken alle andere miners hun pogingen en gaan ze verder met de nieuwe, één schakel langere, ketting.
Het duurt gemiddeld tien minuten om een block te minen. (Als die termijn terugloopt, bijvoorbeeld omdat er krachtiger computers in het netwerk verschijnen, wordt automatisch de moeilijkheidsgraad van de puzzel verhoogd.) Als je iets zou willen veranderen in het op drie na laatste blok, moet je niet alleen dat blok opnieuw berekenen, maar ook de drie blokken daarna. Met net zoveel computerkracht als het hele bitcoin-netwerk zou je daar veertig minuten voor nodig hebben. En in die veertig minuten zijn er al weer vier nieuwe blokken aan de “echte” blockchain toegevoegd.
Expres inefficiënt
Ik ga hier zo uitgebreid op in omdat het belangrijk is te begrijpen hoe inefficiënt de bitcoin-blockchain is, en dat deze inefficiëntie voor de betrouwbaarheid zorgt. Verspreid over de hele wereld staan duizenden computers te rekenen en één keer in de tien minuten “wint” één van die computers een puzzel. De rest heeft voor niets staan werken. En daardoor is het ondoenlijk om de blockchain te vervalsen, en daardoor is hij betrouwbaar. Let wel: de betrouwbaarheid komt dus niet van “geavanceerde cryptografische principes” of iets dergelijks; er is weinig geavanceerd aan hashen. De betrouwbaarheid komt van de hoeveelheid werk die nodig is om aan de kunstmatige moeilijkheidsgraad te voldoen (vandaar dat het systeem ook wel proof-of-work wordt genoemd).
Het is ook goed om even stil te staan bij de reden voor dit hele circus, bij de ontwerpopgave die de makers van bitcoin zich opgelegd hebben. De bitcoin-blockchain is speciaal ontworpen om de centrale partij, de bank, overbodig te maken — of anders gezegd: voor situaties waarin je zo’n partij niet kunt of wilt gebruiken. Als er wél een centrale autoriteit is, die door alle partijen vertrouwd wordt, kan deze partij een centraal register bijhouden en dat is vele, vele malen efficiënter.
Het Trilemma: efficiency, betrouwbaarheid en decentralisatie
Het lijkt er sterk op dat er een fundamentele uitruil, een trilemma, bestaat tussen efficiency, betrouwbaarheid en decentralisatie. Je kunt twee van de drie tegelijk hebben, maar niet alle drie. Voorstellen om de efficiency van de blockchain te vergroten betekenen altijd een concessie op het gebied van betrouwbaarheid of decentralisatie, of allebei. Dat hoeft helemaal niet erg te zijn, maar ergens is er wel een grens aan wat je nog “blockchain technologie” kunt noemen. Als je de specificaties leest van Corda, de “blockchain” die het bedrijf R3 voor een consortium van banken aan het ontwikkelen is, dan gaat het niet meer over revolutionaire technologie, maar over saaie corporate IT — die de financiële sector helemaal niet gaat disrupten, maar haar juist miljarden gaat besparen.
Openbaar en anoniem
Terug naar de bitcoin-blockchain. Behalve de efficiency heeft deze nog twee kenmerken die belangrijke features zijn voor digitaal geld, maar die voor veel andere toepassingen niet erg handig zijn. Het eerste is de openbaarheid. Alle transacties worden “uitgezonden” op het hele netwerk. Dat is (in de bitcoin-logica) nodig omdat iedereen blocks moet kunnen minen, en dat is weer nodig omdat je anders een centrale autoriteit nodig hebt die rechten uitdeelt en beheert. Het tweede kenmerk is de anonimiteit (of eigenlijk: pseudonimiteit). Het register zegt eigenlijk: “Deze hoeveelheid bitcoin is onuitgegeven, en om hem te kunnen uitgeven heb je de private key nodig die bij deze public key hoort.” Wie de private key heeft, is dus in praktische zin de eigenaar en wie de sleutel kwijt is, is ook zijn bitcoin kwijt. Voor geld is dat logisch, bij bankbiljetten werkt het net zo. Je hoeft je niet te identificeren en van niemand toestemming te hebben om je bankbiljetten uit te mogen geven. Nog niet.
Voor bijna alle toepassingen waar de blockchain-enthousiastelingen mee schermen zijn deze twee eigenschappen, ieder voor zich of in combinatie, zeer ongelukkig. Bij een kadaster “op de blockchain” of het handelsregister, of een ander openbaar register, moet een koppeling worden gemaakt tussen identiteiten in de echte wereld en blockchain-adressen. Het is niet goed in te zien hoe zo’n koppeling tot stand kan komen zonder de zegen van een centrale autoriteit. (En waarschijnlijk wil je dat een eigendomsbewijs in de echte wereld doorslaggevend is voor het kunnen en mogen verkopen van je huis of bedrijf, en niet het bezit van een private key.) Ook bij een andere veelgenoemde casus, het Elektronisch Patiëntendossier (EPD), speelt dit probleem. En daar wil je bovendien niet dat alle transacties openbaar zijn.
Kortom, voor bijna alle “blockchain-toepassingen” die je kunt bedenken heb je ergens in het proces toch een centrale autoriteit nodig. En, zoals gezegd, als er een centrale partij is die door alle partijen vertrouwd wordt, dan zijn er altijd betere oplossingen beschikbaar dan de blockchain.
Vier kansen
Is het dan allemaal flauwekul? Nee, dat ook weer niet. Ik zie drie kansrijke toepassingsgebieden, plus een die wel eens de allergrootste zou kunnen worden, maar die voorlopig nog vooral theorie en experiment is:
- Betalingen. Bitcoin is verreweg de grootste blockchain-toepassing en er gebeuren interessante dingen op het gebied van machine-to-machine payments. Nee, niet die koelkast die zelf melk bestelt, maar jouw computer of telefoon die rekenkracht verhuurt als jij die niet nodig hebt, of een webserver die micro-betalingen krijgt voor elke http-request of api-call. Dat is waar 21.co mee bezig is, en dat maakt hele nieuwe online verdienmodellen mogelijk.
- Permissioned ledgers. Dingen zoals Corda, dat ik hierboven noemde, zijn strikt genomen geen blockchains, maar het zijn wel zinvolle projecten. Er zijn tal van situaties waarin meerdere partijen consensus moeten bereiken over een bepaalde gebeurtenis (“zeker moeten weten dat ze hetzelfde zien”). Op dit moment wordt dit vraagstuk meestal benaderd als “hoe praat mijn database met jouw database”. De blockchain heeft ervoor gezorgd dat partijen nu kijken naar de mogelijkheden van een gedistribueerde (gedeelde, gezamenlijke) infrastructuur. Naast Corda is ook Hyperledger hier een voorbeeld van. De potentiële voordelen (minder kosten en vooral minder fouten) zijn groot.
- Openbare registers. Met de kanttekeningen die ik hiervoor maakte kan het voor overheden, juist als ze misschien niet door al hun ingezetenen automatisch vertrouwd worden, zinvol zijn om openbare registers op de blockchain te “verankeren”. Dat vermindert de kans op corruptie en draagt bij aan rechtszekerheid. In dit licht moet je denk ik ook de aankondiging zien van het Georgische kadaster om blockchain-technologie te gaan gebruiken.
- Het spannendste, maar vooralsnog meest speculatieve toepassingsgebied is dat van de smart contracts en de distributed autonomous organizations. Cryptocurrencies kunnen geprogrammeerd worden. Bij bitcoin zijn deze mogelijkheden beperkt, en de programmeerbaarheid heeft hier nooit tot interessante toepassingen geleid. Ethereum, nu al in omvang het tweede blockchain-project na bitcoin, is speciaal voor dit toepassingsgebied ontworpen. Dit heeft inmiddels geleid tot The DAO, een project waarin deelnemers ruim $ 165 miljoen hebben ingelegd. The Dao kan misschien het best worden omschreven als een investeringsmaatschappij zonder management. De participanten beslissen samen welke projecten worden uitgevoerd en het hele projectmanagement is vervolgens in handen van de software. Er zijn serieuze problemen met dit concept, en het is de vraag of die oplosbaar zullen blijken. Maar er is een kans dat het lukt, en dan zou The DAO wel eens de belangrijkste innovatie in financiering en bedrijfsvoering kunnen zijn sinds de uitvinding van de naamloze vennootschap met vrij verhandelbare aandelen in 1602.
Samenvattend: de blockchain is niet de oplossing voor alle wereldproblemen. Maar voor een paar wel, en voor nog een paar misschien ook — en die zijn samen al interessant genoeg om de huidige aandacht te rechtvaardigen.