🇳🇱 Ardana Academy module 2: Blockchain

In module 2 geven we een introductie in blockchain technologie. We zullen de 3 blockchain architecturen bekijken, verschillende consensus protocollen, waarom we blockchain technologie nodig hebben, en veel meer.

Wat is Blockchain?

Blockchain is een gedistribueerde gedecentraliseerde database, dat bestuurd wordt door een protocol dat peer-to-peer transacties en netwerkwijd consensus mogelijk maakt. Een andere naam voor blockchain is ook wel gedistribueerd logboek. Zoals we in module 1 bekeken hebben, kan een blockchain zowel gecentraliseerd gedistribueerd of gedecentraliseerd gedistribueerd zijn.Wanneer de controle van de blockchain niet in handen is van een financiële organisatie, dan is de blockchain gedecentraliseerd gedistribueerd.

Dit type blockchain bestaat uit een reeks onderling verbonden blokken die data bevatten. Deze blokken zijn de eenheid waaruit de blockchain opgebouwd is. In de cryptocurrency wereld zijn de blokken vergelijkbaar met pagina’s van een logboek, en de blockchain is het gehele logboek samengenomen. Een blok is een bestand dat onveranderbare data bevat gerelateerd aan het blockchain netwerk. De blokken bevatten alle data over alle cryptocurrency transacties uitgevoerd op het netwerk.

Het initiële ontwerp diende ervoor om digitale documenten op te slaan en te dateren zodat ze niet meer veranderd zouden kunnen worden. Het doel van blockchain is om de centrale server/autoriteit overbodig te maken, en dubbele transacties te voorkomen. Dubbele transacties kunnen problemen geven zoals bijvoorbeeld geld tweemaal uitgeven. Dit gebeurt wanneer een blockchain netwerk verstoord wordt, en cryptomunten gestolen worden. De dief verstuurt een kopie van een transactie in een poging ze legitiem te krijgen, of verwijdert zelfs de originele transactie. Alhoewel het niet vaak voorkomt, gebeurt dubbel spenderen af en toe.

Een blockchain wordt vooral gebruikt voor het beveiligd verzenden van middelen zoals fondsen, contracten en andere informatie zonder gebruik te moeten maken van een externe derde partij of een overheid.

Wat een blockchain NIET is

Voordat we verdergaan in het artikel, is het nuttig om ook een aantal misvattingen op te helderen. Het volgende is wat blockchain NIET is:

Blockchain is NIET Bitcoin

Bitcoin is maar één van de vele toepassingen van de blockchain technologie. Blockchain technologie heeft een veelvoud aan toepassingen. Het kan bijvoorbeeld ook gebruikt worden voor het veilig delen van medische gegevens, maken van NFT marktplaatsen, muziek royalties vastleggen, internationale betalingen uitvoeren, en nog veel meer.

Blockchain is niet 100% veilig

In het algemeen hangt de veiligheid van de blockchain af van de applicaties die de blockchain gebruiken.

Data opgeslagen op de blockchain is niet 100% nauwkeurig

Blockchain kan niet verifiëren of data dat eraan toegevoegd wordt door externe partijen volledig correct of nauwkeurig is. Dit is van toepassing op alle informatie waarnaar verwezen wordt op de blockchain, maar er niet opgeslagen wordt. Het komt neer op een digitaal orderboek. Men kan er informatie in opslaan, maar het kan niet de nauwkeurigheid of correctheid ervan garanderen.

Documentatie

Wanneer je je verdiept in blockchain, ga je waarschijnlijk documenten zoals white papers, yellow papers en pitch decks tegenkomen. Laten we even bekijken wat deze documenten inhouden.

Whitepaper

Een whitepaper is een marketing document bedoeld om potentiele kopers/klanten bewust te maken van een bepaalde dienst of technologie. De whitepaer moet een aantal dingen duidelijk maken: het probleem, de oplossing, hoe de token dit probleem oplost, het team, de strategie en het economische model. De whitepaper kan gezien worden als een voorstelling van het project.

Yellowpaper

Een yellowpaper is een meer technische versie van de whitepaper. Het geeft de technologische aspecten van het project weer op een beknopte, gestructureerde manier. Als je de whitepaper als een voorstelling van het project ziet, dan is de yellowpaper de meer gedetailleerde informatie over het project.

Litepaper

Een litepaper is een ingekorte versie van de whitepaper. Ze is bedoeld om een kort overzicht te geven van het project.

Pitch Deck

Een pitch deck is een presentatie die bedoeld is om het project voor te stellen aan een bepaald publiek, meestal investeeerders. Een belangrijk aspect van een pitch deck is de informatie op een efficiënte manier voor te stellen, afhankelijk van het doelpubliek. Dit type document heeft legt meestal de nadruk op een grafische, visuele manier van het weergeven van de informatie.

Blockchain architectuur

Blokken, mijners en nodes zijn de 3 primaire elementen van een blockchain.

Blokken

Een blockchain is een keten van blokken die informatie bevatten. De oorsprongsblok is de eerste link in de keten. Elke nieuwe blok in de keten is verbonden met die dat ervoor komt.

De data die wordt opgeslagen in de blok is afhankelijk van het type blockchain. Een Bitcoin blok bijvoorbeeld bevat informatie over de zender, ontvanger, en het aantal bitcoins die verzonden worden.

Een hash is ook onderdeel van een blok. Je kan het bekijken als een uniek kenmerk van de blok. Het identificeert specifiek deze blok en alle inhoud. Dit heeft als gevolg dat elke aanpassing aan de blok een verandering van de hash resulteert eenmaal de blok gemaakt is.

De hash is noodzakelijk om aanpassingen te detecteren. Als de hash van een blok veranderd is, is het niet meer dezelfde blok. Alle blokken bevatten dus de hash van de vorige blok ter verificatie.

Elke blok bevat dus:

  1. Data

  2. Hash

  3. Hash van de vorige blok

Deze informatie is wat een blockchain beschermt tegen kwaadaardige aanvallen. Stel je een scenario voor waarbij een hacker de data in de tweede blok verandert. Het gevolg is dat de hash van deze blok verandert. De derde blok bevat echter de originele hash van de tweede blok. Hierdoor wordt het derde en alle daaropvolgende blokken ongeldig sinds de hashes niet meer overeenkomen. Een aanpassing aan één blok gaat dus alle daaropvolgende blokken ongeldig maken.

De blockchain wordt ook constant gecontroleerd door het netwerk van gebruikers, wat het moeilijk maakt om een aanpassing te maken. Voor blockchains die gebruik maken van proof of work, kan een aanval uitgevoerd worden waarbij een aanvaller meer dan 51% van de mining rekenkracht controleert.

Mijners

Het proces waarbij nieuwe blokken met transacties gemaakt worden, heet blokken mijnen.

Elke blok in de blockchain heeft een unieke nonce en hash. Nonce is een Engelse afkorting voor “number only used once”, of uniek nummer. Deze nonce is een nummer dat toegevoegd wordt aan de gehashte of versleutelde blok. Deze nummer is hetgeen de moeilijkheidsfactor bepaalt voor het mijnen van de blok, en is de berekening die mijners moeten oplossen. Hij verwijst ook naar de hash van de vorige blok in de keten. Deze manier van werken is hetgeen mijnen van blokken moeilijk maakt, zeker bij grote blockchains.

Een aanpassing maken aan een blok eerder in de keten betekent dat niet alleen die ene blok, maar alle daaropvolgende blokken opnieuw berekend moeten worden. Dit is wat het manipuleren van een blockchain zo moeilijk maakt. Dit wordt gezien als wiskundige veiligheid, sinds het berekenen van zo een “golden nonce” veel tijd en middelen vraagt.

Een “golden nonce” heeft een hash waarde die lager is dan de gevraagde moeilijkheidsgraad, wat betekent dat ze aanvaardt wordt door de volgende blok.

Wanneer een blok gemijnd wordt, moeten alle nodes in het netwerk deze aanpassing aanvaarden, waarna de mijner gecompenseerd wordt voor het geleverde werk.

Nodes

Decentralisatie is een essentieel onderdeel van blockchain technologie. De keten kan geen eigendom zijn van 1 node in de keten. Alle hardware dat een kopie van de blockchain opslaat en het netwerk mee in stand houdt, wordt een node genoemd.

De primaire rol van een blockchain node is het valideren van de opeenvolgende batch van transacties, gekend als blokken. Elke node heeft een unieke identificatie in het netwerk, waardoor het herkend kan worden door andere nodes in het netwerk. De verbonden nodes in het netwerk vormen het gedistribueerde logboek van de blockchain.

De drie types Blockchain architectuur

Er bestaan maar 3 types blockchain structuren:

Publieke blockchain architectuur

Een publieke blockchain architectuur betekent dat de data en toegang tot het systeem open zijn voor iedereen die erin wil participeren. Bitcoin, Ethereum en Litecoin zijn publieke blockchains.

Private blockchain architectuur

In tegenstelling tot publieke blockchains, zijn private systemen onder controle van gebruikers van een specifieke organisatie of geautoriseerde gebruikers die uitgenodigd zijn om te participeren. De bekendste voorbeelden zijn Ripple (XRP) en Hyperledger.

Consortium blockchain architectuur

Deze blockchain structuur kan verschillende organisaties omvatten. In het consortium worden procedures opgesteld en rollen toebedeeld aan een aantal toegewezen entiteiten. Twee voorbeelden van consortium blockchains zijn Energy Web Foundation en IBM Food Trust.

Consensus protocollen

Voor we de consensus protocollen bekijken, kijken we even naar een statistiek in verband met consensus protocollen: als een hacker toegang krijgt tot 51% van het blockchain netwerk, kan men mogelijk de onderliggende structuur aantasten. Wanneer dit gebeurt, wordt het protocol gezien als gehackt. Het 51% aanval probleem wordt op verschillende manieren opgelost in de verschillende consensus mechanismen die we verder hieronder gaan bekijken.

Consensus procedures stellen de nodes van het netwerk in staat om transacties te valideren. In gedistribueerde systemen is er geen perfect consensus protocol. Het protocol moet een afweging maken tussen consistentie, beschikbaarheid en fout tolerantie.

We gaan de verschillende consensus protocollen hieronder bekijken: proof of work, proof of stake en proof of space.

Proof of Work

Proof of Work was een van de eerste protocollen gebruikt in blockchains. De methode werkt door het berekenen van hash waarden, en het valideren van transacties tot de hash waarde een aantal achterliggende nullen haalt. PoW vereist van de eigenaren van de computers in het netwerk om een complex mathematisch probleem op te lossen om in staat te zijn om een blok aan de keten toe te voegen. Deze complexe berekening oplossen wordt “minen” genoemd, en miners worden meestal voor hun werk beloond in cryptocurrency.

Maar mining is een moeilijke opdracht. De wiskundige opdracht kan alleen opgelost worden door opeenvolgende berekeningen tot de oplossing gevonden wordt, met een kans van 1 op 5,9 triljoen op slagen. Er is dus een enorme hoeveelheid computationele rekenkracht nodig, met een enorme hoeveelheid benodigde energie tot gevolg. Dit betekent dat de voordelen van mining moeten opwegen tegen de kost van de computers en de benodigde energie. Het zou een enkele computer namelijk jaren vergen om het wiskundig probleem op te lossen.

Verder wordt het moeilijker om winstgevend te werken naarmate het netwerk groeit.

Bitcoin en Litecoin zijn twee voorname protocollen die gebruik maken van PoW.

PoW overzicht

· Proof of Work is een consensus algoritme ontworpen voor permissieloze publieke logboeken.

· Een lineaire structuur wordt gebruikt om de blokken voor te stellen. Elke blok bevat een aantal transacties.

· Bitcoin mining omvat het oplossen van de cryptografische puzzel die bestaat uit het vinden van een willekeurig getal dat leidt tot een hash met een bepaald aantal achterliggende nullen.

· De publieke en private sleutels die iedere gebruiker ontvangt worden gebruikt om een transactie te ondertekenen.

Proof of Stake

Na PoW werd Proof of Stake opgenomen in blockchain netwerken als consensus mechanisme. In PoS hebben de gebruikers van de blockchain een aandeel in de blockchain, meestal door het bezit van de cryptomunt, hierdoor kunnen transacties geselecteerd, geverifieerd en gevalideerd worden. Omdat er geen mining noodzakelijk is, wordt een significante hoeveelheid rekenkracht uitgespaard. In het PoS model wordt een validator gekozen, en de blok wordt gemaakt. Een blockchain validator is iemand die verantwoordelijk is voor het valideren van transacties op de blockchain. Wanneer transacties gevalideerd werden, worden ze toegevoegd aan het logboek. Om een blok te valideren moet de miner een deel van zijn cryptocurrency opzij zetten. Wanneer de transactie gevalideerd werd, krijgt de validator het aandeel dat opzij gezet werd terug, inclusief extra transactiekosten.

PoS wordt ook aanzien als minder risicovol in het geval dat een miner het netwerk aanvalt, dit omdat de manier waarop de beloningen gestructureerd zijn het minder interessant is voor dit type aanval uit te voeren.

PoS overzicht

· Validators worden gekozen aan de hand van hun economisch aandeel in het netwerk.

· The doel is om zoveel mogelijk centralisatie van de validators te vermijden en alle validators de kans te geven om een blok te produceren.

· Er is geen computationele uitdaging om op te lossen, het is dus ecologisch voordeliger.

· Voor mining is geen gespecialiseerde apparatuur vereist.

Proof of Space

Proof of Space, ook wel PoSpace, is een netwerk consensus systeem dat gelijkaardig is aan PoW. PoSpace valideert transacties aan de hand van opslagcapaciteit in plaats van rekenkracht van computers.

PoSpace gebruikt opslagcapaciteit en beloont miners die het grootste aantal opslagcapaciteit toegekend hebben aan een blok. Deze datastructuur wordt gebruikt om de “pebbling game” op te lossen, en maakt gebruik van grafieken die moeilijk te pebblen zijn. De term “pebbling” refereert naar het opslaan van hash waarden van de “ouders”.

Grafieken worden willekeurig gegenereerd om alle mogelijke oplossingen van het probleem weer te geven. Deze grafieken worden opgeslagen op de schijven en worden opgelost gebruik makend van een methode genaamd Shabal’s algoritme. De structuur van het algoritme is de context voor Shabal berekeningen: het bevat de tussentijdse waarden en nog data van de vorige blok op de blockchain.

De miners vergelijken hun antwoorden eens ze berekend zijn, en de oplossing met de beste tijde en ruimte complexiteit mag de volgende blok produceren.

POSpace overzicht

· PoSpace is erg vergelijkbaar met PoW, behalve dat data opslag gebruikt wordt in plaats van rekenkracht.

· Blockchain fans zien proof of space als een groener alternatief door de nuttigere aspect van opslag en de de lagere energiebehoefte van opslag. Deze methode krijgt echter ook kritiek omwille van het feit dat het de prijs van data opslag doet stijgen.

· Dit consensus mechanisme bevoordeelt miners met het grootste data opslag capaciteit. Het is gebaseerd op beschikbare middelen, met als gevolg dat miners met minder opslag minder kunnen participeren in het protocol. Het is een concept dat ingaat tegen het concept van decentralisatie.

Hoe werken blockchain transacties?

Er zijn verschillende stappen die een transactie moet doorgaan voor ze aan de blockchain wordt toegevoegd, maar de uitvoering is relatief eenvoudig:

  1. Een transactie aanvraag wordt verstuurd naar het systeem. Cryptocurrency, contracten, gegevens, of andere informatie kan deel zijn van een transactie.

  2. De transactie aanvraag wordt verzonden via de nodes binnen het peer-to-peer netwerk.

  3. De transactie en de gebruikers’ status worden gevalideerd door het netwerk van nodes aan de hand van algoritmes.

  4. De nieuwe blok wordt toegevoegd aan de blockchain wanneer de transactie compleet is.

Waarom hebben we blockchain nodig?

Blockchain is een fascinerende en extreem nuttige technologie. Hier zijn een aantal redenen waarom blockchain technologie zoveel aan populariteit heeft gewonnen:

Efficiëntie

Blockchain technologie kan in de financiële industrie een kritieke rol gaan spelen door het mogelijk maken van snellere transacties. Het elimineert de nood aan langdurige verificatie, verrekening en vereffening sinds alle partijen toegang hebben tot dezelfde versie van de data in het digitale logboek.

DeFi benut opkomende blockchain technologieën om grensoverschrijdende, permissieloze transacties van digitale middelen mogelijk te maken, resulterende in veel snellere globale transacties.

In contrast zijn grensoverschrijdende betalingen via het traditionele financiële systeem veel trager, sinds een transactie via veel tussenpersonen moeten passeren voordat de bestemmeling bereikt wordt.

Betrouwbaarheid

De identiteiten van de betrokken partijen zijn gecertificeerd en geverifieerd door blockchain. Dit elimineert de mogelijkheid van dubbele uitgaven en tegelijkertijd verlaagt het de kosten en versnelt het transacties.

In contrast zullen de regelgeving rond KYC (ken je klant) en AML (anti-witwas regelgeving) zorgen voor significante vertragingen van transacties in het traditionele financiële systeem.

Top Blockchain toepassingen

Blockchain toepassingen blijven zich uitbreiden. Hier zijn twee commerciële toepassingen:

Smart Contracts

Het hoofddoel van computer programma’s genaamd “smart contracts” is het automatiseren van de implementatie van contract bepalingen wanneer de omstandigheden ervoor vragen. De computer code maakt gebruik van “when/if/then” commando’s om ervoor te zorgen dat alle partijen hun beloningen of boetes krijgen zoals het contract voorschrijft. Veel sectoren maken nu gebruik van smart contracts voor een waaier van mogelijkheden die voordien behandeld werden via papieren contracten.

Cyberveiligheid

Door hun duurzaamheid, openheid en hoge graad van distributie, zijn blockchains erg veilig. Er is geen gecentraliseerde database of centrale entiteit om aan te vallen in het geval van blockchain. Verder is het ingewikkeld voor criminelen om informatie te bemachtigen die in blockchains opgenomen zijn, omdat ze gedecentraliseerd zijn, inclusief private blockchains, en de data opgeslagen in de blockchain is onaantastbaar.

Blockchain beperkingen

Ondanks dat blockchain veel voordelen biedt, heeft het ook zijn beperkingen. Het primaire nadeel is het feit dat wanneer het netwerk overbevolkt geraakt, de blockchain kan vertragen. Het is ook een grotere uitdaging om te groeien door het gebruik van een consensus protocol.

Een ander nadeel is dat data op de blockchain onveranderbaar is; eenmaal een block aangemaakt is, dan het niet meer veranderd worden. Ook wordt het door sommigen gezien als een een noodzaak om regelmatig alles te controleren, of het risico lopen om toegang tot je fondsen te verliezen.

Daarentegen onveranderlijkheid heeft ook zijn voordelen, zoals hogere efficiëntie. De onveranderlijkheid van blockchain baat niet alleen auditering, het bevordert ook nieuwe analytische methodes, en algemene zakelijke processen. Deze mogelijkheden zorgen voor een besparing in tijd en geld tijdens het auditeren van specifieke toepassingen, het zoeken van fouten, het maken van backups en herstelpunten om data te herstellen, enz.

Blockchain technologie staat ook nog in zijn kinderschoenen, en spijtig genoeg er is vaak ook een gebrek aan interoperabiliteit tussen blockchains. Er zijn echter verschillende initiatieven aan de horizon die dit probleem kunnen oplossen.

In de volgende module gaan de we evolutie van geld en bitcoin bekijken.

Tekst vertaald naar het Nederlands door BeADA Cardano Stake Pool (www.beadapool.com) met toestemming van de auteur. Origineel artikel vindt u hier.