Blockchain


De blockchain context en vier basisprincipes - een kader om inzicht te krijgen in wat blockchain is en creatief blockchain-toepassingen te bedenken

In de media wordt veel geschreven over blockchain. De technologie en bijbehorende toepassingen zijn echter (nog) niet eenvoudig te begrijpen. Arno Laeven, voorheen hoofd van Philips Blockchain Lab, zegt hierover: "Het is een onderwerp dat bestudeerd moet worden, en dat kost tijd.” Dit is iets dat iets dat Berenschot adviseurs ook ondervinden tijdens het organiseren van workshops en pilots over blockchain bij landelijke en gemeentelijke overheden, bij advocatenkantoren, notarissen, banken, verzekeraars, ICT-bedrijven en energiebedrijven.

De volgende methode gebruiken we om mensen bekend te maken met blockchain en als kader om te brainstormen over toepassingen. De technologie en algoritmen worden hier uiteraard versimpeld uitgelegd.

De context: blockchain is een automatiseringstechnologie

Blockchain is een automatiseringstechnologie die in het verlengde ligt van veel andere automatiseringstechnologieën, zoals mainframes, serverclients, peer-to-peer en cloudautomatisering. Deze zijn in verschillende perioden ontwikkeld en bedoeld voor verschillende soorten hardware en applicaties. Bij veel bedrijven en instanties zijn ze overigens nog steeds in gebruik. Overheidsinstanties en grote banken maken bijvoorbeeld nog altijd gebruik van mainframes en de bijbehorende programmeercode uit de jaren zeventig. Blockchain is de nieuwkomer in dit gedifferentieerde IT-landschap. Waardoor onderscheidt blockchain zich dan van al die andere automatiseringstechnologieën?

Eerst een stukje geschiedenis. De eerste blockchain-toepassing was de digitale Bitcoin-valuta in 2009: een uitvinding die grote invloed kan hebben op onze manier van bankieren. Met Bitcoin is het overmaken van geld naar andere landen net zo makkelijk en goedkoop als het sturen van een e-mail naar het buitenland. Sindsdien zijn er nog veel andere digitale valuta's ontwikkeld, zoals Litecoin en Monero. In 2015 kwam er een tweede generatie blockchains op de markt, met Ethereum als belangrijkste speler. De technologie bood nu uitgebreidere functionaliteit, die van belang was voor diverse andere sectoren dan de bankwereld, en stimuleerde de ontwikkeling van een groot aantal nieuwe toepassingen voor bedrijven en overheden. In de volgende secties ga ik in op de vier basisprincipes.

Blockchain-principe 1: een niet-wijzigbare keten van gegevensblokken opbouwen in de loop van de tijd

Een blockchain biedt een nieuwe manier van gegevensopslag; hierbij worden alle geschreven gegevensblokken met elkaar verbonden via cryptografie. Theoretisch kan het gaan om allerlei soorten gegevens, zoals transactiegegevens, documenten of zelfs video. Voor de meeste blockchain-ontwerpen geldt echter dat hoe kleiner het pakket is, hoe beter. Een 'hash' is een cryptografisch algoritme dat sinds een jaar of 25 wordt gebruikt en waarmee een 'vingerafdruk' van een digitaal bestand (of blok) wordt gemaakt, zodat het bestand een unieke identificatie krijgt. Als één enkel bit in het bestand wordt veranderd, komt de nieuwe hash niet overeen met die van het oorspronkelijke bestand. Hashes vormen het bewijs voor de hele keten van een blockchain dat alle gegevens in de blokken authentiek zijn en niet onrechtmatig zijn gewijzigd. De hash van een gegevensblok wordt opgeslagen in het volgende blok, zodat alle blokken met elkaar worden verbonden in de keten die in de loop van de tijd ontstaat (zie het volgende diagram).

Hoe werkt Blockchain? Een niet wijzigbare keten opbouwen in de tijd - Berenschot Nanning de Jong

Waarom is dit van belang? Deze functionaliteit zorgt bijvoorbeeld voor een audittrail van de opgeslagen gegevens. Deze maakt inzichtelijk wie welke gegevens heeft opgeslagen en bewijst dat de gegevens authentiek en niet onrechtmatig gewijzigd zijn. Dit is belangrijk voor toepassingen bij organisaties waar de betrouwbaarheid van gegevens een belangrijke rol speelt, zoals in de overheid, de farmaceutische en financiële sector (bijvoorbeeld voor naleving van de regelgeving), en bij accountancy-, notaris- en advocatenkantoren.

Blockchain-principe 2: de keten wordt gedistribueerd naar alle deelnemende partijen

De groeiende keten zoals genoemd bij het eerste principe kan nog steeds opgeslagen en gebruikt worden door één partij. Blockchains zijn echter extra betrouwbaar, omdat de complete keten gedeeld wordt met en gedistribueerd wordt naar andere partijen (andere computer-knooppunten of nodes). Alle partijen kunnen een exacte kopie van alle gegevens en het bijbehorende bewijs van de keten krijgen, en nagaan of deze kopieën identiek (gesynchroniseerd) blijven. Zo is het nog moeilijker om de gegevens onrechtmatig te wijzigen.

Hoe werkt Blockchain? Distributie naar partijen - Berenschot Nanning de Jong

Het interessante is dat er hier geen overheersende centrale partij is: er is geen ‘vertrouwde derde partij’, zoals een bank, die de controle uitoefent over alles. Een blockchain kan, afhankelijk van het ontwerp en de implementatie, openbaar zijn voor iedereen die wil meedoen (net als het internet), of besloten zijn, dat wil zeggen gereserveerd voor een bepaalde groep partijen (zoals een intranet). Hybride modellen met meer gedifferentieerde lees- en schrijfmachtigingen zijn ook mogelijk. Deze functionaliteiten creëren nieuwe kansen voor mensen en organisaties die samenwerken. Denk bijvoorbeeld aan het ontwikkelen van toepassingen voor platforms voor co-creatie, het faciliteren van de samenwerking in consortiums en het automatiseren van processen met veel verschillende stakeholders, zoals overheidsinstanties of logistieke ketens. Blockchains, voorzien van de juiste toegangsrechten en beveiligd met gegevensversleuteling, kunnen ook dienen als systeem voor elektronische patiëntendossiers en juridische dossiers.

Blockchain-principe 3: de partijen moeten consensus bereiken over de gegevens die in het laatste blok worden opgeslagen

Het moeilijke deel van dit gedistribueerde netwerk is het bereiken van een consensus over de inhoud van het laatste gegevensblok. Er bestaan diverse geautomatiseerde methoden voor de besluitvorming hierover: het Bitcoin-netwerk gebruikt cryptografische algoritmen om een besluit te nemen aan de hand van 'proof of work' (bijvoorbeeld 'mining'), maar andere systemen maken gebruik van stemmechanismen en 'proof of stake'. Deze methoden verschillen qua veiligheidsniveau en snelheid, en het ontwerp en de implementatie voor verschillende blockchains kan worden aangepast voor specifieke gebruikssituaties en toepassingen. Er is geen consensus mogelijk als de groep partijen (knooppunten of 'nodes') geen overeenstemming weet te bereiken over de gegevens (en hashes) die in het laatste blok moeten worden opgenomen.

Hoe werkt Blockchain? Consensus - Berenschot Nanning de Jong

Waarom is dit van belang? Het consensusmechanisme zorgt ervoor dat de blockchain-exemplaren gesynchroniseerd en betrouwbaar blijven, zodat alle partijen met een gezamenlijke bron van waarheid ('single source of truth') kunnen werken. Aanvankelijk was dit bedoeld voor Bitcoin om het probleem van 'dubbele uitgaven' te voorkomen. Voor het eerst kon worden bewezen (zonder vertrouwde derde partij) dat dezelfde digitale munt niet frauduleus meerdere keren kon worden uitgegeven. Dit is belangrijk voor het bewijzen van het eigendom en de transacties van alle digitale goederen, zoals digitale valuta, digitale afbeeldingen, enzovoort. Een ander voordeel van een 'single source of truth' is dat hiermee de kwaliteit van de gegevens voor organisaties wordt verbeterd. Grote organisaties, zoals overheden, banken en logistieke ketens, wisselen vaak gegevensbatches uit tussen afdelingen of organisaties en bij elke stap worden die gegevens verrijkt. Uiteindelijk werken alle afdelingen en organisaties met enigszins afwijkende gegevens en het kan lastig en duur zijn om deze weer te herstellen.

Blockchain-principe 4: programmeercode kan worden opgeslagen en uitgevoerd in blockchains (smart contracts / gedecentraliseerde apps)

De gegevens in een blockchain kunnen logica, procedures en programmeercode bevatten die veilig worden gesynchroniseerd tussen alle partijen, en die kunnen worden uitgevoerd op een gedecentraliseerde manier. Dit is de meest innovatieve en minst begrepen functie van blockchains. De eerste toepassingen waren de 'smart contracts' in het Bitcoin-netwerk, waar transacties met digitale munten voorwaardelijk kunnen worden uitgevoerd met behulp van 'als-dit-dan-dat'-instructies. Op die manier kan bijvoorbeeld een verzekeringsservice worden ingesteld, waarbij de overdracht van digitale munten afhangt van specifieke weersomstandigheden (zoals hagel) op een bepaalde locatie of van een vertraagde vlucht (InsurETH). Een dergelijk 'smart contract' kan automatisch worden uitgevoerd zonder centrale 'verzekeringsmaatschappij'. Dit is van belang, omdat de uitvoering hiervan niet afhangt van een centrale server en dus robuuster is. Met de blockchains van de tweede generatie, zoals Ethereum, is de functionaliteit van smart contracts verder uitgebreid, zodat nu vrijwel elke programmeercode op een gedecentraliseerde manier kan worden opgeslagen en uitgevoerd. Ik gebruik hiervoor liever de term 'gedecentraliseerde apps' (dapps), omdat deze functie verstrekkende gevolgen kan hebben en het woord 'contract' ons creatieve denken over nieuwe toepassingen kan beperken. In 2016 zagen we de opkomst en neergang van de eerste DAO (Decentrale Autonome Organisatie) die gebaseerd was op deze technologie van de tweede generatie. Het is een crowdfunding- en investeringsorganisatie die wordt gerund zonder medewerkers of centrale autoriteit. Ik ben erg benieuwd hoe deze dapp-functionaliteit de komende jaren verder zal worden onderzocht en geïmplementeerd.

Implementatie van blockchains bij bestaande organisaties en consortia

Als conclusie kunnen we dus stellen dat een blockchain een nieuwe automatiseringstechnologie is die vier principes met zich meebrengt:

  • opslag van gegevens in een groeiende en onderling verbonden keten van blokken;
  • distributie van deze keten van gegevensblokken naar vele partijen in een netwerk;
  • consensus over de gegevens die in het laatste blok moeten worden opgenomen;
  • uitvoering van programmeercode in een gedistribueerd netwerk.

Dit is van belang voor alle toepassingen waarbij de kwaliteit en betrouwbaarheid van gegevens essentieel zijn en/of waarbij het wenselijk is dat de automatisering niet afhangt van één vertrouwde derde partij. De toepassingen begonnen met eigendomstransacties, zoals betalingen, vastgoed, kunstwerken en andere waardevolle items, maar we zullen de komende jaren veel andere (gedecentraliseerde) toepassingen zien, bijvoorbeeld voor processen bij de overheid, audittrails, elektronische patiëntendossiers, nieuwe logistieke ketens en fabricage.

Na jaren van pilotprojecten en experimenten hopen we nu ook echte implementaties van blockchains bij bestaande organisaties en consortiums te gaan zien en ontwikkelen. Bij Berenschot ontwikkelen we ook een eigen blockchain-toepassing en implementeren we die voor onze managementadviesdiensten.