Blockchain

Simone Vermeend

Perry Smit

Blockchain

de technologie die de wereld

radicaal verandert

Einstein Books, Den Haag 2017

Simone Vermeend, Perry Smit 2017

© Einstein Books, Den Haag 2017

ISBN 978-94-92460-14-1

nur 781

Omslagontwerp: Wouter Fris

Uitgever: Theo Oskam

Dit is een uitgave van Einstein Books BV,

www.einsteinbooks.nl

Alle rechten voorbehouden. Niets uit deze uitgave mag worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever.

Voorwoord

Grijp de toekomst vandaag nog

Wie in januari 2017 op internet zoekt naar nieuws over blockchain komt de meest uiteenlopende onderwerpen tegen. Startup voorkomt ticketfraude met blockchain. Eerste blockchaintoepassing voor juridische overeenkomsten een feit. Is de blockchain nog wel te ‘blocken’ uit de muziekindustrie? Banken werken aan blockchain-app voor handelsfinanciering mkb. Buma/stemra kijkt naar blockchain voor rechten en betalingen.

Blockchain wordt wel als de tweede grote digitale revolutie na de introductie van het internet gezien. Maar wat is het eigenlijk en hoe kun je er zelf mee aan de slag? Daarover gaat dit boek. Vijfentwintig jaar geleden hadden veel mensen nog geen emailadres op internet. Wat moet ik daar mee, vroegen velen zich af. Nu speelt dezelfde vraag opnieuw: wat moet ik met een blockchainadres? Maar die toekomst is waarschijnlijk dichterbij dan menigeen denkt.

De introductie van het internet zorgde voor grote economische en maatschappelijke veranderingen. Voor het bedrijfsleven en voor overheden. Veel bedrijven grepen de nieuwe kansen en bouwden vaak een booming business op. De andere kant is dat bedrijven soms pijnlijk moesten ervaren dat er geen vraag meer was naar hun producten en diensten. Nog steeds worstelen hele branches met hun verdienmodel als gevolg van het feit dat informatie op nieuwe manieren beschikbaar is gekomen. Zo kan het ook gaan met de opkomst van blockchain.

Wat kan wel en wat kan niet met blockchain? Dat moeten bedrijven en overheden onderzoeken. Er is geen tijd te verliezen. We moeten proberen voorop te lopen in de ontwikkelingen. Dat is goed voor het bedrijfsleven. Of je nu een groot of klein bedrijf hebt. De hele Nederlandse economie kan ervan profiteren als we er met elkaar voor zorgen dat we vooroplopen in de ontwikkeling en het gebruik van blockchain. Het is noodzaak om natuurlijk in de eerste plaats de kansen, maar daarnaast ook de mogelijke risico’s onder ogen te zien. Die zitten niet alleen in het feit dat opnieuw branches in de problemen kunnen komen omdat de vraag naar hun producten kan verminderen of zelfs verdwijnen. Er zijn ook ethische vragen. Willen we als samenleving straks bijvoorbeeld dat alles wat kan, ook wordt toegestaan? Anonimiteit van blockchain is zo’n vraagstuk. Bij het zakendoen en voor overheden speelt het kunnen vaststellen van iemands identiteit een grote rol. Kan blockchain dat juist gemakkelijker maken en durven we dat maatschappelijk aan de technologie toe te vertrouwen?

Ik kan dit boek ieder van harte aanraden en in het bijzonder ondernemers, klein of groot. Het heeft een praktische opzet en geeft tips en oefeningen om zelf met blockchain aan de slag te gaan. Grijp de toekomst vandaag nog.

Ik wens u veel leesplezier en nieuwe ideeën toe.

Claudia Zuiderwijk-Jacobs,

voorzitter Raad van Bestuur Kamer van Koophandel

Februari 2017

Dankwoord

De volgende mensen willen we graag bedanken voor de hulp bij de totstandkoming van dit boek. Allereerst Joris van der Steuijt en Carlos Torres van LAB15 voor het bouwen van de blockchainexperimenten die in dit boek zijn verwerkt. LAB15 heeft het mogelijk gemaakt dat de lezers van dit boek toegang hebben tot een bijbehorende private blockchain. Wat voor ons begon als een stoute droom, heeft LAB15 waargemaakt. Een ander woord van dank gaat uit naar Ronald Wopereis (Red-Seadog – open source your business) voor het meermalen reviewen van de tekst en de ellenlange digitale sparringsessies in de kantlijn. Jacob Boersma (Deloitte) voor de kritische en uitgebreide final review en waardevolle feedback. Djuri Baars (Rabobank) en Louis de Bruin (IBM) voor jullie diepgaande blockchainkennis waar we af en toe uit mochten putten en voor de leuke suggesties met betrekking tot initiatieven waar wij nog geen weet van hadden. Henk van Cann (Blockchain Workspace) voor de goede discussie over identiteit en het signaleren van potentiële valkuilen. Familie mag in dit lijstje zeker niet ontbreken. Elly, Mart, Rens en Chris, bedankt voor jullie geduld en begrip in een periode dat we wat minder gezellig en aanwezig waren en bedankt voor het kritische en waardevolle tegenlezen.

Inleiding

Stel je eens voor dat…

… je geld onder voorwaarden kunt doneren aan een goed doel. Alleen wanneer de afgesproken minimumgrens wordt bereikt gaat de donatie door. Als de grens niet wordt bereikt, krijg je je geld automatisch terug. Zonder dat je hier iets voor hoeft te doen en zonder dat er een tussenpersoon aan te pas komt.

… de ambtenaar van de burgerlijke stand niet meer je huwelijk hoeft in te schrijven. Het maken van een foto en het zetten van handtekeningen door je familie is al genoeg is om voor de wet getrouwd te zijn. De registratie regel je zelf.

… je direct een kilowattuur energie aan een school in Afrika kunt doneren. Zonder dat het geld via een hulporganisatie loopt. Je selecteert zelf de school die je wilt helpen en zet vanachter je computer bij wijze van spreken zelf de stroom aan.

… veel administratieve processen automatisch worden afgehandeld. Bijvoorbeeld verschuldigde btw, die bij iedere transactie meteen afgedragen wordt. Dat scheelt ondernemers administratief werk en de Belastingdienst controlewerkzaamheden.

 we miljarden mensen die nu geen officiële identiteit hebben wel een digitale identiteit kunnen geven, zonder dat ze bij een centrale autoriteit, zoals de gemeente, langs hoeven te gaan.

… iedereen individueel, of groepen mensen een bankdienst kunnen ontwikkelen waarmee bijvoorbeeld spaargeld kan worden uitgeleend aan mensen die een huis willen kopen.

… je altijd iedereen – ook onbekenden – volledig kunt vertrouwen bij het doen van transacties, zonder dat je hierbij je vertrouwen legt in de handen van een derde partij.

… je met zekerheid de herkomst van een product kunt bepalen waarbij je exact alle schakels in de keten kunt nagaan.

Zouden we dit mogelijk kunnen maken?

Dit klinkt wellicht futuristisch. Het lijkt soms vergezocht. Maar er bestaat een technologie die dit mogelijk maakt. Een technologie die hoe wij met elkaar samenwerken, vertrouwen organiseren en onze samenleving inrichten fundamenteel gaat veranderen. Er wordt gezegd dat dit een technologische revolutie is, vergelijkbaar met de veranderingen en ontwikkelingen die het internet ons bracht. Deze technologie heet blockchain.

Zelf blockchainfuncties uitproberen

Er is iets gaande achter het fenomeen blockchain. Er wordt veel over gesproken, geblogd en YouTube stroomt langzaam vol met filmpjes. Het is wat ons betreft een belangrijke technologische ontwikkeling om te volgen. Het concept is helaas niet eenvoudig te begrijpen en doorgronden. Zelfs voor mensen met een technische achtergrond is het geen kant-en-klaar eenvoudig concept.

Met dit boek willen we handvatten bieden om je de wereld van blockchain eigen te maken. Het boek combineert daarom theorie en praktijk en biedt de mogelijkheid om zelf te ervaren hoe bepaalde functies op een blockchain werken. Deze mogelijkheid om te experimenteren met blockchainelementen vind je aan het einde van verschillende hoofdstukken, onder het kopje ‘Zelf blockchainfuncties uitproberen’. Op het moment dat je een functie tegenkomt, zal stap-voor-stap worden uitgelegd hoe het werkt.

Registreren om de blockchainfuncties uit te proberen!

Om de blockchainfuncties te kunnen uitproberen, dien je jezelf eerst te registreren op de website van www.blockchainboek.nl. Dit is mogelijk op twee manieren:

Optie 1: registreren met mobiel of tablet

Scan de unieke QR-code op de pagina hierna met de camera van je mobiel of tablet. Je wordt automatisch doorgestuurd naar www.blockchainboek.nl

De unieke code die onder de qr code staat, wordt automatisch ter verificatie gecontroleerd.

Volg de verdere stappen op de website om je te registreren.

Optie 2: registreren vanaf laptop of pc

Ga met je browser naar www.blockchainboek.nl.

Volg de stappen op deze pagina om je te registreren.
In deze registratie wordt naar de unieke code gevraagd, die je onder de QR-code aantreft.

Als je jezelf hebt geregistreerd kun je inloggen. Je ziet dan verschillende blockchainfuncties die je kunt uitproberen. Iedere functie kun je activeren door een code in te vullen in de balk onder het blokje. Deze codes kom je vanzelf tegen wanneer we de functies in het boek uitleggen. In bijlage 1 vind je meer informatie over de blockchain die bij dit boek hoort.

1. Wat is een blockchain?

Blockchain wordt regelmatig bestempeld als een revolutionaire techniek die de businessmodellen van verschillende bedrijven op zijn kop gaat zetten. Overheden, financiële instellingen, grote investeerders, toezichthouders, start-ups, de media; allemaal zijn ze de afgelopen tijd op deze nieuwe technologie gedoken. Hoewel de technologie nog in de kinderschoenen staat en volop in ontwikkeling is, proberen verschillende partijen zich voor te bereiden op het moment dat het een vlucht neemt. Er wordt volop geëxperimenteerd, er worden samenwerkingsverbanden opgericht, conferenties georganiseerd, whitepapers gepubliceerd, er wordt advies van experts ingeroepen; allemaal met het doel om erachter te komen wat blockchain voor ons gaat betekenen.

De onduidelijkheid is nog groot. Of blockchaintechnologie de hooggespannen verwachtingen waar gaat maken weet niemand. Het komt daarnaast niet alleen maar positief in het nieuws. Louche organisaties zien kansen om de technologie in te zetten voor criminele doeleinden. Banenverlies is eveneens een onderwerp dat vaak met blockchain wordt geassocieerd.

Er is wat ons betreft één zekerheid, en dat is dat het een interessante technologische ontwikkeling is om te begrijpen en in de gaten te houden. In dit hoofdstuk worden de basisprincipes van blockchain uitgelegd. In de hoofdstukken daarna worden verschillende elementen verder uitgediept.

1.1 Blockchain in het kort

Met blockchaintechnologie kun je transacties faciliteren tussen mensen die elkaar niet kennen en elkaar niet vertrouwen, zonder dat je daar een vertrouwde centrale partij bij nodig hebt. Een blockchain is daarmee een soort decentrale database. Deze database functioneert als een online, decentraal grootboek. Alle deelnemers aan een blockchain hebben toegang tot dit grootboek en kunnen een kopie krijgen, het bijwerken en bewaren.

Je kunt informatie opslaan op een blockchain. Maar in tegenstelling tot wat geldt voor een normale database, is een blockchain niet bedoeld om grote hoeveelheden informatie op te slaan. In plaats daarvan is het bedoeld om transacties of mutaties vast te leggen. Iedere mutatie in dit decentrale grootboek heet een transactie. Het systeem valideert dat transacties aan vooraf bepaalde spelregels voldoen. Verzoeken voor nieuwe transacties en goedgekeurde transacties worden direct verspreid onder alle deelnemers zodat iedereen altijd dezelfde informatie bezit.

Dit decentraal georganiseerde systeem met een overzicht van alle transacties zorgt er dankzij allerlei slimme technologie en wiskundige formules voor dat we overeenstemming kunnen bereiken over de ‘waarheid’ zonder dat we daarvoor een tussenpersoon nodig hebben.

1.2 Een netwerk van deelnemers

In het dagelijks leven komen we overal grootboeken en registers tegen waarin we belangrijke informatie noteren. Vroeger deden we dat met de hand. Wijzigingen werden in dikke boeken netjes onder elkaar gezet. Vandaag de dag stoppen we deze informatie veelal in digitale databases. Voorbeelden zijn banken die bijhouden hoeveel geld er op ieders rekening staat, het Kadaster dat huiseigenaarschap in zijn systeem registreert, de KvK die eigendom van bedrijven vastlegt, medische dossiers die informatie over jouw gezondheid bijhouden, de gemeentelijke administratie waarin staat wie waar woont etc.

Het is natuurlijk niet de bedoeling dat iedereen zomaar deze informatie kan aanpassen. Stel dat iedereen zelf de hoeveelheid geld op zijn rekening kon wijzigen of de eigendom van een huis kon aanpassen. Dat zou niet handig zijn. Daarom worden deze databases beheerd door een eigenaar. Deze eigenaar is de enige die de database kan wijzigen. Het is daarom van fundamenteel belang dat we de eigenaar vertrouwen en dat we geloven dat wat de eigenaar en de database beweren, de waarheid is.

Hier verschillen een blockchain en een traditionele database van elkaar. Informatie die we opslaan op een blockchain wordt namelijk niet beheerd door één eigenaar. Het wordt beheerd door heel veel verschillende mensen die deelnemen aan een blockchain. Elke deelnemer heeft een kopie van alle informatie die erin zit. Het is mogelijk om deel te nemen door bepaalde software op je computer te installeren. Het hele netwerk van computers met die software bezit en beheert daarmee de informatie in de blockchain. Tegelijkertijd is niemand eigenaar: niemand bezit een blockchain, maar iedereen die wil, kan eraan meedoen. Vergelijk dit met het internet. Ook dit is van niemand, maar je kunt wel besluiten eraan mee te werken.

Op een blockchain kan software worden geschreven. In die software vind je de instellingen, afspraken en regels die bij het opzetten van een blockchain zijn bepaald. Denk hierbij aan het doel van de blockchain, regels over hoe transacties plaatsvinden, hoe die transacties in het grootboek worden geregistreerd en in welke ‘taal’ er onderling door de computers in het netwerk gecommuniceerd wordt. In de software kunnen ook afspraken vastgelegd worden over hoe de deelnemers aan het netwerk worden beloond voor het feit dat ze alles wat er in het grootboek gebeurt constant controleren en valideren. Nu controleren ze dit niet met de hand, maar met behulp van computers. Hiervoor is flink wat rekenkracht en als gevolg daarvan energie nodig. Om de deelnemers aan het netwerk hiervoor te belonen, kunnen er beloningsafspraken worden geprogrammeerd in de software die bij een blockchain hoort. Hoe dat belonen precies werkt, wordt verder uitgelegd in hoofdstuk 5.

Iedereen die deelneemt aan een blockchain heeft dus een kopie, heeft te allen tijde toegang tot de informatie die erop staat en kan zelf controleren of wat erin staat juist is.

1.3 Vereeuwigde registratie

Een blockchain gaat op een bijzondere manier om met wijzigingen. Wanneer er nieuwe informatie wordt toegevoegd aan een blockchain, wordt de toevoeging, na controle of deze correct is, direct door alle deelnemers aan het netwerk overgenomen. Er vindt geen tijdrovende en foutgevoelige synchronisatie plaats tussen databases. In plaats daarvan neemt iedereen de nieuwe informatie meteen op in de eigen kopie van de blockchain.

Door allerlei beveiligingsmechanismen is het niet mogelijk om informatie die op een blockchain is vastgelegd te verwijderen, te vervangen of aan te passen. In plaats daarvan worden op een blockchain alle acties en wijzigingen onder elkaar genoteerd. Een deelnemer kan alleen maar regels toevoegen die de wijziging weergeven, maar wat eerder is genoteerd niet verwijderen of aanpassen. Door het toevoegen van een nieuwe regel informatie (een nieuwe grootboekregel of journal entry) kun je wel iets ongedaan maken, bijvoorbeeld door te zeggen ‘ik trek uitspraak X terug’, waarbij X verwijst naar eerder toegevoegde informatie. Deze informatie over wijzigingen wordt constant verzameld, gevalideerd en in een pakketje (een blok) gebundeld en toegevoegd aan de blockchain.

Tot slot wordt ieder nieuw blok met informatie van een tijdstempel (Engels: timestamp) voorzien. Dit betekent dat je kunt nagaan wanneer informatie exact werd toegevoegd. Deze opzet betekent ook dat je alles wat op een blockchain staat tot het allereerste begin kunt herleiden. Dit begin wordt gevormd door een eerste blok, dat het ‘genesis-blok’ wordt genoemd. De hele historie van een blockchain, bestaande uit de verschillende blokken met informatie en tijdstempel, zijn hierdoor te allen tijde te bekijken en controleren.

Je kunt je voorstellen dat deze vereeuwigde registratie, die voorzien is van een tijdstempel, voor verschillende toepassingen een interessante eigenschap is. Denk hierbij aan de registratie van overdracht van goederen.

Stel je koopt online een mobiele telefoon van iemand. Volgens de eigenaar is de telefoon slechts een jaar oud en goed onderhouden. De verkoper kan het weten, want hij beweert de eerste en enige eigenaar te zijn geweest. Vandaag de dag heb je als koper weinig middelen om te controleren of dit klopt en of de persoon niet de tweede of zelfs de derde eigenaar was. Je kunt om de bon vragen, maar die kan de verkoper ook van een vorige eigenaar hebben gekregen. Als de eigenaar bij aankoop het bonnetje had gefotografeerd, eventueel zijn naam erop had geschreven en dat op een blockchain had gezet, was dit gemakkelijker geweest. De verkoper kan dan laten zien op welk moment in de tijd de telefoon zijn of haar bezit werd.

Je besluit de telefoon te kopen. De transactie wordt vastgelegd op een blockchain. Hiervoor stuurt de verkoper van de telefoon de foto van het oorspronkelijke bonnetje naar jouw adres op een blockchain. Op deze bon staat het serienummer van de telefoon. Zo kun je controleren of de bon ook daadwerkelijk van de telefoon is die je hebt gekocht.

Mocht jij ooit besluiten de telefoon weer door te verkopen, dan kun je aantonen dat jij de tweede eigenaar bent geweest en hoe lang je de telefoon hebt gebruikt.

In dit proces wordt overigens niet de foto zelf, maar een gecodeerde versie van de foto in een blockchain opgenomen. Je moet dit zien als een verwijzing naar de originele foto. Op de blockchain zie je in plaats van de foto een serie van cijfers en letters verschijnen. Dit fenomeen heet ‘hashing’ en wordt toegelicht in hoofdstuk 4.3.

Tot slot werkt dit proces alleen voor fysieke objecten die uniek identificeerbaar zijn. In het geval van de telefoon bijvoorbeeld door middel van het serienummer. Anders is het niet mogelijk om – zonder tussenkomst van een vertrouwde derde partij – te controleren of de digitale en fysieke wereld met elkaar in overeenstemming zijn.

1.4 Het gaat altijd over transacties

Conceptueel kun je stellen dat alles wat er op een blockchain geschreven wordt een transactie is. Een transactie is een mutatie van eigendom, een waardeoverdracht van de ene eigenaar naar de andere. De meest voor de hand liggende vormen betreffen geldtransacties en de overdracht van bezittingen zoals een huis, een auto of een stuk grond. Als waardevolle goederen worden overgedragen leggen we dit meestal vast. Dit vastleggen is belangrijk om later te kunnen bewijzen wie de rechtmatige eigenaar van iets is. Deze informatie zelf heeft voor ons daarom waarde. Op een iets abstracter niveau vertegenwoordigt ook informatie over wie bijvoorbeeld een patent of de rechten van bepaalde muziek heeft waarde. Het is eigendom: intellectuele eigendom.

Dit begrip van waarde is een belangrijk element om blockchain te begrijpen. Wijzigingen op een blockchain worden uitgevoerd door nieuwe regels of nieuwe informatie toe te voegen. Dit is in de basis een transactie: een overdracht of toevoeging van nieuwe informatie die voor ons mensen op de een of andere manier waarde vertegenwoordigt. Transacties kun je op verschillende manieren definiëren en uitleggen. Maar in de context van blockchain verwijzen we met een transactie dus naar de overdracht van waarde.