Dit e-boek is voorzien van een verborgen, persoonlijk watermerk.
Het verspreiden of openbaar maken van dit e-boek is niet toegestaan.

This e-book contains a hidden and personal watermark. Distribution is prohibited.

Inhoud

INLEIDING

DEEL 1:          AAN DE SLAG MET BLOCKCHAINS

HOOFDSTUK 1: Kennismaken met blockchains

Beginnen bij het begin: wat zijn blockchains?

Wat doen blockchains?

Waarom zijn blockchains zo belangrijk?

De structuur van blockchains

Blockchaintoepassingen

Blockchain: levenscyclus

Consensus: de drijvende kracht van blockchains

Blockchains in actie

Huidige blockchaintoepassingen

Toekomstige blockchaintoepassingen

HOOFDSTUK 2: Een blockchain kiezen

Waarvoor gebruik je blockchains

Wat wil je?

Je doel definiëren

Kies een oplossing

Een blockchainbeslisboom tekenen

Een projectplan opstellen

HOOFDSTUK 3: Je eerste stap in de blockchainwereld

De Bitcoin-blockchain verkennen

Je eerste Bitcoin wallet maken

Je tweede Bitcoin wallet

Een persoonlijk Bitcoin-adres (vanity adress)

Je vanity address overzetten

Een transactie (entry) maken in de Bitcoin-blockchain

Een blockchaintransactie in Bitcoin

Smart contracts met Bitcoin

Je eerste smart bond

De status van je contract controleren

Een besloten (private) blockchain met Docker en Ethereum

Je computer voorbereiden

Je blockchain bouwen

DEEL 2:          JE KENNIS ONTWIKKELEN

HOOFDSTUK 4: De Bitcoin-blockchain bekijken

Een beknopte geschiedenis van de Bitcoin-blockchain

Algemene Bitcoin-misvattingen ontmaskeren

Bitcoin: het nieuwe Wilde Westen

Nepsites

Nee, jij eerst!

Snel rijk worden

Bitcoins minen

Je eerste papieren wallet

HOOFDSTUK 5: Kennismaken met de Ethereumblockchain

Ethereum: een korte voorgeschiedenis

Ethereum: de opensourcewereldcomputer

Decentrale toepassingen: welkom in de toekomst

De kracht van decentrale autonome organisaties

Een blockchain hacken

Inzicht in smart contracts

De cryptovaluta ether

Aan de slag met Ethereum

Ether minen

Je Ethereum wallet maken

Je eerste Decentrale Autonome Organisatie bouwen

Testnet en congress

Het bestuur en stemmen

De toekomst van DAO’s

In een DAO investeren

Slimmere smart contracts

Bugs in het systeem opsporen

HOOFDSTUK 6: De Ripple-blockchain

Een korte geschiedenis van de Ripple-blockchain

Ripple: alles draait om vertrouwen

Het verschil tussen Ripple en andere blockchains

Alle mogelijkheden van Ripple benutten

Wees voorzichtig met Ripple

HOOFDSTUK 7: De Factom-blockchain

Een kwestie van vertrouwen

Het doel van de Factom-blockchain: publiceren

Stimuleren om samen te werken

Bouwen op Factom

Authenticatie van documenten en creëren van identiteiten met behulp van API’s

Kennismaken met de factoid: geen normale token

Je toepassing positioneren

Transparantie opbouwen in de hypotheeksector

Controle van fysieke documenten: dLoc met Factom

HOOFDSTUK 8: DigiByte

DigiByte leren kennen: de snelle blockchain

Minen in DigiByte

Documenten op DiguSign van DigiByte ondertekenen

DigiBytes verdienen door te gamen

DEEL 3:          KRACHTIGE BLOCKCHAINPLATFORMS

HOOFDSTUK 9: De hand leggen op Hyperledger

Kennismaken met Hyperledger: dromen van een hypertoekomst

Focussen op Fabric

Je systeem bouwen in Fabric

Chaincode-ontwikkeling

Het Iroha-project onderzoeken

Sumeragi: het nieuwe consensusalgoritme

Mobiele apps

In Sawtooth duiken

Het consensusalgoritme: Proof of Elapsed Time

Sawtooth starten

HOOFDSTUK 10: Microsoft Azure

Azure Blockchain Workbench: de modulaire blockchainstructuur

Cryptlets voor versleuteling en verificatie

Cryptlets: Utility en Contract Cryptlets en CrytoDelegates

In het Azure-ecosysteem bouwen

Aan de slag met Chain op Azure

Chains distributed ledger installeren

Je eigen besloten netwerk opzetten

Financiële diensten gebruiken op Azure’s Chain

Blockchaintools op Azure

Ethereum op Azure

Cortana: je tool voor machine learning en analysis

Je gegevens visualiseren met Power BI

Toegangsbeheer op Azure’s Active Directory

HOOFDSTUK 11: Aan de slag met IBM Cloud

Blockchain op IBM Cloud

Je afgezonderde omgeving

Bluemix use cases

Watsons slimme blockchain

Je eerste netwerk op Big Blue

DEEL 4:            IMPACT OP BEDRIJFSTAK

HOOFDSTUK 12: Financiële technologie

Je kristallen bol erbij pakken: toekomstige ontwikkelingen in het bankwezen

Geld sneller verplaatsen: internationaal en meer

Een permanente historie

Internationaal: wereldwijde financiële producten

Internationale loonlijst

Sneller en beter traden

Gegarandeerde betalingen

Micropayment: nieuwe transactievorm

Fraude uitbannen

HOOFDSTUK 13: Onroerend goed

Title Insurance afschaffen

Aan- en verkoop onroerend goed: betrokken partijen

Hypotheken in de blockchainwereld

Afsluitkosten verlagen

Je laatste bewerking van een document

Regionale trends voorspellen

De Verenigde Staten en Europa: infrastructuur als bottleneck

China: koploper

Ontwikkelingslanden: obstakels voor de blockchain

HOOFDSTUK 14: Verzekeringsbranche

Dekking op maat

Individuen verzekeren

De nieuwe wereld van microverzekeringen

Let op: Internet of Things

IoT-projecten in de verzekeringsbranche

Gevolgen van big data

Een verzekeringswereld zonder tussenpersonen

Gedecentraliseerde veiligheid

Crowdfunding

De gevolgen van DAO-verzekering

HOOFDSTUK 15: Overheid

Slimme steden van Azië

Satellietsteden van Singapore in India

Het bigdataprobleem van China

De strijd om de financiële hoofdstad van de wereld

Vooruitziende blik van Londen

Maatwerk voor innovatie in Singapore

Het Dubai 2020-plan

Bitlicense wettelijk kader: New York City

Grensbeveiliging

Het Department of Homeland Security en de Identity of Things

Paspoorten van de toekomst

Nieuwe manieren voor authenticatie

HOOFDSTUK 16: Andere bedrijfstakken

Lean overheden

Singapore’s Smart Nation-project

Estlands e-Residency

Betere notarisatie in China

De vertrouwenslaag voor internet

Spamvrije e-mail

Zelf je identiteitsgegevens bezitten

Oracle in de Blockchain

Vertrouwde gegevensverstrekker

Intellectuele eigendomsrechten

DEEL 5:           HET DEEL VAN DE TIENTALLEN

HOOFDSTUK 17: Tien gratis blockchainbronnen

Factom University

Ethereum Community

Op Ripple bouwen

Programmeerbaar geld met Ripple

DigiKnow

Blockchain University

Bitcoin Core

Blockchain Alliance

Multichain-blog

HiveMind

HOOFDSTUK 18: Tien blockchainregels die je nooit mag overtreden

Gebruik geen cryptovaluta of blockchains om de wet te omzeilen

Houd je contracts zo eenvoudig mogelijk

Wees voorzichtig met publiceren

Back-up, back-up, back-up je private keys

Controleer meerdere keren het adres voordat je valuta verstuurt

Wees voorzichtig als je beurzen gebruikt

Pas op met wifi

Op zoek naar een blockchainontwikkelaar

Laat je niet bedotten

Handel niet in tokens, tenzij je weet wat je doet

HOOFDSTUK 19: Bijna tien topblockchainprojecten

Het R3-consortium

T ZERO: de aandelenmarkt op

De gedistribueerde systemen van Blockstream

De blockchain van OpenBazaar

Code Valley: vind je ontwikkelaar

Digitale assets van Bitfury

ShapeShift kan elk valutatype aan

Anonieme transacties op Dash

ConsenSys: decentrale toepassingen

Over de auteur

Tiana Laurence is medeoprichtster van Factom, Inc. en was een vroege Bitcoin-liefhebber. Haar passie is het opzetten van succesvolle bedrijven. Tiana is een serieondernemer en begon haar eerste bedrijf op haar zestiende. Ze houdt ervan om jonge ambitieuze ondernemers meer te leren over bedrijfsvoering en technologie. Tiana heeft een BA in Business and Leadership van de Portland State University. Als Tiana niet aan haar bedrijf werkt of nerdy is, is ze te vinden in Austin, Texas, waar ze hardloopt of rotsen beklimt.

Opdracht

Dit boek draag ik op aan Crystal en Jessica, voor alle steun en aanmoediging die ze me gaven toen ik dit boek schreef.

Dankwoord

Dit boek is het product van de ideeën en het werk van veel mensen. Het zou niet mogelijk zijn geweest zonder de open en ondersteunende blockchain- en cryptowereld. Ik wil met name Paul Snow, Peter Kirby, Brian Deery en David Johnston bedanken voor de talloze uren die ze besteed hebben om me meer te leren over blockchain en cryptografie. Ik wil ook graag Abhi Dobhal, Lawrence Rufrano, Ryan Fugger, Charley Cooper, Alyse Killeen, Jeremy Kandah, Clemens Wan, Greg Wallace, Brian Behlendorf, Amir Chetrit, Jared Tate, Casey Lawlor en Scott Robinson bedanken voor het wegwijs maken in de zich verder ontwikkelende blockchainwereld. En dat ze de tijd hebben genomen in hun drukke leven om mijn werk te lezen en te controleren.

Dit boek vergde ook veel redactiewerk. Ik meen het, het was echt veel redactiewerk. Mijn projectredacteur, Elizabeth Kuball, heeft het geweldig gedaan om mij bij de les en op schema te houden en Steve Hayes, mijn hoofdredacteur, heeft het hele boek mogelijk gemaakt. Ik wil ook Scott Robinson nogmaals bedanken voor zijn grondige technische beoordeling en uitstekende suggesties, evenals redacteur Pat O’Brien en alle andere mensen achter de schermen, die ondankbaar werk hebben verricht om dit boek tot stand te brengen. Ik sta voor altijd bij hen in het krijt.

Inleiding

WWelkom bij Blockchain voor Dummies! Als je wilt weten wat blockchains zijn en hoe je ze het beste kunt gebruiken, is dit hét boek voor jou. Veel mensen denken dat blockchains erg moeilijk en ingewikkeld zijn. Ze denken vaak ook aan cryptovaluta (digitaal betaalmiddel) zoals bitcoin, maar ze zijn zoveel meer. Iedereen kan de grondbeginselen van blockchains onder de knie krijgen.

In dit boek staan nuttige adviezen die je helpen om je weg door de blockchainwereld en de cryptovaluta te vinden. Je vindt er ook praktische stap-voor-staphandleidingen die je inzicht geven in hoe blockchains werken en waar ze waarde toevoegen. Je hoeft geen programmeerachtergrond te hebben of te zijn geschoold in de economie of wereldpolitiek. Toch stip ik al deze onderwerpen aan omdat de blockchaintechnologie ze allemaal raakt.

Over dit boek

Dit boek legt de basis uit van blockchains, smart contracts (slimme contracten) en cryptovaluta. Waarschijnlijk lees je dit boek omdat je over blockchains hebt gehoord. Je weet dat ze belangrijk zijn, maar je hebt geen idee wat ze zijn, hoe ze werken of waarom je je ermee bezig zou moeten houden. Je krijgt op al deze vragen antwoorden in begrijpelijke bewoordingen.

Dit boek is een beetje anders dan de andere blockchainboeken. Je krijgt een overzicht van alle belangrijke blockchains in de openbare markt, hoe ze werken, wat ze doen, en welke nuttige dingen je er momenteel mee kunt doen.

Je zet je eerste stappen in het landschap van de blockchaintechnologie waarbij het boek je wijst op enkele belangrijke aandachtspunten voor je eigen blockchainprojecten. Je komt ook te weten hoe je een Ethereum wallet installeert, een smart contract maakt en uitvoert, toegang krijgt tot Bitcoin en Factom en cryptovaluta kunt verdienen.

Je hoeft het boek niet van omslag tot omslag te lezen. Ga gewoon naar het onderwerp waarin je geïnteresseerd bent.

Tot slot zie je dat sommige webadressen afgebroken worden naar de volgende regel. Als je de papieren versie van dit boek leest en een van deze websites wilt bezoeken, voer dan gewoon het webadres in zoals het in de tekst staat, maar dan zonder afbreekstreepje. Met een e-boek is het een stuk gemakkelijker – klik gewoon op het webadres en je gaat direct naar de webpagina.

Dwaze veronderstellingen

Ik heb niet veel aannamen over jou en je ervaring met cryptovaluta, het programmeren, en wettelijke kwesties maar ik veronderstel wel het volgende:

Je hebt een computer en toegang tot internet.

Je kent de basisprincipes van je computer en internet.

Je weet hoe je door menu’s binnen programma’s navigeert.

Je bent nieuw in blockchains en je bent geen ervaren programmeur. Natuurlijk, als je een ervaren programmeur bent, kun je nog steeds veel uit dit boek halen – je slaat gewoon sommige stap-voor-stapinstructies over.

De pictogrammen in dit boek

In dit boek gebruik ik in de kantlijn pictogrammen om je aandacht te vestigen op bepaalde informatie. Dit zijn de pictogrammen en hun betekenis:

Een tip is een suggestie, speciale truc of iets handigs waardoor je gemakkelijker met blockchains kunt werken.

Dit pictogram markeert informatie die de moeite waard is om te weten. Deze zaken kun je maar beter niet vergeten. Als je de belangrijkste informatie in elk hoofdstuk wilt oppikken, blader dan door deze pictogrammen.

Dit is erg technische informatie die je kunt overslaan zonder de hoofdlijnen van het onderwerp te missen.

Dit pictogram geeft aan dat je moet oppassen! Het wijst op iets wat je moet vermijden om je hoofdpijn te besparen.

Hoe verder?

Je kunt blockchaintechnologie toepassen op vrijwel elk bedrijfsdomein. Op dit moment is er een explosieve groei in de financiële sector, de gezondheidszorg, de overheid en de verzekeringssector, en dit is nog maar het begin. De wereld verandert en de mogelijkheden zijn eindeloos.

1

Aan de slag met blockchains

IN DIT DEEL . . .

Ontdek je waar blockchains over gaan en hoe ze je organisatie kunnen helpen.

Identificeer je het juiste type technologie en de vier stappen voor de ontwikkeling en uitvoering van een effectief blockchainproject.

Maak je je eigen smart contracts in Bitcoin en bepaal je waar deze technologie in je organisatie het beste kan worden toegepast.

Maak je kennis met de hulpmiddelen die je nodig hebt om je eigen private (besloten) blockchain in Ethereum op te zetten.

Hoofdstuk 1

Kennismaken met blockchains

IN DIT HOOFDSTUK

De nieuwe wereld van blockchains ontdekken

Begrijpen waarom ze ertoe doen

De drie soorten blockchains identificeren

Meer weten over hoe blockchains werken

Oorspronkelijk was blockchain slechts de computerterm voor het structureren en delen van gegevens. Tegenwoordig worden blockchains geprezen als de ‘vijfde evolutie’ van de computertechnologie.

Blockchains zijn een nieuwe benadering van de gedistribueerde database. De innovatie komt voort uit oude technologie die op nieuwe manieren wordt toegepast. Je kunt blockchains beschouwen als gedistribueerde databases die door een groep individuen wordt beheerd. Ze slaan de gegevens op en delen ze.

Er zijn veel verschillende soorten blockchains en blockchaintoepassingen. Blockchain is een allesomvattende technologie die over de hele wereld op alle platforms en hardware wordt geïntegreerd.

Beginnen bij het begin: wat zijn blockchains?

Een blockchain is een datastructuur die het mogelijk maakt om een digitaal ledger (grootboek) met gegevens samen te stellen en te delen met een netwerk van onafhankelijke partijen. Er bestaan veel verschillende soorten blockchains.

Openbare (public) blockchains. Openbare blockchains, zoals Bitcoin, zijn grote gedistribueerde netwerken die door een native token worden beheerd. Iedereen kan op elk niveau deelnemen met opensourcecode die de gemeenschap zelf onderhoudt.

Permissioned blockchains. Permissioned blockchains, zoals Ripple, beheren de rollen van individuen binnen het netwerk. Het zijn nog steeds grote en gedistribueerde systemen die gebruikmaken van een native token. Hun kerncode kan al dan niet open source zijn.

Besloten (private) blockchains. Besloten blockchains zijn over het algemeen kleiner en maken geen gebruik van een token. Het lidmaatschap wordt nauwlettend gecontroleerd. Dit soort blockchains zijn favoriet bij consortia met vertrouwde leden en die vertrouwelijke informatie verhandelen.

Deze drie soorten blockchains maken gebruik van cryptografie. Hiermee kan elke deelnemer van een bepaald netwerk de ledger (digitaal grootboek) op een veilige manier beheren zonder dat er een centrale autoriteit nodig is om de regels te handhaven. Het ontbreken van een centrale autoriteit bij de databasestructuur is een van de belangrijkste en krachtigste aspecten van blockchains.

Blockchains creëren records en transactiehistories die permanent (onveranderbaar) zijn, maar niets is echt permanent. Hoe permanent de record is, is gebaseerd op hoe permanent het netwerk is. In de context van blockchains betekent dit dat een groot deel van de blockchaingemeenschap moet instemmen met het veranderen van de gegevens en worden gestimuleerd om de gegevens niet te veranderen.

Wanneer gegevens in een blockchain worden opgenomen, is het erg moeilijk om ze te wijzigen of te verwijderen. Wanneer iemand een record wil toevoegen aan een blockchain, ook wel een transactie of een entry genoemd, verifiëren gebruikers in het netwerk die validatiecontrole hebben de voorgestelde transactie. Hier wordt het lastig omdat bij elke blockchain iets andere afspraken gelden voor hoe dit in zijn werk gaat en andere gebruikers transacties valideren.

Wat doen blockchains?

Een blockchain is een peer-to-peersysteem zonder centrale autoriteit die de gegevensstroom beheert. Een groot gedistribueerd netwerk van onafhankelijke gebruikers is belangrijk om de centrale controle uit te schakelen en tegelijkertijd de gegevensintegriteit te handhaven. Dit betekent dat de computers waaruit het netwerk is opgebouwd zich op meer dan een locatie bevinden. Deze computers worden vaak full nodes genoemd.

In figuur 1.1 zie je een visualisatie van de structuur van het Bitcoin-blockchainnetwerk. Je kunt het in actie zien op http://dailyblockchain.github.io.

FIGUUR 1.1:
De structuur van het Bitcoin-blockchainnetwerk.

Om te voorkomen dat het netwerk onbetrouwbaar wordt, zijn blockchains niet alleen gedecentraliseerd, maar maken ze vaak ook gebruik van cryptovaluta. Cryptovaluta is een digitaal token (betaalmiddel) dat een marktwaarde heeft. Cryptovaluta worden verhandeld op beurzen zoals aandelen.

Cryptovaluta werken bij elke blockchain iets anders. Feitelijk zorgt de software dat de hardware werkt. De software is het blockchainprotocol. Bitcoin, Ethereum, Ripple, Hyperledger en Factom zijn enkele bekende blockchainprotocollen. De hardware bestaat uit de full nodes die de gegevens beveiligen in het netwerk.

Waarom zijn blockchains zo belangrijk?

Blockchains worden nu erkend als de ‘vijfde evolutie’ van de computertechnologie, de ontbrekende ‘vertrouwenslaag’ voor internet. Dit is een van de redenen waarom zoveel mensen enthousiast zijn geworden over dit onderwerp.

Blockchains kunnen zorgen voor vertrouwen (trust) in digitale gegevens. Wanneer gegevens in een blockchaindatabase zijn vastgelegd, is het bijna onmogelijk om ze te verwijderen of te wijzigen. Dit is volledig nieuw.

Wanneer gegevens permanent (onveranderbaar) en betrouwbaar zijn in een digitaal formaat, kun je online zakendoen op een manier die in het verleden alleen offline mogelijk was. Alles wat tot nu toe analoog is gebleven, inclusief eigendomsrechten en identiteit, kun je nu online regelen en onderhouden. Trage bedrijfs- en bankprocessen, zoals bijvoorbeeld bankafschrijvingen en fondsafwikkelingen, kunnen nu vrijwel direct worden uitgevoerd. De implicaties voor veilige digitale records zijn enorm voor de wereldeconomie.

De eerste toepassingen werden ontwikkeld om mee te liften op de veilige digitale gegevensoverdracht van blockchains door te handelen via hun native tokens. Hierbij moet je denken aan zaken als het verplaatsen van geld en assets. Maar de mogelijkheden van de blockchainnetwerken gaan veel verder dan valutatransacties.

De structuur van blockchains

Blockchains bestaan uit drie kerndelen:

Blok (block). Dit is een lijst van transacties die in een bepaalde periode in een ledger zijn opgenomen. Voor elke blockchain zijn de grootte, de periode en de triggers voor blokken verschillend.

Niet voor alle blockchains is het vastleggen en beveiligen van hun cryptotransacties het primaire doel. Maar ze leggen wel allemaal de transacties van hun cryptovaluta of token vast. Denk bij een transactie simpelweg aan het vastleggen van gegevens. Het toekennen van een waarde (zoals bij een financiële transactie) wordt gebruikt om de gegevens te interpreteren.

Keten (chain). Dit is een hash die het ene blok met het andere verbindt en ze wiskundig aan elkaar ‘koppelt’. Dit is een van de moeilijkst te begrijpen concepten in de keten. Het is ook de magie die blockchains aan elkaar lijmt en zo wiskundig vertrouwen creeërt.

De hash in de blockchain wordt gemaakt van de gegevens die in het vorige blok stonden. De hash is een vingerafdruk van deze gegevens en vergrendelt blokken in volgorde en tijd.

Blockchains zijn relatief nieuw. Dit geldt niet voor hashing. Hashing werd meer dan 30 jaar geleden uitgevonden. Deze oude techniek wordt gebruikt omdat het een eenrichtingsfunctie maakt die niet kan worden ontcijferd. Een hashfunctie creëert een wiskundig algoritme dat gegevens van elke grootte koppelt aan een bitreeks van een vaste grootte. Een bitreeks is normaal gesproken 32 karakters lang. Dit zijn de gegevens voor hashing. Het Secure Hash Algorithm (SHA) is een van de cryptografische hashfuncties die in blockchains wordt gebruikt. SHA-256 is een gemeenschappelijk algoritme dat een bijna unieke, vaste hash van 256 bits (32 bytes) genereert. Je kunt een hash zien als een digitale vingerafdruk van gegevens die wordt gebruikt om ze te vergrendelen binnen de blockchain.

Netwerk. Het netwerk bestaat uit ‘full nodes’. Je kunt ze beschouwen als de computer met een algoritme dat het netwerk beveiligt. Elke node bevat een volledige record van alle transacties die ooit in die blockchain hebben plaatsgevonden.

De nodes bevinden zich over de hele wereld en kunnen door iedereen bediend worden. Het is moeilijk, duur en tijdrovend om een full node te bedienen. Mensen doen het dus niet gratis. Het is aantrekkelijk om een node te bedienen omdat je er cryptovaluta mee kunt verdienen. Het onderliggende blockchainalgoritme beloont je voor je diensten. De beloning is meestal een token of cryptovaluta, zoals de bitcoin.

De termen Bitcoin en blockchain worden vaak door elkaar gebruikt, maar ze zijn niet hetzelfde. Bitcoin bevat een blockchain. De Bitcoin-blockchain is het onderliggende protocol dat de veilige overdracht van bitcoins mogelijk maakt. De term bitcoin is de naam van de cryptovaluta waarop het Bitcoin-netwerk draait. De blockchain is software en de bitcoin is een specifieke cryptovaluta.

Blockchaintoepassingen

Blockchaintoepassingen zijn opgebouwd rond het idee dat het netwerk de scheidsrechter is. Dit soort systemen vormen een onverbiddelijke omgeving. Computercode is de wet en regels worden uitgevoerd zoals ze zijn geschreven en geïnterpreteerd door het netwerk. Computers hebben niet dezelfde sociale vooroordelen en gedragingen als mensen.

Het netwerk kan (nog) geen intentie interpreteren. De use case waarbij verzekeringscontracten in een blockchain worden afgehandeld is intensief onderzocht. Blockchains maken ook een onberispelijke registratie mogelijk. Hiermee kun je een duidelijke tijdlijn maken van wie wat wanneer heeft gedaan. Veel bedrijfstakken en regelgevende instanties besteden daar veel tijd aan. Registreren met blockchains maakt het gemakkelijker om de historie te interpreteren.

Blockchain: levenscyclus

Blockchains ontstonden met de creatie van Bitcoin. Het toonde aan dat een groep individuen die elkaar nog nooit hadden ontmoet online kon werken binnen een systeem dat ongevoelig was voor bedrog op het netwerk.

Het oorspronkelijke Bitcoin-netwerk is gebouwd om de bitcoincryptovaluta te beveiligen. Het heeft ongeveer 5000 full nodes en is wereldwijd verspreid. Het wordt voornamelijk gebruikt om bitcoins te verhandelen en waarde uit te wisselen, maar de gemeenschap zag het potentieel om veel meer te doen met het netwerk. Vanwege de omvang en de beproefde beveiliging wordt het Bitcoin-netwerk ook gebruikt voor het beveiligen van andere kleinere blockchains en blockchaintoepassingen.

Het Ethereum-netwerk is de tweede evolutie van het blockchainconcept. Het gaat uit van de traditionele blockchainstructuur en voegt er een programmeertaal aan toe. Net als Bitcoin heeft het meer dan 5000 full nodes en is het wereldwijd verspreid. Ethereum wordt vooral gebruikt om ethers te verhandelen, smart contracts te maken en Decentrale Autonome Organisaties (DAO’s) op te richten. Het wordt ook gebruikt om blockchaintoepassingen en kleinere blockchains te beveiligen.

Het Factom-netwerk is de derde evolutie in de blockchaintechnologie. Het maakt gebruik van een lichter consensussysteem, omvat een ‘stemmechanisme’ waarbij gebruikers mogen meebeslissen en het slaat veel meer informatie op. Het netwerk is voornamelijk ontwikkeld om gegevens en systemen te beveiligen. Factom werkt met federated nodes en een onbeperkt aantal auditing nodes. Omdat het netwerk klein is, verankert het zich in andere gedistribueerde netwerken via bestaande blockchains.

Consensus: de drijvende kracht van blockchains

Blockchains zijn krachtige hulpmiddelen omdat ze eerlijke systemen realiseren die zichzelf corrigeren zonder de noodzaak van derden om de regels af te dwingen. Ze handhaven de regels via hun consensusalgoritme.

In de blockchainwereld is consensus het proces van het ontwikkelen van een overeenkomst tussen een groep belanghebbenden die elkaar vaak wantrouwen. Dit zijn de full nodes in het netwerk. De full nodes valideren transacties die worden ingebracht in het netwerk om te worden vastgelegd in de ledger.

In figuur 1.2 zie je hoe blockchains tot overeenstemming komen.

Elke blockchain heeft zijn eigen algoritmen voor het bereiken van overeenstemming over de entry’s die worden ingebracht in zijn netwerk. Er zijn veel verschillende modellen voor het bereiken van consensus, omdat elke blockchain verschillende soorten entry’s maakt. Sommige blockchains vertegenwoordigen handelswaarde, andere de opslag van gegevens en weer andere de beveiliging van systemen en contracten.

FIGUUR 1.2:
Hoe blockchains werken.

Bitcoin verhandelt bijvoorbeeld de waarde van zijn token tussen leden op zijn netwerk. De tokens hebben een marktwaarde, dus de eisen met betrekking tot prestaties, schaalbaarheid, consistentie, dreiging en falen zullen hoger zijn. Bitcoin gaat ervan uit dat een kwaadwillende aanvaller de handel kan verstoren door tokens te stelen. Bitcoin voorkomt dit door gebruik te maken van een consensusmodel dat ‘proof of work’ heet en dat het klassieke wiskundige probleem van de Byzantijnse generaals oplost: ‘Hoe weet je dat de gegevens die je bekijkt niet intern of extern zijn veranderd?’ Omdat het veranderen of manipuleren van gegevens bijna altijd mogelijk is, is de betrouwbaarheid van gegevens een groot probleem voor de computerwetenschap.

De meeste blockchains werken vanuit de premisse dat ze aangevallen worden door krachten van buitenaf of door gebruikers van het systeem. De verwachte bedreiging en het vertrouwen dat het netwerk heeft in de nodes die de blockchain beheren, bepalen het type consensusalgoritme voor de afwikkeling van de ledger (digitale grootboek). Bitcoin en Ethereum verwachten bijvoorbeeld een zeer hoog dreigingsniveau en maken gebruik van een sterk consensusalgoritme: proof of work. Er is geen vertrouwen (trust) binnen het netwerk.

Aan de andere kant van het spectrum kunnen blockchains die worden gebruikt om financiële transacties tussen bekende partijen vast te leggen, gebruikmaken van een lichtere en snellere vorm van consensus. De behoefte aan snelle transacties is in dit geval belangrijker. Proof of work is dan te traag en te duur omdat er relatief weinig deelnemers binnen het netwerk zijn en elke transactie onmiddellijk moet worden afgerond.

Blockchains in actie

Vandaag de dag bestaan er honderden blockchains en blockchaintoepassingen. Wereldwijd is men geobsedeerd geraakt door ideeën om valuta sneller te verplaatsen, te integreren en te besturen in een gedistribueerd netwerk en veilige toepassingen en hardware te bouwen.

Je ziet veel van deze openbare (public) blockchains op cryptobeurzen.

In figuur 1.3 zie je de beurs Poloniex (https://poloniex.com), een platform voor het verhandelen van cryptovaluta (altcoins, alternatieven voor bitcoin).

FIGUUR 1.3:
Een platform voor het verhandelen van altcoins.

Blockchains bewegen zich buiten de valutamarkt en worden opgenomen in allerlei bedrijfstakken. Blockchains voegen een nieuwe vertrouwenslaag (trust layer) toe waardoor je nu online veilig kunt werken op een manier die voorheen niet mogelijk was.

Huidige blockchaintoepassingen

Momenteel staan de meeste blockchaintoepassingen in het teken van het snel en goedkoop verplaatsen van valuta of andere vormen van waarde. Hierbij kun je denken aan het verhandelen van aandelen van beursgenoteerde ondernemingen, het betalen van werknemers in andere landen en het omwisselen van de ene valuta tegen de andere.

Blockchains worden nu ook gebruikt als onderdeel van een software security stack. De U.S. Department of Homeland Security heeft onderzoek gedaan naar blockchainsoftware die Internet of Things (IoT)-apparaten beveiligt. De IoT-wereld heeft het meeste profijt van deze innovatie, omdat hij kwetsbaar is voor spoofing en andere vormen van hacken. Het gebruik van IoT-apparatuur neemt fors toe en de beveiliging wordt er steeds afhankelijker van. Ziekenhuissystemen, zelfrijdende auto’s en veiligheidssystemen zijn belangrijke voorbeelden.

Ook DAO’s zijn een interessante blockchaininnovatie. Dit type blockchaintoepassing is een nieuwe manier om online bedrijven te organiseren en te integreren. Via het Ethereum-netwerk zijn DAO’s ingezet om fondsen te werven en te investeren.

Toekomstige blockchaintoepassingen

Grotere en langer lopende blockchainprojecten die momenteel worden onderzocht, zijn onder meer door de overheid gesteunde kadastersystemen en systemen voor de beveiliging van identiteitsbewijzen en internationaal reizen.

De mogelijkheden van een toekomst die doordrenkt is met blockchains spreekt tot de verbeelding van zakenmensen, regeringen, politieke groeperingen en hulpverleners over de hele wereld. Landen als het Verenigd Koninkrijk, Singapore en de Verenigde Arabische Emiraten zien dit als een manier om kosten te besparen, nieuwe financiële instrumenten te creëren en goede resultaten te boeken. Ze investeren actief in het verkennen van blockchainprojecten.

Blockchains hebben een fundament gelegd waar de behoefte aan vertrouwen naar de achtergrond is verdwenen. Waar voorheen de vraag om ‘ver trouwen’ erg belangrijk was, is dit met blockchains niet meer het geval. Ook kan de infrastructuur die de regels handhaaft als dit vertrouwen wordt geschonden, wat minder strikt zijn. Een groot deel van de samenleving is gebaseerd op vertrouwen en het handhaven van regels. De sociale en economische gevolgen van blockchaintoepassingen kunnen emotioneel en politiek polariserend zijn, omdat blockchain de manier zal veranderen waarop we op waarden gebaseerde en sociale transacties structureren.

Hoofdstuk 2

Een blockchain kiezen

IN DIT HOOFDSTUK

De juiste blockchain ontdekken

Een plan maken voor je project

Obstakels voor je project uit de weg ruimen

Een stappenplan voor je project opstellen

De blockchainindustrie is complex en groeit elke dag in omvang en mogelijkheden. Als je de drie kerntypen blockchains en hun beperkingen begrijpt, weet je wat de mogelijkheden zijn van deze nieuwe technologie.

Dit hoofdstuk gaat over het beoordelen van blockchaintechnologie en het ontwikkelen van een projectplan. Het plaatst de volgende hoofdstukken over individuele blockchainplatforms en -toepassingen in hun context.

Je leest hier hoe je de drie verschillende typen blockchainplatforms kunt beoordelen, wat er op elk type platform wordt gebouwd en waarom. Ik geef je enkele hulpmiddelen die je helpen om je project te schetsen, obstakels te voorspellen en uitdagingen te overwinnen.

Waarvoor gebruik je blockchains

Er zijn veel geruchten over blockchains en de cryptovaluta. Dit komt voor een deel gewoon voort uit de waardeschommelingen van de cryptovaluta (digitaal betaalmiddel) en de angst dat blockchaintechnologie veel industrie- en overheidsfuncties zal verstoren. Er is veel geld gestoken in onderzoek en ontwikkeling omdat belanghebbenden niet achterhaald willen worden en ondernemers nieuwe bedrijfsmodellen willen verkennen.

Als het gaat om het invoeren van blockchaintechnologie in een organisatie, rijst vaak de vraag: ‘Waar voegen blockchains waarde toe en hoe verschillen ze van bestaande technologieën?’

Blockchains zijn een speciaal type database. Je kunt ze overal gebruiken waar je een normale database zou gebruiken - maar het heeft geen zin om te investeren in een blockchain wanneer een normale database de klus kan klaren.

Een blockchain is wel de moeite waard als je informatie wilt delen met partijen die je niet helemaal vertrouwt, als je gegevens moeten worden gecontroleerd of als je gegevens intern of extern gevaar lopen om in opspraak te komen. Dit zijn geen eenvoudige situaties en de juiste oplossing is vaak moeilijk te vinden.

Deze paragraaf helpt je om je opties in te perken.

Wat wil je?

Blockchains zijn er in veel smaken. Je vindt er altijd een die bij je behoeften past − de truc is hoe? Je behoeften voor de beste blockchain in kaart brengen, kan overweldigend zijn. Wanneer ik veel opties en vaak tegenstrijdige behoeften heb, gebruik ik graag een beslismatrix met weegfactoren.

Een beslismatrix met weegfactoren is een prima hulpmiddel om de behoeften van een project te achterhalen en deze behoeften vervolgens in kaart te brengen tot mogelijke oplossingen. Het belangrijkste voordeel van de matrix is dat je individuele behoeften voor je project kunt kwantificeren en prioriteren en de besluitvorming kunt vereenvoudigen. Met beslismatrices met weegfactoren voorkom je ook dat je overspoeld wordt door individuele criteria. Als je het goed doet, kun je met dit hulpmiddel komen tot één idee dat overeenkomt met al je doelen.

Neem de volgende stappen om een beslismatrix met weegfactoren te maken:

1. Brainstorm over de belangrijkste criteria of doelen waaraan je team moet voldoen.

Mocht je niet zeker weten welke criteria handig zijn bij de evaluatie van je blockchainproject, denk dan eens aan:

•  schaal en volume;

•  snelheid en vertraging;

•  beveiliging en mutatiemogelijkheid;

•  opslagcapaciteit en structurele behoeften.

Je team heeft zijn eigen lijst met onderwerpen en prioriteiten. Dit zijn er slechts enkele om te kiezen voor het juiste platform om aan je behoeften te voldoen.

2. Zorg dat de lijst met criteria niet meer dan tien items heeft.

Als je moeite hebt met het verfijnen van je lijst met behoeften, overweeg dan een vergelijkingsmatrix.

3. Maak een tabel in Microsoft Excel of een vergelijkbaar programma.

4. Vul in de eerste kolom de criteria in.

5. Wijs een weegfactor toe aan elk criterium op basis van hoe belangrijk dit voor het succes van het project is.

Beperk het aantal punten tot 10 en verdeel ze over al je criteria – bijvoorbeeld, 1 = laag, 2 = medium en 3 = hoge prioriteit.

Als je in een team werkt, zorg dan dat elk afzonderlijk lid per criterium een weegfactor toekent.

6. Tel de toegekende weegfactoren per criterium op en deel ze door het aantal teamleden om te komen tot een gemiddelde weegfactor van het team.

7. Pas de weegfactoren zo nodig aan om er zeker van te zijn dat elk criterium correct wordt gewogen.

Gefeliciteerd! Je hebt nu een lijst met criteria en weegfactoren voor een succesvol blockchainproject.

Je doel definiëren

Je kunt gemakkelijk de weg kwijtraken bij het opzetten van een blockchainproject dat geen duidelijk doel heeft. Neem de tijd om te begrijpen waar jij en je team naartoe willen en wat het uiteindelijke doel is. Een doel is bijvoorbeeld dat je met een partnerbedrijf assets wilt verhandelen zonder tussenpersoon. Dit is een belangrijk doel voor veel belanghebbenden.

Schakel terug naar een klein project. Zorg voor een minimaal haalbare use case voor een technologie die duidelijk toegevoegde waarde of besparingen voor je bedrijf garandeert. Naar analogie van het eerdere voorbeeld zou een kleiner doel zijn om een eigen netwerk op te bouwen dat waarde kan uitwisselen tussen vertrouwde partijen.

Bouw dan op deze waarde voort. Je volgende stap is wellicht het bouwen van een instrument dat je kunt verhandelen op je nieuwe platform. Elke stap moet een kleine vooruitgang zijn met toegevoegde waarde.

Kies een oplossing

Er bestaan drie kerntypen blockchains: openbare (public) netwerken zoals Bitcoin, permissioned netwerken zoals Ripple en besloten (private) netwerken zoals Hijro.

Blockchains doen een paar eenvoudige dingen:

Ze verplaatsen waarde en handelswaarde snel en tegen zeer lage kosten.

Ze creëren een bijna permanente (onveranderbare) gegevenshistorie.

Blockchaintechnologie maakt ook minder voor de hand liggende oplossingen mogelijk, zoals de mogelijkheid om te bewijzen dat je ‘iets’ hebt zonder het aan de andere partij te onthullen. Je kunt ook ‘het negatieve bewijzen’ of bewijzen wat er ontbreekt binnen een dataset of systeem. Deze functie is met name handig voor audits en compliance.

In tabel 2.1 zie je veelgebruikte use cases per type blockchain.

TABEL 2.1 Use cases per type blockchain

Primair doel | Type blockchain
Waarde verplaatsen tussen niet-vertrouwde partijen | Openbaar
Waarde verplaatsen tussen vertrouwde partijen | Besloten
Handelswaarde verschillende dingen | Permissioned
Handelswaarde hetzelfde ding | Openbaar
Gedecentraliseerde organisatie opzetten | Openbaar of permissioned
Gedecentraliseerde contracten opzetten | Openbaar of permissioned
Verhandelen geëffectiseerde assets | Openbaar of permissioned
Identiteit opbouwen voor mensen of dingen | Openbaar
Publiceren openbare administratie | Openbaar
Publiceren privéadministratie | Openbaar of permissioned
Auditing van records of systemen | Openbaar of permissioned
Publiceren kadastergegevens | Openbaar
Digitaal geld of assets verhandelen | Openbaar of permissioned
Systemen opzetten voor Internet of Things (IoT)-beveiliging | Openbaar
Beveiligingssystemen bouwen | Openbaar

Er kunnen uitzonderingen zijn afhankelijk van je project. Het is ook mogelijk om een ander type blockchain te gebruiken om je doel te bereiken. Maar in het algemeen volgen hier de verschillende soorten netwerken en hun sterke en zwakke punten:

Openbare (public) netwerken zijn groot en gedecentraliseerd, iedereen kan er op elk niveau aan deelnemen − dit omvat dingen zoals het beheren van een full node, mining van cryptovaluta, tokens verhandelen of het publiceren van entry’s. Ze zijn over het algemeen veiliger en minder goed te wijzigen dan besloten (private) of permissioned netwerken. Ze zijn vaak trager en duurder in gebruik. Ze zijn beveiligd met cryptovaluta en hebben een beperkte opslagcapaciteit.

Permissioned netwerken zijn zichtbaar voor iedereen, maar deelname wordt gecontroleerd. Veel van deze netwerken maken gebruik van cryptovaluta, maar ze zijn goedkoper voor toepassingen die erop zijn gebouwd. Door deze mogelijkheid is het eenvoudiger om projecten te schalen en het volume van transacties te verhogen. Permissioned netwerken kunnen zeer snel zijn met een lage latentie en hebben een hogere opslagcapaciteit dan openbare netwerken.

Besloten (private) netwerken worden gedeeld tussen vertrouwde partijen (trusted parties) en zijn mogelijk niet zichtbaar voor het publiek. Ze zijn erg snel en hebben geen latentie. Ze hebben ook lage gebruikskosten en kunnen worden gebouwd in een vlijtig weekend. De meeste besloten netwerken maken geen gebruik van cryptovaluta en zijn minder bestand tegen wijzigingen en hebben een beperktere beveiliging dan gedecentraliseerde netwerken. De opslagcapaciteit is vrijwel onbeperkt.

Er zijn ook hybride netwerken tussen deze drie kerntypen van blockchains. Deze proberen de juiste balans te vinden tussen beveiliging, controleerbaarheid, schaalbaarheid en gegevensopslag voor toepassingen die erop gebouwd zijn.

Een blockchainbeslisboom tekenen

Sommige beslissingen die je moet nemen als je werkt aan een blockchainproject binnen je organisatie kunnen moeilijk en uitdagend zijn. Het loont om beslissingen te nemen die betrekking hebben op:

Onzekerheid. Veel zaken met betrekking tot blockchaintechnologie zijn misschien onbekend en nog niet getest.

Complexiteit. Blockchains hebben veel met elkaar verband houdende factoren om rekening mee te houden.

Gevolgen met hoog risico. De impact van de beslissing kan belangrijk zijn voor je organisatie.

Alternatieven. Er kunnen alternatieve technologieën en soorten blockchains zijn, elk met hun eigen onzekerheden en gevolgen.

Interpersoonlijke kwesties. Je moet begrijpen hoe blockchaintechnologie verschillende mensen binnen je organisatie kan beïnvloeden.

Een beslisboom is een nuttig hulpmiddel waarmee je de gevolgen, de uitkomsten van gebeurtenissen, de kosten van resources en het nut van het opzetten van een blockchainproject kunt ontdekken.

Je kunt beslisbomen op papier tekenen of een computertoepassing gebruiken. Neem de volgende stappen om er een te maken en andere uitdagingen rond je project te ontdekken:

1. Pak een groot vel papier.

Hoe meer keuzen je hebt en hoe ingewikkelder de beslissing is, hoe groter het vel papier dat je nodig hebt.

2. Teken een vierkant aan de linkerkant van het papier.

3. Schrijf in dit vierkant het kerndoel en de criteria voor je project.

4. Trek voor elk onderdeel lijnen naar rechts van het vierkant.

5. Geef op elke lijn een beschrijving van het onderdeel.

Wijs een mogelijke waarde toe aan elk onderdeel.

6. Brainstorm over oplossingen voor elk onderdeel.

7. Geef op elke lijn een beschrijving van de oplossing.

8. Ga door met dit proces totdat je elk onderwerp hebt onderzocht en voor elk onderwerp een mogelijke oplossing hebt gevonden.

Laat teamgenoten al je onderdelen en oplossingen bekijken en beoordelen voordat je het afrondt.

Een projectplan opstellen

Op dit punt moet je een duidelijk beeld hebben van je doelen, obstakels en welke blockchainopties je tot je beschikking hebt.

Hier is een eenvoudig stappenplan voor je project:

1. Leg het project uit aan de belangrijkste belanghebbenden en bespreek de kernonderdelen en verwachte resultaten.

2. Stel een projectplan op.

Dit is een reeks documenten. Deze documenten veranderen gedurende je project.

3. Ontwikkel de prestatiemetingen, reikwijdte, planning en budgetten.

4. Overweeg een risicomanagementplan en een personeelsplan op te stellen.

5. Wijs projectleden toe en definieer rollen en verantwoordelijkheden.

6. Houd een bijeenkomst voor de kick-off van het project.

Hier moet het volgende aan bod komen:

•  visie project

•  strategie project

•  tijdlijn project

•  rollen en verantwoordelijkheden

•  activiteiten teambuilding

•  commitment team

•  besluitvormingsstructuur

•  belangrijkste criteria waaraan het project wordt getoetst.

Als je het project hebt voltooid, ben je nog niet klaar! Ga terug en analyseer je successen en mislukkingen. Stel jezelf de volgende vragen:

Zijn mijn belangrijkste belanghebbenden tevreden?

Bleef het project op schema?

Zo nee, waardoor werd het vertraagd?

Wat heb ik geleerd van dit project?

Wat zou ik nu anders doen?

Heb ik daadwerkelijk waarde voor mijn bedrijf toegevoegd of geld bespaard?

Misschien wil je dit hoofdstuk opnieuw lezen als je meer weet over blockchaintechnologie en een projectplan gaat opstellen.