Het is 2018 en bijna iedereen is in de blockchain. Wellicht beleven we nu de 'peak hype'. Het blockchain-evangelie ligt op ieders lippen. Wie echter teruggaat naar Satoshi Nakamoto, de mythische blockchain-vader, ziet dat het idee blockchain verre van waterdicht is. Eerste in een serie artikelen.
Blockchain is iets zeer bijzonders, een wezenlijk nieuwe visie op databases en database-transacties. Vermoedelijk zouden we er niets van gehoord hebben als die visie niet meteen was vertaald in een killer application genaamd Bitcoin. Recent lijkt iedereen op zoek naar toepassingen van de blockchain technologie buiten de wereld van de cryptovaluta, die echter heel schaars blijken. In mijn Twitter-tijdlijn krijg ik berichten over blockchain langs van IBM, eens de voorloper bij het omzetten van ideeën in producten. Klik ik op een bericht dan biedt IBM mij aan om met een consultant van ze te praten. Zo ver zijn we dus.
Begin maart was er opeens heel veel publiciteit voor een blockchain-toepassing (een proef) in de Kraamzorg (bewijs: 1, 2, 3, 4, 5, 6 …). Ik geloof meteen dat die toepassing die partijen aan elkaar verbindt het doet (of gaat doen) en nuttig is. Maar ik bestrijd dat er ook maar iets van al dat moois voortkomt uit blockchain-technologie. En geen journalist – zelfs niet van Computable – die er doorheen prikt. Dat doen we hier alsnog, met hulp van de bedenker(s) van blockchain en bitcoin zelf.
Terug naar de bron
Wat het concept blockchain zo bijzonder maakt is niet alleen dat het een nieuw gegevensmanagement paradigma biedt, maar ook dat dit kernachtig is beschreven in een White paper van slechts acht A4tjes van een of meer auteurs die zich Satoshi Nakamoto noemen. Weinigen zullen de inhoud volledig begrijpen en kunnen valideren, maar dat hoeft ook niet. Het document beschrijft het concept achter de blockchain glashelder en met de bitcoin is het bewijs geleverd dat het ook werkt. Maar lees de whitepaper en volg de actualiteit en je krijgt een aantal ijzersterke argumenten tegen het blockchain-concept en de bitcoin cryptomunt aangereikt.
Als we de white paper bekijken vanuit data-perspectief dan springen drie zaken in het oog:
1: Total recall: de blockchain is een database gericht op het registreren van transacties waarbij data nimmer worden overschreven;
2: Peer-to-peer de blockchain is een gedistribueerde verzameling gelijkwaardige databases die werken zonder centrale regie;
3: Anarchisme: hoewel niet inherent aan het blockchain-algoritme, is de filosofie achter de blockchain (en zeker achter bitcoin) dat de toepassingen van de blockchain zonder centrale regisseur, op basis van open source en in de openbaarheid van de cloud worden uitgevoerd en beloond.
Blockchain kent diverse problemen
Probleem #1: schaalbaarheid
Omdat data in een blockchain niet worden overschreven kan een blockchain-instantie of node bestaande uit geketende ‘blocks’ (termen als ‘file’ en ‘database’ en zelfs ‘ledger‘ vallen in de white paper niet) bij veel transacties hard groeien. Erger, omdat er minstens twee en redelijkerwijs veel meer kopie-databases bestaan gaat het nog harder. Wie een bestaande applicatie met veel transacties onder de blockchain wil brengen moet rekening houden met heel veel extra opslagruimte en verwerkingskracht. Dat de throughput van een gedistribueerde blockchain database in de cloud lager zal zijn dan die van een klassieke relationele database behoeft ook geen betoog. De micro-toepassing in de kraamzorg zal er geen last van hebben, maar de bitcoin heeft dat al: zeven transacties per seconde en een grote verzameling steeds sneller groeiende transactie-databases (ledgers). Omdat de kosten van het geheugen- en processorkracht vretende blockchain mechanisme worden doorberekend als transactiekosten is de bitcoin als betaalmiddel steeds minder aantrekkelijk. Wie zou het acceptabel vinden als de bank 28 dollar in rekening brengt voor een overschrijving?
Sommigen (ik niet) denken dat het schaalbaarheidsprobleem wel wordt overwonnen door vooruitgang op hardware gebied, maar vooralsnog doet iedereen er verstandig aan om weg te blijven van grootschalige toepassingen van blockchain-technologie.
Probleem #2: privacy
Echte blockchain-toepassingen zijn naar hun aard open met alomtegenwoordige kopieën. (Bitcoin heeft er pakweg 150.000!) Al die kopieën bevatten alle transacties die binnen toepassing zijn uitgevoerd. Zodra we dus tot personen herleidbare gegevens gaan opslaan krijgen we problemen met de privacy. Die kekke kraamzorgtoepassing is vrijwel zeker keihard in strijd met de bestaande en aankomende (GDPR / AVG) privacywetgeving, waar zoiets bestaat als het recht om vergeten te worden. Recent is dat inzicht ook doorgedrongen in de blockchain wereld en, jawel, men vraagt om een uitzondering voor blockchain toepassingen op de wetgeving. Dat is lachwekkend en begrijpelijk tegelijk. Lachwekkend omdat het niet gaat gebeuren en begrijpelijk omdat privacy en blockchain elkaar principieel niet verdragen. Onze kraamzorg toepassing kan natuurlijk ergens in een private cloud worden weggestopt, maar dan moeten we maar geloven dat er überhaupt een blockchain algoritme onder de applicatie ligt, want te controleren valt dat dan niet meer, of het zou via de energierekening moeten gaan.
Het probleem is niet alleen dat data in de blockchain principieel toegankelijk zijn en dat foute data (laster, kinderporno) niet kunnen worden gewist. Daarbovenop komt dat ketens van transacties ook kunnen worden gevolgd. Wie niet oppast geeft in de blockchain-wereld van bitcoin zijn complete betaalgedrag vrij. Als we de hele wereld ‘ver-blockchainen’ dan leven we allemaal permanent in een spiegelpaleis. Zo verwordt iets dat anarchistisch-decentraal is tot een controlemiddel waarvan elk totalitair regime alleen maar van kan dromen.
Natuurlijk kan er worden tegengeworpen dat data in de blockchain kunnen worden versleuteld. Maar dat geldt dus niet voor de transactiekettingen. En zeg eerlijk: wie wil er aan zijn privacy officer melden dat alle gevoelige zakelijke en persoonlijke data op 50 Chinese, 10 Russische en 20 Amerikaanse servers staan?
Probleem #3: energieverbruik
Dat het exploiteren van het blockchain-netwerk onder de bitcoin energie vreet is genoegzaam bekend – hoewel mogelijk overschat. Minder bekend is dat het al niet meer lonend is om bitcoins te minen, het beloningsmechanisme dat de bitcoin sector draaiende houdt. Je moet dus werken met speciale hardware en goedkope (kolen!) dan wel gestolen elektriciteit. Nog minder bekend is dat extreem energieverbruik inherent is aan de blockchain.
Satoshi’s white paper legt uit hoe dat werkt. Centraal staat het concept proof of work, een mechanisme dat eist dat mutaties vergezeld gaan van complexe berekeningen die moeten worden bevestigd door alle deelnemende blockchain-instanties (nodes). De truc daarbij is dat de berekeningen automatisch complexer worden wanneer de rekenkracht toeneemt. Zo garandeert het blockchain algoritme nagenoeg sluitend dat de data niet kunnen worden gemanipuleerd door een vals spelende deelnemer.
Het energieverbruik probleem is dus van veel meer fundamentele aard dan het probleem van schaalbaarheid. Als morgen de kwantumcomputer zijn intrede doet, netwerk bandbreedte explodeert en een petabyte aan geheugen twee eurocent kost, dan nog blijft het energieverbruik van de blockchain toepassingen dramatisch hoog. Als blockchain toepassingen – niet het geblaat erover – populair worden dan voorzie ik dat het werken met de blockchain een vergunning vereist en misschien wel wordt verboden.
Probleem #4: tegen wie beschermt de blockchain ons?
Als we terugkeren naar wat de blockchain ons nou eigenlijk biedt dan is het antwoord: ‘een garantie tegen oneerlijke datamanipulatie en dan met name door de partij die de controle over de applicatie heeft – zo’n partij is er namelijk niet. Dat is uniek en natuurlijk cruciaal als je een cryptomunt wilt lanceren zonder marktmeester.
Welbeschouwd werkt deze garantie alleen wanneer we echt willen dat er geen centrale trusted party is en dan alleen onder bijzondere omstandigheden. Bij de 99,99 procent normale toepassingen heb je daar vrijwel niets aan. Nemen we als voorbeeld de kraamzorgapplicatie. Wie zou die data willen manipuleren, anders dan een criminele medewerker? Zeker, er zijn meerdere partijen betrokken bij het kraamzorgsysteem die gezamenlijk – hoe conventioneel – de applicatie hebben ontworpen hebben gebouwd. Komen de kraamzorg-blockchain nodes straks net als bij de bitcoin in de cloud te staan en gaan Jan en alleman de integriteit garanderen door te gaan minen? Natuurlijk niet. De applicatie komt straks vast gewoon te staan op een paar servers bij de deelnemende partijen, vermoedelijk achter een dikke firewall. Natuurlijk scheelt dat in de energierekening en in boetes van de privacy waakhond, maar je kunt dan net zo goed en tegen veel lagere kosten werken met een klassieke relationele database
Probleem #5: valse vlaggen
Ten diepste is het probleem met de blockchain dat het niets biedt dat niet-ict’ers die van buitenaf naar een toepassing kijken beschouwen als nuttige functionaliteit. We kunnen de blockchain-variant van de kraamzorgtoepassing vervangen door een klassieke database-variant en niemand die het merkt. De veiligheidsclaims zijn mooi maar voor buitenstaanders niet te controleren en zoals ze hierboven zagen ook als zodanig dubieus.
Het is haast onvermijdelijk dat blockchain-toepassingen vergezeld gaan van onwaarheden die doorgaans de vorm aannemen van ‘valse vlaggen’; zegeningen van blockchain die helemaal niets met blockchain te maken hebben:
1) Applicatiefunctionaliteit wordt verkocht als blockchain functionaliteit. De kraamzorg applicatie is daarvan een mooi voorbeeld: alle nuttige functionaliteit waarmee de pers wordt gevoed is niet de vrucht van de blockchain maar van deugdelijk ontwerp en het bestaan van het internet.
2) Decentrale, collaboratieve transactieverwerking wordt verkocht als basis voor samenwerking tussen autonome partijen. De kraamzorg applicatie is gebouwd, althans gesponsord, door een aantal partijen die samen een mooi top-down ontwerp hebben gemaakt. Als iedereen zijn eigen software maakt wordt het ook met blockchain een puinhoop.
3) Redundantie wordt verkocht als transparantie. Blockchain algoritmen zijn haast van nature open source en software en data verblijven overal en nergens in cyberspace. Maar natuurlijk leent vrijwel alle moderne software zich voor open source en een verblijf in de cloud. En zoals we zagen is de extreme transparantie van data geen onverdeeld pluspunt.
4) Non-blockchain software wordt verkocht als blockchain. Mijn favoriet! Juist omdat de zegeningen van de blockchain onder de motorkap zitten en er niet één dominante persoon of partij is die bepaalt wat blockchain is en wat niet. De brute variant is natuurlijk dat je in een afgesloten omgeving data vastlegt in een omgeving die (deels) non-blockchain is. Dat zien we zelfs bij de bitcoin: vanwege de problemen met schaalbaarheid en de steeds hogere transactiekosten vinden bitcointransacties naar verluidt steeds meer plaats binnen het platform van een provider. Die provider fungeert dan gewoon als een klassieke marktmeester, een centraal clearing house. Bitcoin-adepten weten natuurlijk dat er een onderscheid bestaat tussen een ‘echte’ bitcoin en een, eh, elektronische of girale variant, maar de meeste bitcoinbeleggers zal het niet boeien.
5) Non-blockchain software wordt verkocht post-blockchain. Doordat echte blockchain toepassingen nogal problematisch zijn, hoor je ook al geluiden dat we post-blockchain moeten gaan. Gelukkig maar dat we dat heerlijke White paper van Satoshi Nakamoto hebben (nogmaals: lees!) waarmee we alle goedgelovigen, hypers en charlatans terug in hun kist kunnen duwen. Wie de problemen van blockchain wil overwinnen zonder het blockchain concept geweld aan te doen moet van goeden huize komen.
Schot voor de boeg
Blockchain is met afstand de grootste hype in de afgelopen dertig jaar; groter dan echt nieuwe technologie zoals (echte) big data, de sensortechnologie revolutie en de op patroonherkenning gebaseerde kunstmatige intelligentie (ai). Wie kijkt naar werkende blockchain-software ziet een problematische bitcoin-toepassing en een enorme verzameling concepten, ideeën en pilots. Satoshi Nakamoto heeft ons geholpen aan een conceptuele toolkit waarmee we blockchain claims kunnen toetsen. Onze kraamzorg pilot is bijvoorbeeld tenminste a) 100 procent niet openbaar, b) niet gebaseerd op grootschalig proof of work en daarom in theorie kwetsbaar, c) problematisch met betrekking tot privacy. Alleen al omdat wij buitenstaanders niet kunnen nagaan of er wel echte blockchain software draait en of het systeem wel 100 procent blockchain is voldoet het niet aan het principe dat de transacties betrouwbaar zijn. En natuurlijk zijn ze dat ook niet, want het systeem kan ten principale niet controleren of een opgegeven aantal kraamzorguren klopt. Het enige dat kan worden gegarandeerd is dat een vastgelegde urenopgave niet wordt gemuteerd door een onverlaat. Of beter: dat zou kunnen worden gegarandeerd als de software en de data openbaar waren zoals bij de bitcoin.
Voor dit moment wil ik de lezer van dit artikel de volgende stellingen over blockchain aanbieden:
1: Elke ict-oplossing die claimt ‘blockchain’ te zijn is ofwel onderhevig aan de problemen die de bitcoin nu kenmerkt (schaalbaarheid, exploitatiekosten) ofwel voldoet niet aan de uitgangspunten van Nakamoto’s white paper (open, decentraal, niet corrumpeerbaar) ofwel registreert persistente data geheel of gedeeltelijk buiten de blockchain.
2: Elke ict-oplossing die niet volledig voldoet aan de uitgangspunten van Nakamoto’s white paper kan worden vervangen door een eenvoudiger oplossing gebaseerd op conventionele (database)technologie.
Zo, we hebben onze nek uitgestoken. Er hoeft maar één blockchain-toepassing te zijn die een van deze twee stellingen weerlegt en we moeten terug naar de studeerkamer. De kraamzorg toepassing hebben we gehad. Nog honderdduizend ict-pilots te gaan!
René Veldwijk fileert onder de Twitter Handle Followtheblockchain recente blockchain-ontwikkelingen.