Wat is Blockchain?

Wat is Blockchain?

Niels
Niels Blockchain

Nagenoeg alle crypto valuta zijn voortgekomen uit de blockchaintechnologie. Deze technologie wordt door vele mensen beschreven als een technologie die een extreem grote impact zal gaan hebben. In dit artikel zult u zeer globaal lezen hoe deze technologie precies werkt en wat deze technologie tot stand kan brengen.

Blockchain as public ledger

De blockchain is de achterliggende techniek die het creëren van cryptovaluta en decentrale applicaties mogelijk heeft maakt. Een blockchain kan het beste worden vergeleken met een openbaar logboek waarin elke transactie gelijk staat aan een nieuwe regel die wordt toegevoegd aan het logboek. De gebruikers kunnen geen data in het logboek wijzigen.

Blockchain public ledger

Als iets eenmaal in het logboek is geschreven, dan kan dit dus nooit meer worden aangepast of verwijderd. De gebruikers van het logboek controleren de transacties in het logboek zelf en bepalen onderling wie een nieuwe regel aan informatie mag toevoegen aan het logboek. Dit proces zorgt ervoor dat er in tegenstelling tot een bank, geen sprake is van een centrale partij.

Wanneer iets eenmaal in de ledger is geschreven, kan dit nooit meer worden aangepast of verwijderd.

De gebruikers kunnen met elkaar handelen doordat zij gebruik maken van de blockchain technologie. Gedurende dit handelen is er geen derde partij nodig voor het controleren van de transactie zoals wel altijd het geval was bij banken of partijen zoals Paypal. Dit zijn de eigenschappen van de blockchain technologie. Klinkt dit allemaal nog heel vaag? Maakt u zich geen zorgen, in dit artikel zal de exacte werking van een blockchain verder worden uitgelegd!

Hoe ziet de blockchain er uit?

De blockchain is de achterliggende techniek die het mogelijk maakt dat 2 verschillende partijen met elkaar kunnen handelen in een netwerk waar geen sprake is van één centrale partij. Dit wordt ook wel een decentraal netwerk genoemd.

Zoals de naam al aangeeft bestaat is een blockchain eigenlijk een keten van blokken. Dit zit dan ook in de naam: “block” staat voor blok en “chain” betekent keten in het Engels. In deze blokken is specifieke informatie opgeslagen. Deze informatie kan over allerlei verschillende dingen gaan. In het geval van Bitcoin is dit bijvoorbeeld de transacties die mensen naar elkaar over overgemaakt in Bitcoin.

Zoals u kunt zien op onderstaande afbeelding zijn er verschillende transacties opgeslagen in een blok. Ieder blok refereert dan ook terug naar de hash van het vorige blok. Een hash is een unieke code die refereert naar bepaalde informatie, de werking van een hash zal in de volgende paragraaf duidelijker worden uitgelegd. Doordat het huidige blok terug refereert naar de hash van het eerdere blok kan eerdere data die is opgeschreven in de blockchain niet aangepast of verwijderd worden. Hoe dit precies kan en wat een hash nou precies is zal nu duidelijk worden uitgelegd.

Blockchain and hashes to previous blocks

Wat is een hash?

Zoals eerder aangegeven kan een hash van bepaalde informatie het beste worden bekeken als een samenvatting van deze informatie. Het creëren van een hash gebeurt dan ook op de volgende manier. Als iemand informatie of een document met informatie in een hash functie stopt dan zal de hash functie een unieke code voor deze informatie creëren.

Deze code is uniek voor deze informatie. Op onderstaande afbeelding is te zien hoe een unieke code voor het bestand document.txt wordt gecreëerd. Als iemand opnieuw hetzelfde document in deze hash functie stopt, dan zal de hash functie opnieuw dezelfde unieke code als output creëren.

Hash function

Het is belangrijk om te weten dat de unieke code die refereert naar een bepaald document of bepaalde informatie compleet zal veranderen als er ook maar een kleine aanpassing in het bestand Document.txt plaatsvindt. Hieronder is dan ook aangegeven hoe zelfs de gehele output code van de hash functie compleet veranderd als u enkel een punt aan het einde van een zin toegevoegd.

“Het is koud in Nederland” resulteert in de volgende hash: 

105F1E5E4E26D1AFAC3DCD4A772091B9A23F5628A359423B5641784E1F159FCE

“Het is koud in Nederland.” resulteert in de volgende hash:

038C655033C4C99D6E37CFAB0A567156C3F07CB623374603DB356C3F0B3E929

Een laatste feit over een hash functie is dat het een one-way function is. Hiermee wordt bedoeld dat het onmogelijk is de input van een hash functie te raden door naar de output te kijken. Als iemand weet wat de output code van een hash functie is, dan zal deze persoon nooit kunnen raden wat er in document.txt stond dat werd gebruikt als input om deze code te creëren. De enige manier voor een persoon om te raden wat er in document.txt stond is door een willekeurige tekst als input te geven aan de hash functie Als de output code overeenkomt met de output code van document.txt, dan weet deze persoon wat er oorspronkelijke in document.txt stond.

Het is onmogelijk om de input van een hashfunctie te raden door de output te analyseren.

De enige manier om de input van een hash functie te raden is dus door extreem vaak een willekeurige input aan de hash functie te geven en te controleren of de output overeenkomt met die output waarvan u de input wilt weten. Hoe deze technologie er precies voor zorgt dat de informatie in een blockchain niet meer gewijzigd of verwijderd kan worden, is in het volgende deel van dit artikel uitgelegd.

Hoe zorgt een hash er dan voor dat informatie in de blockchain niet veranderd kan worden?

Zoals eerder genoemd is, er wordt in een blockchain blok terug gerefereerd naar de hash van het vorige blok. Het is belangrijk om te weten wat dan precies de input data is voor de hash van een blok. De hash van een blok wordt gecreëerd door de nonce, de transacties die zijn opgeslagen zijn in dat blok en de hash van het vorige blok als input te geven aan de hash functie. Door deze informatie samen te voegen als één input wordt de hash van een blok gecreëerd.

De hash van een block wordt gemaakt door de nonce te combineren met de transacties op het blok en de hash van het vorige block.

Blockchain, what is it?

Als de input data van een hashing functie ook maar een klein beetje verandert, dan verandert de hash van dit blok compleet. Dit betekent dat als iemand de informatie van een transactie, opgeslagen in een blok, ook maar een beetje verandert, dan zal de hash van dat blok compleet veranderen.

Zoals eerder aangegeven is de hash van een voorgaand blok toegevoegd aan de hash van het nieuwe blok. Dit betekent dat als iemand een transactie wilt wijzigen in een oud blok die een maand geleden is toegevoegd aan de blockchain, dan zal de hash van dit blok veranderen.

Bij een blockchain maken alle blokken die na een bepaald blok plaatsvinden ook gebruik van de hash van de voorgaande blokken voor het creëren van hun eigen hash. Hierdoor zullen tevens alle hashes van de opeenvolgende blokken gedurende die maand ook worden gewijzigd. Dit zal ervoor zorgen dat de gewijzigde transactie ongeldig wordt verklaard, deze verandering zal dus nooit worden opgenomen in de blockchain.

Het is nu duidelijk waarom de opgeslagen informatie in een blockchain niet verwijderd of gewijzigd kan worden. Maar waarom wordt er precies een nonce toegevoegd in de hash van een blok en wat is dit precies? Dit zal nu worden uitgelegd!

Blockchain mining

Om te begrijpen wat blockchain is, is het belangrijk om het zogenaamde “mining” proces van blockchain te begrijpen. Zoals eerder aangegeven is er bij een netwerk waar gebruik wordt gemaakt van blockchain geen sprake van een centrale partij die transacties controleert of toevoegt. De gebruikers van het blockchain netwerk zullen dus onderling moeten bepalen wie het nieuwe blok met transacties mag toevoegen aan de blockchain.

Het programma dat dit proces beschrijft heet het “consensus protocol”. Tegenwoordig bestaan er vele verschillende soorten consensus protocols. Het eerste consensus protocol is echter gecreëerd door Bitcoin, genaamd “proof-of-work”. Om duidelijk te maken hoe consensus protocols precies werken zal dit aan dit aan de hand van proof-of-work worden uitgelegd.

Het eerst consensus protocol was ontwikkeld door Bitcoin en heet “proof-of-work”.

Een consensus protocol bepaalt welke gebruiker van het netwerk het nieuwe blok mag toevoegen aan de blockchain. Bij proof-of-work wordt dit bepaald door te kijken naar de rekenkracht van de gebruikers hun computers. Dit wordt wederom gedaan met behulp van een hash functie. Zoals aangegeven is het onmogelijk te bepalen wat de input van een hash is door naar de output te kijken. Op de volgende manier wordt bepaald welke gebruiker binnen het netwerk het nieuwe blok mag creëren en toevoegen aan de blockchain:

De gebruikers moeten een input geven aan een hashing functie, deze input wordt in dit geval ook wel de nonce genoemd. De gebruikers die als eerste een nonce als input aan de hashing functie geeft wat resulteert in een hash die begint met een bepaald aantal nullen is degene die het nieuwe blok mag toevoegen aan de blockchain.

Dit proces wordt ook wel “minen” genoemd. De enige manier om de correcte nonce te vinden is door heel vaak een random nonce als input te geven aan de hashfunctie en te hopen dat dit resulteert in een output die begint met een bepaald aantal nullen. Dit proces is dan ook op onderstaande afbeelding gevisualiseerd.

Blockchain mining rig

De computer die het nieuwe blok toevoegt aan de blockchain zal tevens worden beloond met een bepaald aantal Bitcoins voor het opofferen van de rekenkracht van zijn computer.

Wat is er dan zo bijzonder aan een blockchain?

Blockchain houdt dus heel globaal het volgende in; een techniek gecreëerd om transacties tussen verschillende partijen uit te voeren zonder dat mensen op een derde partij hoeven te vertrouwen. De transacties zijn opgeslagen in blokken data. De opgeslagen data kan niet worden verwijderd of aangepast.

Blockchain is een unieke technologie die ontwikkeld is om transacties uit te voeren tussen verschillende partijen zonder afhankelijk te zijn van een derde partij.

De gebruikers in blockchain netwerk bepalen d.m.v. een consensus protocol of de transacties geldig zijn en wie het nieuwe blok met transacties mag toevoegen aan de blockchain. Door de blockchain technologie is een gedistribueerd netwerk gecreëerd waarbij er geen sprake is van een centrale partij die het netwerk beheert of bepaald welke transacties moeten worden toegevoegd.

Decentralized blockchain

Deze laatste zin beschrijft ook meteen waarom de blockchain technologie zo innovatief en bijzonder is. Voorheen als mensen een transactie wilden uitvoeren moesten ze of elkaar vertrouwen of gebruik maken van een vertrouwde derde partij zoals een bank of PayPal. Door blockchain is het nu mogelijk transacties uit te voeren waarbij vertrouwen wordt vervangen door cryptografisch bewijs.

Met blockchaintechnologie wordt voor beveiliging gezorgd met cryptografisch bewijs in plaats van menselijk vertrouwen.

Maar waarom is decentraliteit dan zo belangrijk?

Blockchain security
Nu het duidelijk is wat blockchain precies is, vragen mensen zich nog vaak af waarom het kunnen uitvoeren van transacties zonder te hoeven vertrouwen op een grote derde partij zo belangrijk is. Iedereen vertrouwt toch wel bedrijven als Paypal of een Bank? Dit is dan ook zeker waar, in de Westerse wereld vertrouwen de mensen de banken en de grotere bedrijven. Dit is echter niet het geval voor politiek-onrustige landen waar de toegang tot een bank u zomaar ontzegd kan worden.

Blockchain kan ook worden gebruikt om decentrale applicaties te creëren waarbij mensen goederen waarover zij beschikken maar geen gebruik van maken makkelijker kunnen uitlenen aan andere mensen.

Golem
Het crypto bedrijf genaamd GOLEM is hiervan een perfect voorbeeld. GOLEM heeft een netwerk gecreëerd waarbij gebruikers een deel van de rekenkracht van hun computer kunnen verkopen aan dit netwerk. Vervolgens kan dit netwerk worden gebruikt om zeer ingewikkelde berekeningen mee uit te voeren. Hierdoor heeft GOLEM als het ware een decentrale supercomputer gecreëerd.

 
Tevens kunnen decentrale applicaties worden gebruikt om de opbrengsten van applicaties eerlijker te verdelen onder de gebruikers van een applicatie. Vele mensen vragen zich af waarom Facebook als enige de opbrengsten van advertenties ontvangt. Door gebruik te maken van decentrale systemen zouden de opbrengsten van applicaties zoals advertenties eerlijker verdeeld kunnen worden onder gebruikers van deze applicaties.
Door decentrale systemen te gebuiken, kunnen winsten eerlijke worden verdeeld.

Tenslotte is het in sommige gevallen zeer handig dat een blockchain kan worden gebruikt als een database waarin het nagenoeg onmogelijk is om data te wijzigen of te veranderen. Hierdoor beschikt men altijd over een duidelijk overzicht van alle gebeurtenissen die hebben plaatsgevonden op het netwerk.

Leestips

Wij hopen dat uw vraag: “wat is blockchain?” door het lezen van dit artikel beantwoord is en dat u nu een duidelijker beeld heeft gekregen over wat deze blockchain technologie precies inhoudt en wat deze technologie tot stand zou kunnen brengen. Als leestip willen wij u graag de oorspronkelijke Bitcoin whitepaper aanraden. Alhoewel de whitepaper redelijk technisch is, wordt de blockchain technologie zoals deze oorspronkelijk is bedacht wel duidelijk uitgelegd.

https://bitcoin.org/bitcoin.pdf