Blockchain, wel of niet geschikt voor informatiebeheer?
De laatste jaren is er veel te doen over ‘de blockchain’. Allerhande partijen willen instappen in dit relatief nieuwe fenomeen en managers links en rechts willen hun informatiehuishouding volledig inrichten met behulp van blockchains. Maar wat is een blockchain en is het überhaupt wel geschikt voor uw informatiebeheer? In dit stuk een uitleg over wat een blockchain is en inzicht in situaties waarin de blockchain wel of niet nuttig kan zijn.
Wat is een blockchain?
Een blockchain is een type database, niets meer of minder. Een blockchain-database wordt meervoudig bewaard en decentraal gecontroleerd en kan net als andere databases allerlei soorten informatie bevatten en op allerlei manieren ingericht worden. De computers van gebruikers van de betreffende blockchain-database zijn doorgaans de opslagpunten en controleurs van veranderingen in de blockchain.
Om de blockchaintechnologie beter te begrijpen is een korte achtergrond nuttig. De blockchain vindt zijn oorsprong in wantrouwen van de burger voor grote bedrijven en instanties en is dusdanig ingericht dat de macht en bewijskracht bij de gebruikers ligt, expliciet niet bij één of enkele partijen. De oprichter van Bitcoin, Satoshi Nakamato, heeft een blockchain gebruikt om een betaalmiddel te maken waarmee banken en overheden te omzeilen waren. Bij de Bitcoin ligt de verantwoordelijkheid voor onderlinge controle van betalingen bij gebruikers. Om misbruik te voorkomen zijn er in de blockchain controlemiddelen ingebouwd die de hoeveelheid gebruikers benut om de beveiliging sterker te maken.
Hoe werkt een blockchain-database?
Kenmerkend voor blockchaintechnologie is het decentrale karakter. Alle gebruikers van de blockchain bezitten een exacte kopie (kloon) van de huidige blockchain. Wanneer iemand informatie in de blockchain wil veranderen moet een meerderheid (51%) van alle gebruikers ‘consensus’ bereiken om de wijziging of toevoeging goed te keuren.
Deze goedkeuring wordt middels een algoritme gegeven. Dit algoritme kan checks uitvoeren om te kijken of een wijziging wel mogelijk is. Hiermee wordt misbruik door een kleine groep gebruikers voorkomen.
Een simpel voorbeeld voor deze controle middels een algoritme, persoon A doet een betaling aan persoon B. Dan controleren de andere gebruikers die meedoen met dit betaalmiddel (bijvoorbeeld bitcoin) of persoon A wel genoeg geld in zijn portemonnee heeft om persoon B te betalen. Dit soort controles kunnen zo uitvoerig zijn als nodig voor de betreffende blockchain, maar het komt er altijd op neer dat een algoritme controleert of een persoon een transactie mag en kan uitvoeren. Als het antwoord op beide ja is, wordt de handeling goedgekeurd. Het gebrek aan een centraal orgaan dat handelingen goedkeurt kan ook een nadeel zijn, wanneer er onverwachte situaties voordoen. Zoals eind 2018 het overlijden van de CEO van een bedrijf dat in cryptomunten handelt. Deze had zijn toegangscodes voor het uitgeven van de cryptomunt op een zwaar beveiligde harde schijf gezet. Omdat hij als enige de codes in bezit had was hij ook de enige die een transactie kon inzetten. Die cryptomunten kunnen niet door een centrale instantie zoals een bank overgemaakt worden naar zijn bedrijf. De cryptomunten (ter waarde van 120 miljoen euro) kunnen dus nooit meer in roulatie gebracht worden. Het bedrijf heeft faillissement aangevraagd en beleggers zien hun geld waarschijnlijk niet meer terug.
(We noemden zojuist al consensus van gebruikers, de meerderheid moet goedkeuren. Hier komt de term 51%-hack vandaan. Als een partij 51% van de controlerende computers kan aansturen, en dus de controlerende algoritmes kan manipuleren, kan die partij doen met de blockchain wat hij wil. Wijzigingen kunnen naar wens goedgekeurd of afgekeurd worden. Dit is recentelijk nog gebeurd bij een online munt, de Ethereum Classic.)
Om de last op het netwerk te verminderen worden bovengenoemde transacties gebundeld en als één blok informatie aangeboden ter goedkeuring. Wat er vervolgens gebeurt is dat dit ‘blokje’ goedgekeurde informatie aan de blockchain wordt toegevoegd. De ‘ketting’ van informatie wordt langer. Vandaar de naam blockchain. Tot slot wordt dit nieuwe geheel voorzien van een hashcode (een unieke controlecode die de integriteit van een bestand vastlegt) en gedistribueerd aan alle gebruikers, zodat iedereen de meest recente versie in zijn bezit heeft, waarna een volgend blokje informatie kan worden toegevoegd.
Een voorbeeld hiervan is de aankoop van een huis. Dit huis staat in de blockchain als object (blockchaintaal: ‘token’) en heeft bepaalde eigenschappen. Bijvoorbeeld inhoud, woonoppervlak en locatie, maar ook de eigenaar. Deze eigenaar mag beslissen over informatie over dit object. Bij verkoop van het huis zal de huidige eigenaar een transactie voorstellen aan alle gebruikers van de blockchain (er van uitgaand dat er meerdere huizen en hun gebruikers in deze ‘vastgoedblockchain’ staan) waarin de token overgaat naar een andere eigenaar. Deze nieuwe informatie wordt vervolgens goedgekeurd (want de huidige eigenaar mag en kan het huis overdragen) en het huis (de token) is onomkeerbaar overgedragen aan een volgende eigenaar. Nu staat, na goedkeuring door de meerderheid, in de blockchain als nieuw blokje informatie de transactie van het huis van de ene naar de andere persoon.
Om het huis over te dragen kunnen koper en verkoper ook een ‘smart contract’ aangaan. Dit is een afspraak in code waar het eigendom overgaat naar de koper zodra de verkoper een bepaald bedrag ontvangen heeft. Deze code vervangt de notaris, andere gebruikers treden op als ‘getuige’ (door de code goed te keuren) en het geheel blijft tot in de eeuwigheid openbaar bewaard. Deze code wordt dus in de blockchain gezet en goedgekeurd door gebruikers. Zodra een koper een bepaald geldbedrag (in euro’s of bijvoorbeeld bitcoins) overgemaakt heeft naar de verkoper gaat het bezit automatisch over naar de nieuwe eigenaar. Hiermee wordt voorkomen dat de koper wel betaalt maar het huis vervolgens niet krijgt. Geld terug vorderen of een betaling annuleren bestaat niet in de blockchain, aangezien alle transacties permanent zijn. Daarom worden dit soort smart contracts veel gebruikt bij transacties tussen twee partijen. Een smart contract is alleen maar ‘bindend’ omdat het niet uit de blockchain verwijderd kan worden.
Voor de lezers met wat programmeerkennis: een smart contract is vaak simpelweg een als-dan code geschreven in Javascript en wordt opgenomen in de blockchain als de betrokken partijen hierop akkoord geven.
Is de blockchain efficiënt?
Het kernprincipe bij blockchain is dat de bestaande ketting intact blijft, alle ooit toegevoegde blokjes informatie blijven behouden. U kunt het zo zien dat als u een blockchain database downloadt, er ook automatisch een archiefbestand in opgenomen is (deze is er onlosmakelijk aan verbonden) waarin alle eerdere mutaties van de database vermeld staan. Na elke toevoeging van een blokje wordt een controle uitgevoerd op de hashcode van het vorige blokje, waarin een hashcode staat van het blokje daarvoor met daarin een hashcode van het blokje daarvoor, etc. De blokjes informatie kunnen toevoegingen aan de database zijn, maar ook een wijziging of verwijdering. En hier zit een probleem waar veel organisaties en instanties tegenaan lopen. Informatie kan nooit echt verwijderd worden.
Het meest passende voorbeeld is een nieuw blokje informatie waarin staat dat ‘bestand X’ verwijderd moet worden. Deze verwijdering wordt goedgekeurd en toegevoegd aan de ketting. De huidige database bevat geen bestand X meer. Maar er is nooit echt iets verwijderd, er is alleen maar informatie toegevoegd (over een verwijdering). Wat betekent dat als we terug gaan kijken in de ketting (die alle gebruikers in het geheel in hun bezit hebben), we bestand X gewoon weer vinden in een vorige versie of in het blokje informatie waarmee bestand X ooit is toegevoegd.
Het in stand houden van alle bestaande informatie en het alleen maar toevoegen van informatie impliceert tevens dat er een vermenigvuldiging van data optreedt. Blockchain is meervoudige opslag, die ook nog eens blijft groeien. Als er honderd gebruikers zijn, staat ook honderd keer dezelfde database opgeslagen. Elke verandering moet minstens 51 keer goedgekeurd worden, en vervolgens moeten alle honderd gebruikers de nieuwe grotere versie van de blockchain ontvangen voordat er nieuwe informatie verwerkt kan worden. Blockchain is dus niet efficiënt wat betreft opslagruimte of snelheid.
Wie kunnen de blockchain inzien?
- De puurste vorm van blockchain is ‘permissionless’: iedereen bezit het, kan het inzien en wijzigen. Iedereen heeft gelijke rechten, zowel overheidsdiensten als burgers.
Alle gebruikers hebben dus alle informatie die in de blockchain staat of er ooit in stond in hun bezit. Zelfs als deze informatie niet in de blockchain mag staan, of er per ongeluk in gezet is.
Bij Bitcoin zijn hier voorbeelden van, een transactie biedt namelijk ruimte voor wat begeleidende tekst. Hierin kan door gebruikers die een transactie doen van alles worden gezet, in sommige gevallen zijn links naar wraakporno of kinderporno geplaatst. Ook dit staat voor eeuwig in de blockchain van Bitcoin. De techniek staat simpelweg niet toe dat iets verwijderd kan worden.
Natuurlijk is het wel mogelijk om informatie in de blockchain te voorzien van een encryptie, het versleutelen van gegevens door middel van bijvoorbeeld een wachtwoord. Maar aangezien (malafide) gebruikers de hele blockchain in hun bezit hebben, is er alle tijd om deze encryptie te kraken of wachtwoorden te ‘gokken’. En dit is ook een nadeel van ‘permissionless’ werken, er is nauwelijks tot geen controle op wie de blockchain gebruikt en iedere gebruiker heeft bezit over de hele blockchain.
- Een alternatief is ‘permissioned’: De blockchain wordt beperkt tot maar één of enkele partijen die de informatie beheren. Bijvoorbeeld enkele overheidsdiensten die samenwerken met een blockchain.
Maar dat gaat weer geheel in tegen de werking van de blockchain. In die situatie ben je veel beter af met een conventionele database. Conventionele databases zijn:
- kleiner, want er wordt geen kloon van de database bij elke gebruiker opgeslagen.
- sneller, want niet elke bewerking hoeft gecontroleerd te worden door meerdere partijen, enkel door de centrale beheerder.
- dynamischer, want gegevens kunnen naar wens geherstructureerd, veranderd of (echt) verwijderd worden.
- gebruiksvriendelijker, want informatiebeheer gebeurt op één locatie en bijvoorbeeld autorisaties zijn veel makkelijker te regelen.
- Een tussenvorm is een ‘hybride’ blockchain, waarbij meerdere vertrouwde partijen informatie kunnen invoeren. Bijvoorbeeld overheidsdiensten die samenwerken met een blockchain, waarbij instanties of bedrijven ook toegang krijgen om informatie toe te voegen en burgers alleen mogen raadplegen.
Ook bij een hybride blockchain rijst de vraag, waarom gebruik je blockchain? Misschien is er een hele goede reden voor, maar mogelijk zijn andere vormen van databases veel passender voor beheer van de betreffende informatie.
Wanneer wel een blockchain gebruiken?
Een blockchain kan vooral van nut zijn als informatie toch al openbaar moet zijn voor alle gebruikers en een publiek belang dient. Een blockchain-database heeft baat bij veel gebruikers die gegevens willen raadplegen (waardoor er ook veel gebruikers zijn die de blockchain bezitten en controleren). Een voorbeeld hiervan is het registreren van ketenprocessen bij vleesverwerking in Azië. Om misbruik door voedselverwerkers te voorkomen wordt elke stap in het proces geregistreerd en openbaar gemaakt in de blockchain en kan iedereen deze informatie raadplegen. Van buitenaf is overigens niet te zien of gegevens in een blockchain of een andere database staan. Om het wantrouwen weg te nemen zal dus inzichtelijk gemaakt moeten worden dat het om een blockchain gaat.
Wanneer geen blockchain gebruiken?
Bij blockchain is de belangrijkste beperking: niets kan verwijderd worden. Er kan alleen maar informatie bij. Dit betekent onder andere dat er geen enkel persoonsgegeven in mag belanden, ook niet per ongeluk. In het kader van de AVG (recht op vergetelheid) zijn persoonsgegevens een no-go. Dit is een zware handicap voor overheidsinstanties en één van de hoofdredenen waarom volgens adviesbureau Berenschot maar 5 tot 10 procent van blockchainprojecten voorbij de verkenningsfase komt. Ook is de gehele database in het bezit van alle gebruikers, dus in feite alle gevoelige informatie is uit den boze.
Als u veel verwerkingen doet of met collega’s wil samenwerken in een database is een blockchain ook geen optie. De blockchain is gemaakt om gegevens en transacties lange tijd te bewaren, niet om constant veranderingen in door te voeren. De snelheid is één van de zwakste punten van een blockchain.
En het kernprincipe van de blockchain: u heeft geen regie over de informatie. De informatie is van iedereen en voor iedereen. En daar ligt een fundamenteel probleem voor overheidsinstanties die iets met blockchain willen. De overheid is per definitie top-down en blockchain is per definitie bottom-up. Zodra u een blockchain voor de burger opzet is deze ook ván de burger en heeft u toestemming nodig om er in te werken. Als u de regie zelf wil houden is het makkelijker en simpelweg beter om conventionele systemen te gebruiken.
Spraakverwarring over blockchain
Bij spreken over blockchain worden veel grootse termen gebruikt en ontstaat veel spraakverwarring bij allerhande analogieën die rondzingen. We zullen hieronder enkele verwarringen en mythen aanhalen en proberen te achterhalen wat er eigenlijk bedoeld wordt.
- “Blockchain: een bijzonder algoritme”
(https://vng.nl/blockchain-een-bijzonder-algoritme)
Zoals we nu dus weten, is blockchain geen algoritme. Blockchain is een type database. Waar dit artikel eigenlijk aan refereert zijn smart contracts, een techniek die gebruikt kan worden (maar niet exclusief, bijna elke database kan dit) bij de blockchain.
- “Voordelen blockchain
Als de grootste voordelen van blockchain worden genoemd:
- De snelheid (bijna realtime);
- Minder administratieve lasten;
- Minder fraude;
- Grip op eigen data;
(https://www.vngrealisatie.nl/producten/whitepaper-blockchain-ictu)
Als er iets is dat wordt gezien als een groot nadeel van blockchain, dan is het de snelheid. En natuurlijk, als er een zeer beperkt aantal opslagpunten is (permissioned) dan kan de snelheid aanzienlijk toenemen. Maar in dat geval is de essentie van blockchain al lang verdampt.
De administratieve lasten beperken is maar zeer de vraag. Waarvoor wordt blockchain gebruikt? Als het als database gebruikt wordt in plaats van een andere database verandert er niks aan de administratieve last. Als het gaat over smart contracts, dat kan nu ook al. Daar is geen blockchain voor nodig. Een burger kan nu ook al een betaling doen en daarvoor geautomatiseerd een product of dienst ontvangen.
Minder fraude; Als u uw eigen medewerkers niet kan vertrouwen zou blockchain kunnen helpen deze fraude terug te dringen, aangezien medewerkers dan hun eerdere invoer niet meer kunnen wijzigen of verbergen. Maar tegenwoordig zijn er vele systemen met een uitgebreide logfunctie, daar is blockchain niet uniek in. Bij fraude door burgers is het maar de vraag of de blockchain daar iets aan verandert. Als een burger in een vastgoedblockchain zet dat hij maar één huis heeft en zijn tweede huis in Spanje niet noemt, dan gaat de blockchain daar niks aan veranderen.
Grip op eigen data? Juist niet als u blockchaintechnologie gebruikt. Bij een ‘permissionless’ blockchain bent u alle grip kwijt. En bij ‘permissioned’ heeft u bijna net zoveel grip als bij conventionele databases (iets minder eigenlijk, aangezien u niets kunt verwijderen).
- “Wie gebruik maakt van Blockchaintechnologie, hoeft geen databases meer met elkaar te synchroniseren of te consolideren.”
(http://dutchchainwhitepaper.nl/1-blockchain-technologie/)
Dit hangt er maar net vanaf waar u de blockchain voor gebruikt. Zet u, zoals deze site voorstelt, al uw primaire processen op de blockchain en stelt u dit volledig open voor alle andere partijen en werkt iedereen in dezelfde database? Dan hoeft het niet. Maar willen partijen hun eigen informatiebeheer voeren en stelt de gemeente Amsterdam net andere eisen dan de gemeente Schiermonnikoog? Dan zullen ze in andere databases werken. Zelfs als deze allebei op blockchaintechnologie zouden werken, dan nog zijn het verschillende en gescheiden databases. Twee verschillende Excelbestanden wisselen ook niet automatisch gegevens met elkaar uit, ondanks dat het van dezelfde techniek gebruik maakt en ze misschien zelfs op dezelfde computer staan. Dit soort argumenten gaan pas op als alle partijen letterlijk alle gegevens online zetten in dezelfde database. Maar zolang identiteitsgegevens van burger A, bankgegevens van burger B, kadastergegevens van gemeente C en de volledige financiële boekhouding van bedrijven D en E niet in dezelfde database staan zullen databases moeten communiceren, synchroniseren en consolideren.
Dit was een kleine greep uit beweringen die gedaan worden online. Zo zijn er nog vele voorbeelden te vinden van uitspraken over blockchain die uw kritische blik verdienen.
Hoe vatten we dit samen?
Het Australische Digital Transformation Agency deed na een uitgebreid onderzoek naar blockchain de volgende uitspraak: “Het is een interessante technologie, maar in vroege staat van ontwikkeling. Het staat aan de top van de ‘hype-cyclus’ en bij kijken naar de blockchain moet een vergelijking gemaakt worden met bestaande technieken.[…] Zonder standaardisatie en zonder veel meerwerk is er, voor elke toepassing van blockchain die momenteel overwogen wordt, op dit moment een betere technologie beschikbaar.”
Mocht u overwegen om blockchain te gaan toepassen, stel uzelf dan de volgende vragen:
- Is alle benodigde informatie digitaal beschikbaar?
- Mag alle informatie tot in de eeuwigheid bewaard blijven, ook (persoons-)gegevens waarvan de doelbinding vervallen is?
- Is het acceptabel dat transacties niet direct, maar pas na controle worden goedgekeurd en doorgevoerd?
- Verandert de data regelmatig, maar moet de historie controleerbaar zijn?
- Mogen alle partijen de volledige informatie in de database inzien?
Als het antwoord op één of meer vragen ‘nee’ is, dan is de blockchain hoogstwaarschijnlijk niet de oplossing voor uw informatiebeheer. Heeft u vijf keer ‘Ja’ kunnen antwoorden, dan kunt u het gebruik van een blockchain overwegen.
Bedenk dat er ook dan nog steeds conventionele systemen zijn die misschien beter geschikt zijn en die al stukken verder doorontwikkeld zijn dan de blockchain nu is. Neem bij deze overweging ook ons artikel en onderstaande artikelen in ogenschouw voordat u een duur bureau vraagt om voor u een blockchain-oplossing te verzinnen. Dat kan u veel tijd, geld en energie besparen.
Wij hopen dat u dit blokadvies aan uw ketting knoopt. Wij wensen u in ieder geval veel wijsheid bij uw informatiebeheer.
Auteur: Robert Mansveld
Directe aanleiding voor dit artikel is een visiedocument uitgebracht door de Dutch Blockchain Coalition, een samenwerkingsverband tussen bedrijven en de overheid om blockchain te promoten. Artikelen van de Volkskrant en De Correspondent zijn geraadpleegd als kritisch tegengeluid. Voor meer informatie kunt u onderstaande stukken in volledigheid raadplegen.
Dutch Blockchain Coalition: (https://dutchblockchaincoalition.org/)
En hun artikel ‘Blockchain for Good’: (https://dutchblockchaincoalition.org/uploads/pdf/Visiedocument-Blockchain-For-Good-NL.pdf)
Artikel De Correspondent: (https://decorrespondent.nl/8864/de-blockchain-een-oplossing-voor-bijna-niets/76288494656-68ad2b72)
Artikel Volkskrant: (https://www.volkskrant.nl/nieuws-achtergrond/de-blockchain-een-revolutie-die-uw-leven-nog-even-niet-verandert~b16f8273/)