Blockchain is een revolutionaire technologie die het bestaande bedrijfsmodel volledig op zijn kop kan zetten. De afgelopen jaren is de blockchain technologie geprezen en gevreesd door overheden, financiële instellingen en de media. Dit artikel legt de grondbeginselen van een blockchain uit. Wat is een blockchain, blockchains en decentralisatie, hoe zijn de blokken met elkaar verbonden, en hoe werken blockchains?
Wat is een blockchain?
Een blockchain is een speciaal soort databank. Je hebt misschien ook wel eens de term distributed ledger technology (of DLT) gehoord – in veel gevallen verwijzen ze naar hetzelfde.
Een blockchain heeft bepaalde unieke eigenschappen. Er zijn regels over hoe gegevens kunnen worden toegevoegd, en als de gegevens eenmaal opgeslagen zijn, is het vrijwel onmogelijk ze te veranderen of te verwijderen.
De gegevens uit de eerste cel worden omgezet in een identificatie van twee letters, die dan gebruikt wordt als deel van de volgende vermelding. In dit voorbeeld moet de tweeletterige identificatie KP gebruikt worden om de volgende cel in de tweede rij in te vullen (defKP). Dit betekent dat als je de eerste ingang (abcAA) verandert, je in elke andere cel een andere combinatie van letters krijgt.
Gegevens worden in de loop van de tijd toegevoegd in structuren die blokken heten. Elk blok wordt boven op het vorige gebouwd en bevat een stukje informatie dat terugverwijst naar het vorige blok. Door naar het meest recente blok te kijken, kunnen we zien of het na het vorige gemaakt werd. Dus als we de hele “keten” afgaan, komen we bij ons allereerste blok – bekend als het ontstaansblok.
Ter vergelijking, stel dat je een spreadsheet hebt met twee kolommen. In de eerste cel van de eerste rij zet je de gegevens die je wilt bewaren.
Wie heeft blockchain technologie uitgevonden?
Blockchain technologie werd geformaliseerd in 2009 met de release van Bitcoin – de eerste en meest populaire blockchain. De pseudonieme bedenker Satoshi Nakamoto putte echter inspiratie uit eerdere technologieën en voorstellen.
Blockchains maken uitgebreid gebruik van hash functies en cryptografie, die al tientallen jaren bestonden voordat Bitcoin werd uitgebracht. Interessant is dat de structuur van de blockchain terug te voeren is tot het begin van de jaren ’90, hoewel hij alleen gebruikt werd om documenten van een tijdstempel te voorzien, zodat ze later niet meer veranderd konden worden.
Hoe zijn blokken met elkaar verbonden?
Wat we hierboven besproken – met onze twee-letter identifiers – is een vereenvoudigde analogie van hoe een blockchain hash functies gebruikt. Hashing is de lijm die blokken bij elkaar houdt. Het bestaat uit het nemen van gegevens van elke grootte en die door een wiskundige functie te halen om een output (een hash) te produceren die altijd even lang is.
De hashes die in blockchains worden gebruikt zijn interessant, omdat de kans dat je twee stukjes data vindt die exact dezelfde output geven astronomisch klein is. Net als bij onze identifiers hierboven, zal elke kleine wijziging van onze invoergegevens een totaal ander resultaat geven.
Ter illustratie SHA256, een functie die veel gebruikt wordt in Bitcoin. Zoals u kunt zien, is zelfs het veranderen van het hoofdlettergebruik voldoende om de uitvoer volledig te vervormen.
Blockchains en decentralisatie
We hebben de basisstructuur van een blockchain uitgelegd. Maar als je mensen hoort praten over blockchain technologie, hebben ze het waarschijnlijk niet alleen over de database zelf, maar over de ecosystemen die rond blockchains gebouwd zijn.
Als op zichzelf staande gegevensstructuren zijn blockchains alleen echt nuttig in niche toepassingen. Het wordt pas echt interessant als we ze gebruiken om vreemden met elkaar te laten interageren. In combinatie met andere technologieën en wat speltheorie kan een blockchain fungeren als een gedistribueerd grootboek dat door niemand gecontroleerd wordt.
Dit betekent dat niemand de macht heeft om invoer te veranderen buiten de regels van het systeem om (over de regels binnenkort meer). In die zin zou je kunnen stellen dat het grootboek tegelijk van iedereen is: de deelnemers zijn het eens over hoe het er op een bepaald moment uitziet.
Waarom moeten blockchains gedecentraliseerd zijn?
Je zou een blockchain natuurlijk zelf kunnen beheren. Maar je zou eindigen met een database die onhandig is vergeleken met superieure alternatieven. Het echte potentieel ervan kan benut worden in een gedecentraliseerde omgeving – dat wil zeggen, een waarin alle gebruikers gelijk zijn. Op die manier kan de blockchain niet worden verwijderd of kwaadwillig worden overgenomen. Het is een enkele bron van waarheid die iedereen kan zien.
Wat is het peer-to-peer netwerk?
Het peer-to-peer (P2P) netwerk is onze laag van gebruikers (of de generaals in ons vorige voorbeeld). Er is geen beheerder, dus in plaats van een centrale server op te roepen als hij informatie met een andere gebruiker wil uitwisselen, stuurt de gebruiker het direct naar zijn peers.
Normaal bevat de server alle informatie die gebruikers nodig hebben. Als je een website bezoekt, vraag je de servers om je alle voorwerpen te geven. Als de website offline gaat, kun je ze niet zien. Als je echter alle inhoud zou downloaden, zou je die op je computer kunnen laden zonder dat je website hoeft te bezoeken.
In wezen is dit wat elke peer met de blockchain doet: de hele database wordt op zijn computer opgeslagen. Als iemand het netwerk verlaat, hebben de overgebleven gebruikers nog steeds toegang tot de blockchain, en kunnen ze informatie met elkaar delen. Als een nieuw blok aan de keten wordt toegevoegd, worden de gegevens over het netwerk verspreid, zodat iedereen zijn eigen kopie van het grootboek kan bijwerken.
Wat zijn blockchain nodes?
Knooppunten zijn eenvoudig wat we de machines noemen die met het netwerk verbonden zijn. Deze nodes of knooppunten slaan kopieën van de blockchain op en delen informatie met andere machines.
Gebruikers hoeven deze processen niet handmatig af te handelen. In het algemeen hoeven ze alleen maar de software van de blockchain te downloaden en te draaien. De rest wordt automatisch afgehandeld.
Het bovenstaande beschrijft wat een node is in de zuiverste zin. Maar de definitie kan ook andere gebruikers omvatten die op een of andere manier met het netwerk interageren. In cryptocurrency bijvoorbeeld is een eenvoudige wallet applicatie op je telefoon wat men een lichte node noemt.
Hoe werken blockchain transacties?
Als Klara Jan via een overschrijving wil betalen, verwittigt ze haar bank. Laten we voor het gemak aannemen dat de twee partijen dezelfde bank gebruiken. De bank controleert of Klara genoeg geld heeft om de transactie uit te voeren voor ze haar database bijwerkt (bv. -$50 aan Klara, +$50 aan Jan).
Dit lijkt niet erg op wat er met een blockchain gebeurt. Het is immers ook een databank. Het belangrijkste verschil is dat er niet één partij is die het controleren en bijwerken van de saldi doet. Alle knooppunten moeten het doen.
Als Klara vijf Bitcoins naar Jan wil sturen, zendt ze een bericht naar het netwerk. Het wordt niet meteen aan de blockchain toegevoegd – de knooppunten zien het wel, maar er moeten andere handelingen worden verricht om de transactie te bevestigen. Zie Hoe worden blokken aan de blockchain toegevoegd?
Zodra de transactie aan de blockchain is toegevoegd, kunnen alle nodes zien dat ze is aangemaakt. Ze zullen hun kopie van de blockchain bijwerken om het weer te geven. Nu kan Klara diezelfde vijf eenheden niet meer naar Carol sturen (d.w.z. ze twee keer uitgeven), want het netwerk weet dat ze ze al in een eerdere transactie heeft uitgegeven.
Er wordt geen gebruik gemaakt van gebruikersnamen en wachtwoorden, de public-key cryptografie wordt gebruikt om het eigendom van geld te bewijzen. Om geld te ontvangen moet Jan een private sleutel genereren. Dat is gewoon een heel lang willekeurig getal dat vrijwel onmogelijk te raden zou zijn. Maar als hij iemand zijn private sleutel vertelt, kan die bewijzen dat hij eigenaar is van zijn geld (en het dus uitgeven). Het is dus belangrijk dat hij het geheim houdt.
Wat Jan echter kan doen, is uit zijn private sleutel een publieke sleutel afleiden. Hij kan dan de publieke sleutel aan iedereen geven. Het is vrijwel onmogelijk om de private sleutel te achterhalen middels een publieke sleutel. In de meeste gevallen zal hij nog een bewerking (zoals hashing) op de publieke sleutel uitvoeren om een publiek adres te krijgen.
Hij geeft Klara het publieke adres zodat ze weet waar ze het geld heen moet sturen. Zij construeert een transactie die zegt betaal dit geld aan dit publieke adres. Dan, om aan het netwerk te bewijzen dat ze niet probeert geld uit te geven dat niet van haar is, genereert ze een digitale handtekening met haar eigen private sleutel. Iedereen kan Klara’s ondertekende bericht vergelijken met haar publieke sleutel en met zekerheid zeggen dat ze het recht heeft dat geld naar Jan te sturen.
Voordelen en nadelen van blockchain technologie
Goed ontworpen blockchains lossen een probleem op dat belanghebbenden in een aantal industrieën, van financiën tot landbouw, teistert. Een gedistribueerd netwerk biedt veel voordelen boven het traditionele client-server model, maar er zijn ook enkele nadelen.
Voordelen
De belangrijkste voordelen die in het Bitcoin whitepaper werden genoemd was dat betalingen konden worden overgemaakt zonder tussenkomst van een tussenpersoon. Latere blockchains zijn nog een stap verder gegaan en stellen gebruikers in staat allerlei soorten informatie te verzenden. Het elimineren van tegenpartijen betekent dat er minder risico is voor de betrokken gebruikers, en resulteert in lagere kosten omdat er geen tussenpersoon is die een deel neemt.
Zoals we eerder opmerkten is een publiek blockchain netwerk ook toestemmingsvrij – er is geen toetredingsdrempel omdat er niemand de baas is. Als een aspirant-gebruiker verbinding kan maken met het Internet, dan kan hij communiceren met andere peers op het netwerk.
Een ander belangrijk voordeel van een blockchain is dat ze een hoge mate van censuurbestendigheid hebben. Om een gecentraliseerde dienst lam te leggen hoeft een kwaadwillende zich slechts op een server te richten. Maar in een peer-to-peer netwerk fungeert elk knooppunt als zijn eigen server.
Een systeem als Bitcoin heeft meer dan 10.000 zichtbare knooppunten, verspreid over de hele wereld. Hierdoor is het zelfs voor een goed uitgeruste aanvaller vrijwel onmogelijk is om het netwerk te compromitteren. Er zijn ook veel verborgen knooppunten, die niet zichtbaar zijn voor het grotere netwerk.
Nadelen
Het meest voor de hand liggende obstakel voor massale toepassing van blockchains is dat ze niet erg goed schalen. Dit geldt voor elk gedistribueerd netwerk.
Omdat alle deelnemers synchroon moeten blijven, kan nieuwe informatie niet te snel worden toegevoegd, want dan zouden de knooppunten het niet kunnen bijhouden. Daarom hebben ontwikkelaars de neiging de snelheid waarmee de blockchain kan worden bijgewerkt opzettelijk te beperken, om ervoor te zorgen dat het systeem gedecentraliseerd blijft.
Voor gebruikers van een netwerk kan dit zich uiten in lange wachttijden als te veel mensen transacties proberen te doen. Blokken kunnen maar een beperkte hoeveelheid gegevens bevatten, en ze worden niet onmiddellijk aan de keten toegevoegd. Als er meer transacties zijn dan in het blok passen, dan moeten alle extra wachten op het volgende blok.
Een ander mogelijk nadeel van gedecentraliseerde blockchain systemen is dat ze niet gemakkelijk te upgraden zijn. Als je je eigen software bouwt, kun je nieuwe functies toevoegen wanneer je maar wilt. Je hoeft niet met anderen samen te werken of toestemming te vragen om veranderingen aan te brengen.
In een omgeving met mogelijk miljoenen gebruikers is het aanzienlijk moeilijker om veranderingen aan te brengen. Je zou enkele parameters van je node software kunnen veranderen, maar uiteindelijk zou je de verbinding met het netwerk verbreken. Als de gewijzigde software incompatibel is met andere knooppunten, zullen die dit herkennen en weigeren met je knooppunt te communiceren.
Stel dat je een regel wilt veranderen over hoe groot blokken mogen zijn (van 1MB naar 2MB). Je zou kunnen proberen dit blok naar knooppunten te sturen waarmee je verbonden bent, maar die hebben een regel die zegt “accepteer geen blokken groter dan 1MB”. Als ze iets groters ontvangen, zullen ze het niet opnemen in hun kopie van de blockchain.
De enige manier om veranderingen aan te brengen is dat de meerderheid van het ecosysteem ze accepteert. Bij grote blockchains kan er maanden – of zelfs jaren – van intense discussie in forums aan vooraf gaan voordat veranderingen gecoördineerd kunnen worden.
Zo je bent aan het eind van dit artikel gekomen. Je kent nu de basis van een blockchain. In een volgend artikel vertellen we je meer over blockchain.
The post Analyse: Alles wat je moet weten over de Blockchain technologie
appeared first on crypto inzichten