Blockchain is een database die bestaat uit een keten van blokken. Elk blok bevat data en wordt gemaakt door deelnemers binnen het netwerk van de blockchain. Hoe dat precies werkt? Dat lees je hier.
Blockchain is de technologie achter cryptocurrency’s, maar het kan voor nog meer doeleinden gebruikt worden. De belangrijkste drie kenmerken van de blockchain-technologie zijn dat het decentraal, onveranderlijk en transparant is. Dit maakt dat blockchain de meest revolutionaire technologie sinds het internet wordt genoemd.
De blockchain wordt gezien als een van de veiligste technologie die er op dit moment is. Dat komt mede doordat betrokken partijen die een transactie uitvoeren deze eerst moeten ondertekenen. Dit gebeurt met een digitale handtekening ( ook wel private key genoemd), die alleen bekend is bij de rechtmatige partij. Blockchain is ook veilig omdat het uit een netwerk van duizenden computers bestaat. Het is mogelijk om data op de blockchain te bewaren, waarna deze op alle computers binnen het netwerk van de blockchain wordt opgeslagen. De data wordt dus niet op één centrale plaats bewaard, zoals bij bijvoorbeeld een webserver wel het geval is. Deze decentralisatie zorgt ervoor dat er geen single-point-of-failure aanwezig is.
Het decentrale netwerk van de blockchain
Het netwerk van een blockchain bestaat uit een groot aantal machines. Deze machines zijn allemaal met elkaar verbonden en kunnen zowel normale computers als grote servers zijn. We noemen machines die deel uitmaken van dit netwerk ‘nodes’.
In tegenstelling tot traditionele databases, is een blockchain decentraal. De gegevens worden namelijk niet bewaard op één plek. Alle nodes binnen het netwerk van de blockchain bewaren een eigen kopie van de gehele blockchain. Het decentrale karakter van blockchain zorgt ervoor dat het geen single-point-of-failure heeft. Dit houdt in dat wanneer één node niet meer werkt of gehackt wordt, de rest van de blockchain hier geen last van heeft. Zij kunnen gewoon doorgaan met hun werk wanneer nodes uitvallen.
De gegevens worden dus niet door één autoriteit beheerd. Afhankelijk van het protocol dat op de blockchain draait, kan het als een peer-to-peer netwerk werken. Dit betekent dat transacties direct tussen twee betrokken partijen worden uitgevoerd. Er zit dan geen centrale instantie tussen.
Alles binnen de blockchain is transparant
Iedereen kan zien wat er binnen een blockchain gebeurt. Op het moment dat er een transactie wordt gemaakt, is deze transactie te vinden in de blockchain explorer. Dit is een website waarop gegevens van de blockchain te vinden zijn.
De inhoud van de transactie is niet zichtbaar voor anderen, maar iedereen kan wel zien hoe groot het bedrag van de transactie is. Het is mogelijk om te zien waar een transactie vandaan komt en naar welk adres deze wordt verzonden. Zolang niet duidelijk is wie de eigenaar van het adres is, is de transactie dus anoniem. Dit maakt de blockchain een technologie die pseudoanoniem te gebruiken is.
Hoe werkt de blockchain?
Op het moment dat een gebruiker een transactie wil uitvoeren, wordt de transactie naar het netwerk van de blockchain verstuurd. De nodes zullen vervolgens controleren of deze transactie geldig is. Bij het controleren kijken ze bijvoorbeeld naar het saldo dat aan het adres van de verzender is gekoppeld, om te controleren of de gebruiker wel genoeg middelen heeft voor het uitvoeren van de transactie.
Creatie van blokken en consensus mechanisme
Zodra alle transacties die binnen een bepaalde tijd zijn gemaakt zijn gecontroleerd, worden deze samengevoegd tot één blok. Dit doen de nodes door een wiskundige puzzel op te lossen. Het zogenoemde consensus mechanisme bepaalt de manier waarop dit precies wordt gedaan. Er zijn verschillende blockchains en iedere blockchain kan een ander consensus mechanisme hebben.
Het consensus mechanisme zorgt ervoor dat een blockchain decentraal kan werken. Iedere node handelt volgens de regels die in dit mechanisme opgesteld zijn en controleert andere nodes op het naleven van de regels. Mocht een node dat niet doen, kan het netwerk de node hiervoor straffen.
Het creëren van nieuwe blokken is te vergelijken met het aanmaken van een map op een computer waarin verschillende bestanden worden geplaatst. Deze bestanden zijn als het ware de transacties die zijn uitgevoerd en de map is het blok. Omdat de map erg groot kan worden, wordt deze gecomprimeerd en versleuteld om de veiligheid te waarborgen.
Hashing van het blok
Een blok op de blockchain bestaat ook uit samengevoegde transacties. Na de creatie van het blok, wordt deze versleuteld. Het versleutelen gebeurt door middel van een hash-functie, waardoor het blok wordt omgezet in een speciale code die uit verschillende tekens bestaat. Voordat dit gebeurt, wordt eerst de hash van het vorige blok toegevoegd aan het nieuwe blok. Dit zorgt ervoor dat een keten van blokken ontstaat die allemaal aan elkaar zijn verbonden. Vandaar de benaming van deze technologie: de blockchain.
Het toevoegen van nieuwe blokken gebeurt iedere keer met ongeveer dezelfde snelheid. Aan de blockchain van Bitcoin wordt bijvoorbeeld iedere tien minuten een nieuw blok toegevoegd. De precieze snelheid die nodig is om een nieuw blok toe te voegen, wordt de hashrate genoemd. Een hoge hashrate betekent dat er vrij snel nieuwe blokken toegevoegd worden aan de blockchain (en een lage hashrate betekent het tegenovergestelde).
De node die een nieuw blok aan de blockchain heeft toegevoegd, ontvangt hier een beloning voor. Dit wordt de block reward genoemd. Hoe groot deze beloning is, verschilt per blockchain.
Byzantine Fault Tolerance (BFT)
Het netwerk kan uit duizenden of miljoenen nodes bestaan. Iedere blockchain heeft een ander aantal nodes in zijn netwerk. Omdat de nodes in het netwerk het op verschillende momenten met elkaar eens moeten worden, zou het ontzettend lang kunnen duren voordat een transactie wordt uitgevoerd. De oplossing hiervoor is het Byzantine Fault Tolerance (BFT).
Met het Byzantine Fault Tolerance (BFT) wordt orde en controle binnen het netwerk van de blockchain behouden. Het principe is bedacht door de generaals van het Byzantijnse Rijk. Het Byzantijnse Rijk was namelijk zo groot, dat ze moeite hadden om tussen alle generaals overeenstemming te bereiken voor het opzetten van een nieuwe aanval. Dit probleem is te vergelijken met het probleem dat zich binnen blockchain-netwerken voordoet.
Het BFT-principe bepaalt dat wanneer minimaal 51% van alle nodes het eens zijn met een bepaalde keuzemogelijkheid, deze keuze uitgevoerd zal worden.
Wanneer een node een nieuw blok klaar heeft, stemmen de andere nodes of dit blok ook daadwerkelijk valide is. Dit stemmen gebeurt dus met de regels van het Byzantine Fault Tolerance: zodra minimaal 51% van de nodes instemt met het nieuwe blok, mag het blok worden toegevoegd aan de blockchain.
Ook wanneer een node zijn werk niet goed uitvoert, zal het netwerk volgens het BFT-principe stemmen over een mogelijke straf. Vindt 51% van het netwerk dat een node verwijderd moet worden, dan zal deze beslissing uitgevoerd worden.
Waar kan de blockchain-technologie voor gebruikt worden?
Blockchain wordt vaak direct in verband gebracht met Bitcoin. Dit komt omdat Bitcoin de eerste cryptocurrency was die gebruik maakte van de blockchain-technologie. Daarnaast heeft de blockchain-technologie ook nog andere functies.
Cryptocurrency’s
De bekendste functie van blockchain is dat het cryptocurrency’s ondersteunt. Een cryptocurrency is een digitale valuta die is opgeslagen op de blockchain, waarvan Bitcoin de eerste en bekendste is.
Het grootste verschil tussen cryptocurrency’s en fiat valuta is dat cryptocurrency’s over het algemeen niet worden beheerd door een centrale autoriteit, mits ze op een publieke blockchain draaien. Een fiat valuta wordt uitgegeven door een overheid of centrale bank. Zij bepalen hoeveel geld er in omloop is, en controleren n ook alle transacties die worden uitgevoerd.
Een cryptocurrency wordt decentraal beheerd op het netwerk van de blockchain. De nodes binnen het netwerk zorgen ervoor dat transacties worden gecontroleerd en verwerkt. Hierdoor kunnen transacties sneller en voor lagere kosten worden uitgevoerd.
Wanneer iemand fiat geld vanuit Europa naar een ander continent wil versturen, duurt dit vaak enkele dagen voordat het op de bankrekening van de ontvanger staat. Daarbij worden vaak hoge transactiekosten betaald. Het verzenden van een cryptocurrency duurt enkele seconden tot minuten en je betaalt doorgaans enkele dollars aan transactiekosten.
Het opslaan van gegevens
Naast het uitvoeren van transacties, kan blockchain gebruikt worden voor het opslaan van data. Denk aan afbeeldingen, tekstdocumenten, programmeercodes en video’s. Ook zou een blockchain kunnen dienen als een cloud. Traditioneel gezien is de cloud een grote serverruimte waar gebruikers hun data bewaren. Het probleem hiermee is dat data van gebruikers kan worden gelekt. Omdat blockchain gebruik maakt van cryptografie zijn gegevens daar over het algemeen beter beveiligd.
Door zorginstellingen
Blockchain kan door instanties gebruikt worden die indirect aan elkaar verbonden zijn. Denk eens aan zorginstellingen. Door patiëntgegevens op de blockchain te bewaren, heeft iedere zorginstelling toegang tot de patiëntgegevens. Je kunt de rolverdeling instellen zodat mensen alleen de informatie te zien krijgen die nodig is voor hun behandeling. Het voordeel hiervan is dat patiënten overal ter wereld snel geholpen kunnen worden.
Ontwikkeling van applicaties
Het is ook mogelijk om applicaties op een blockchain te laten draaien indien deze blockchain smart contracts ondersteunt. Smart contracts zijn vooraf geprogrammeerde contracten die op een blockchain draaien.
Applicaties die op een blockchain draaien heten dApps (Decentralized Applications). Het voordeel van dApps is dat de gegevens niet staan opgeslagen op een centrale server.
Ontwikkelaars kunnen veel verschillende applicaties op de blockchain ontwikkelen. Hierdoor ontstaan nieuwe industrieën. Denk bijvoorbeeld aan DeFi, wat staat voor ‘Decentralized Finance’. Deze industrie probeert traditionele financiele producten te decentralizeren met de Blockchain technologie. Een andere bekende industrie is GameFi. Dit zijn gaming-applicaties die op blockchain draaien waar gebruikers cryptocurrency kunnen verdienen. Omdat deze cryptocurrency’s verkocht kunnen worden, is het mogelijk geld te verdienen met het spelen van blockchain-games.
Verschillende typen blockchains (H2)
Binnen blockchains zijn er drie verschillende categorieën:
- Public / permissionless blockchain. De public blockchain is door iedereen te gebruiken. Het is ook voor iedereen mogelijk om als node toegang te krijgen tot het blockchain-netwerk, zonder eerst een controle te hoeven ondergaan.
- Private / permissioned blockchain. Het is niet mogelijk om zomaar gebruik te maken van een private blockchain. Ook is het niet mogelijk een eigen node te laten draaien in het netwerk. Dit type blockchain wordt voornamelijk intern door bedrijven en organisaties gebruikt. Denk hierbij aan de eerder genoemnde zorginstellingen.
- Hybride / consortium blockchain. Dit type blockchain is een combinatie van de public en private blockchain. Het is niet mogelijk om zomaar toe te treden tot het blockchain-netwerk, want een node zal eerst toestemming moeten krijgen van een autoriteit. Dit kan de ontwikkelaar van de blockchain zijn of een node die door iemand aangesteld is. De focus ligt hier niet op cryptocurrency’s.
Is blockchain veilig?
Blockchain wordt gezien als één van de veiligste technologieën die er op dit moment is. Daarom willen meer bedrijven deze technologie gebruiken. Hieronder benoemen we wat blockchain veilig maakt:
Het verleden van een blockchain is niet aanpasbaar
De blokken in een blockchain zijn allemaal aan elkaar verbonden doordat iedere hash van een blok staat opgeslagen in het eerstvolgende blok. Het uiterlijk van de hash is volledig afhankelijk van de inhoud van het blok. Ook als maar één bit aangepast wordt, ziet de hash er compleet anders uit.
Stel er is een hacker. Hij wil transacties in een blok uit het verleden aanpassen. Om bijvoorbeeld het eigenaarschap van een cryptocurrency te veranderen. In blockchain zou de hacker dan de inhoud van het blok moeten aanpassen, waardoor ook de hash verandert. De hash die in het eerstvolgende blok staat opgeslagen klopt vervolgens niet meer met de nieuwe hash. Dit zorgt voor een breuk in de blockchain. Zo’n breuk wordt direct door de nodes in het netwerk opgemerkt, waarna ze deze variant van de blockchain als ongeldig beschouwen.
Deze techniek zorgt ervoor dat het vrijwel onmogelijk is om data uit het verleden aan te passen. Een hacker zou hiervoor het hele netwerk moeten overtuigen dat zijn variant van de blockchain de juiste is, of ervoor moeten zorgen dat hij minstens 51% van het netwerk in zijn bezit heeft. Dit noemen we ook wel een 51% attack.
Door het Byzantine Fault Tolerance kan een beslissing pas gemaakt worden zodra minimaal 51% van het netwerk het met elkaar eens is. Het uitvoeren van een 51% attack is vrij lastig in het geval van grote blockchains, omdat er een grote hoeveelheid energie en servers nodig is. Blockchains met een kleiner netwerk zijn over het algemeen kwetsbaarder voor een 51% attack, al hebben zij in veel gevallen een eigen technologie ontwikkelt die dit soort aanvallen kan voorkomen.
Cryptografie
Blockchains maken gebruik van cryptografie. Dit betekent dat data wordt versleuteld, waardoor het alleen te gebruiken is door personen met toegang.
Voor cryptografie zijn public keys en private keys nodig. Iedere gebruiker van de blockchain heeft zijn eigen public en private key. De public key is – zoals de naam al zegt – openbaar en wordt gebruikt om een wallet adres te genereren. Het wallet adres is te vergelijken met een bankrekeningnummer. Op het moment dat een gebruiker cryptovaluta wil versturen naar een andere gebruiker, wordt het wallet adres gebruikt om het bij de juiste gebruiker aan te laten komen.
Voordat de transactie verstuurd wordt, moet deze ondertekend worden met een digitale handtekening. Dit gebeurt met cryptografie. De digitale handtekening kan namelijk alleen gemaakt worden met de juiste combinatie van de public en private key.
De private key is alleen bekend bij de gebruiker en mag nooit gedeeld worden met anderen. Net als de public key, is ook de private key uniek. Wanneer de private key en public key in een verkeerde combinatie worden gebruikt, kan een transactie niet worden ondertekend. Een transactie die niet ondertekend kan worden, kan ook niet worden uitgevoerd.
Een hacker kan zichzelf hierdoor onmogelijk voordoen als een andere gebruiker zolang hij niet in bezit is van de private key. De public en private keys dienen dus als pseudoniem voor de eigenaar van de cryptocurrency’s.
Blockchain en privacy
Traditioneel gezien gaf blockchain een hoge mate van privacy. Dit kwam omdat mensen zich niet hoefden te registreren met hun persoonlijke gegevens. Het wallet adres diende als identiteit van de gebruiker. Tegenwoordig werkt het wat anders, waardoor blockchain minder anoniem dan voorheen is.
Mensen die zich registeren op een crypto exchange, om zo cryptocurrency te kunnen kopen en verkopen, doorlopen in vrijwel alle gevallen een KYC-procedure. KYC staat voor ‘Know Your Customer’ en verwijst naar het verificatieproces van klanten van een exchange. Zo moet je een identiteitsbewijs tonen, zodat de exchange de identiteit kan verifiëren. Deze controle is opgesteld om criminele praktijken, zoals witwassen en belasting ontduiken, tegen te houden.
Conclusie
Blockchain bestaat uit een netwerk van nodes en een keten van blokken. De nodes zorgen voor de controle en verwerking van transacties zonder tussenkomst van een centrale autoriteit. Een blockchain is dus decentraal, transparant, werkt peer-to-peer en is onveranderbaar.
Ondanks dat blockchains vooral bekend zijn door cryptocurrency’s, kan het voor meerdere functies gebruikt worden. Je kunt er data bewaren, wat mogelijkheden geeft aan bijvoorbeeld zorginstellingen. Ook hebben ontwikkelaars de mogelijkheid een applicatie te ontwikkelen die op blockchain draait, waardoor er nieuwe industrieënontstaan.
De hoge mate van veiligheid zorgt voor populariteit rondom blockchain-technologie. Gegevens die zijn opgeslagen, kunnen niet meer worden aangepast. Ze worden versleuteld door middel van cryptografie, waardoor alleen de rechtmatige eigenaar deze gegevens kan inzien of aanpassen. Het maakt blockchain één van de meest revolutionaire technologieën sinds het ontstaan van het internet.