Als iemand blockchain zegt, dan denk je vast gelijk aan Bitcoin. Bitcoin is inderdaad gebaseerd op een blockchain. Je zou kunnen zeggen dat blockchain de achterliggende techniek van Bitcoin -en alle andere cryptocurrency- is. Een blockchain is echter nog zo veel meer dan dat. In dit artikel probeer ik dat verder uit te leggen.
Laten we beginnen met proberen om het in 1 zin samen te vatten: Een blockchain is een middel om transacties vast te leggen zonder dat daar een derde partij bij benodigd is.
De definitie van transacties moet je heel breed zien. Een transactie is bij een blockchain niet alleen het overmaken van geld (cryptocurrency), maar eigenlijk alles waarbij ‘iets’ uitgewisseld wordt tussen twee partijen. Dus bijvoorbeeld contracten, (vertrouwelijke) informatie, eigendom van goederen, enzovoort. Enkele praktische voorbeelden hiervan zouden kunnen zijn; het koopcontract van een huis, (inzage in) een medisch dossier (EPD) of de verkoop van een auto.
Je kan een blockchain zien als een grootboek waarin alle transacties vastgelegd worden.
Een blockchain is per definitie decentraal. Dat betekent dat er niet 1 eigenaar of beheerder is van het hele systeem of netwerk. Het hele systeem wordt door vele duizenden mensen bijgehouden. Bij de meeste blockchains zijn dat de miners. Deze ‘mijnwerkers’ zijn mensen of bedrijven met computers die continue nieuwe transacties bevestigen. Deze transacties worden vastgelegd in blocks, oftewel blokken. Deze blokken kan je het beste vergelijken met kralen in een kralenketting. In elke kraal worden enkele honderden transacties vastgelegd.
Een blockchain is door een ieder in te zien. Dat wil overigens niet zeggen dat je ook de inhoud van de transacties kan zien. Blockchains zijn er in verschillende vormen. Die van Bitcoin is bijvoorbeeld volledig in te zien. Op een website zoals blockchain.info kan je de Bitcoin blockchain ‘live’ inzien. Je ziet de Bitcoins heen en weer verstuurd worden tussen verschillende adressen. Ook kan je de adressen bekijken en zien hoeveel Bitcoin er op die adressen staat. Je ziet ook de volledige transactiehistorie van dat adres. Sommige andere blockchains zijn niet inhoudelijk te bekijken. Je kan dan bijvoorbeeld wel de transacties en adressen zien, maar niet de inhoud daarvan.
Op het moment dat er een block bevestigd is door de miners, is hij niet meer aan te passen. Alle transacties zijn daarmee definitief en kunnen niet meer naderhand aangepast worden. Stel dat 1 iemand toch een transactie uit het verleden aan zou passen, dan zien alle andere miners dat en wordt die wijziging simpelweg genegeerd. Er kan daarom in principe niet gefraudeerd worden met een blockchain.
Bij de praktische voorbeelden die ik eerder noemde ben je zonder blockchain steeds afhankelijk van 1 of meerdere derde partijen. Bij het overmaken van geld ben je afhankelijk van een bank, als je je huis wilt verkopen dan moet je langs de notaris, het EPD wordt beheert door bedrijven, enzovoort. Zou je een blockchain gebruiken in plaats van zo’n derde partij, dan heb je die derde partij niet meer nodig. Dat biedt heel veel voordelen. Het verlaagt het risico, afhankelijkheid en verhoogd de privacy. Bovendien is het -in theorie- sneller en efficiënter.
Hoe werkt een blockchain praktisch en technisch gezien?
Ik zal proberen om het zo simpel mogelijk uit te leggen. In dit voorbeeld ga ik uit van een transactie waarbij er geld (cryptocurrency) overgemaakt wordt. Laten we de meest voor de hand liggende crypto pakken, Bitcoins.
Stel dat jij Bitcoins wilt hebben. Dan moet je eerst een ‘rekeningnummer’ hebben om de Bitcoins op te ontvangen. Bij een blockchain heet dat een adres. Dit adres kan je aanmaken vanuit een wallet, oftewel portemonnee. Deze wallets zijn er in heel veel varianten. Zo zijn er bijvoorbeeld wallet apps die werken op je mobiele telefoon, wallets die werken op een browser en er zijn zelfs apparaten die een wallet zijn. In een andere blog zal ik dieper op de verschillende wallets die er zijn ingaan.
Jouw wallet genereert een adres waarop jij Bitcoins kan ontvangen. Als je dat adres deelt met iemand anders, dan kan diegene daar Bitcoins naar toe versturen.
Zo’n Bitcoin adres bestaat heel kort door de bocht eigenlijk uit twee keys, oftewel sleutels. Die sleutels zijn een lange reeks cijfers en letters. Je hebt een public key, oftewel publieke sleutel. Plat gezegd is de public key eigenlijk het adres zoals je die deelt met iemand anders. De tweede is een private key, oftewel privé sleutel. Daarmee kan jij aantonen dat jij de eigenaar bent van het Bitcoin adres en dat je dus bevoegd bent om de Bitcoins die daar op staan te versturen.
Stel dat je in het bezit bent van Bitcoins en je wilt ze gaan uitgeven. Dan moet je een transactie het netwerk op sturen. Dat doe je via je wallet. Daarvoor moet je enkele zaken invullen. Als eerste natuurlijk het Bitcoin adres van de begunstigde. Daarnaast natuurlijk de hoeveelheid Bitcoins die je wilt versturen. Als laatste mag je de fee, oftewel transactiekosten, bepalen. Veel wallets laten jou dat zelf bepalen. Sommige wallets werken met een vaste fee.
Vervolgens stuurt jouw wallet deze gegevens samen met jouw keys het netwerk op. Uiteraard zijn die gegevens versleuteld, dus de buitenwereld kan jouw keys niet zien.
De transactie komt dan in de pool terecht. In de pool zitten alle onbevestigde transacties. De miners zullen deze transacties gaan bevestigen. De volgorde waarin ze dat doen wordt bepaald aan de hand van de fee. Transacties met de hoogste fee worden als eerste behandeld. Transacties met een lagere fee worden later behandeld. De miners houden deze fee namelijk.
Als jouw transactie behandeld wordt dan wordt er gekeken of de keys kloppen en of je natuurlijk voldoende Bitcoins hebt om de transactie uit te voeren. Als dat allemaal klopt dan wordt de transactie bevestigd.
Wat belangrijk is om te weten is dat jouw Bitcoins niet letterlijk in jouw wallet zitten. Jouw Bitcoins staan in de blockchain. Aan de hand van jouw keys kan jij aantonen dat het jouw Bitcoins zijn. Dat heeft als voordeel dat als jouw telefoon bijvoorbeeld stuk gaat, dat je niet de bitcoins uit jouw wallet-app kwijt bent. Je kunt jouw wallet herstellen op een ander apparaat en dan kan je weer over je Bitcoins beschikken. Het nadeel is dat als je slordig bent met je beveiliging of gegevens, dat anderen achter jouw keys kunnen komen. Zij kunnen dan jouw Bitcoins stelen.
Een blockchain is veilig
Een blockchain is ontworpen vanuit het oogpunt op veiligheid en privacy. In principe is er geen veiliger methode voor het doen van transacties dan via een blockchain. Er is geen derde partij bij betrokken en alle gegevens worden zwaar versleuteld verzonden over het netwerk.
Stel dat je toch een blockchain wilt ‘hacken’, bijvoorbeeld door de private key van iemand te proberen te raden met behulp van een supercomputer. Die supercomputer gaat dan automatisch en zo efficiënt mogelijk alle mogelijke combinaties proberen. Echter zijn er zo ontzettend veel combinaties mogelijk dat het heel, heel erg lang duurt voordat je statistisch gezien de juiste combinatie geraden zou hebben. Hoe lang? Om je een idee te geven: de zon zou allang opgebrand zijn tegen de tijd dat jouw supercomputer ook maar een fractie van alle combinaties geraden zou hebben.
Echter is de ketting altijd maar zo sterk als de zwakste schakel. Bij een blockchain is dat meestal de gebruiker zelf. Als jij als gebruiker slordig omgaat met je gegevens en dus bijvoorbeeld je private keys gewoon op je computer opslaat in plaats van ze veilig offline te bewaren, dan kunnen anderen bij jouw crypto of data die in de blockchain staat.
Blockchain nu en in de toekomst
De technologie achter de verschillende blockchains staat nu nog in de kinderschoenen. Dat kan je aan alles zien. De koersen van de verschillende cryptocurrency bijvoorbeeld. Die zijn enorm volatiel en knallen alle kanten op. De handel daarin is daarom nu puur speculatief. Daarnaast zijn er veel kinderziektes, zoals nogal hoge transactiekosten en nogal lange wachttijden voordat een transactie goedgekeurd wordt. Ook barst het van de scams, zoals je ook op mijn blog kan lezen.
Critici menen daarom dat alleen gokkers er mee aan de gang gaan. Voor een deel hebben ze daar, op dit moment in elk geval, misschien gelijk in. Echter zijn er ook nu al prachtige voorbeelden van praktische toepassingen van een blockchain.
Zo is er bijvoorbeeld een Nederlands bedrijf die entreetickets voor concerten en dergelijk op een blockchain zet. Zo kunnen de zwarthandelaren en handel in nepkaartjes buitenspel gezet worden. Plat gezegd zijn de tickets dan een muntje op de blockchain. Zoals je inmiddels weet kan een transactie op een blockchain niet vervalst worden. Op die manier kan een concertkaartje niet meerdere malen verkocht worden of nagemaakt worden. Hartstikke veilig!
Zelf ben ik pas sinds 2016 bezig met cryptocurrency en blockchains. Ik heb een mining rig in mijn woonkamer gehad -ook wel bekend als mijn gaming PC- en bezit een klein assortiment aan cryptocurrency. Ik ben met name geïnteresseerd in de techniek er achter. Het speculatieve en handelen in crypto vind ik zelf minder interessant.