Sinds de ‘bull run‘ (oftewel de grote prijsstijgingen) in 2017 weet vrijwel iedereen van ‘de Bitcoin’.
Het was voornamelijk het grote geld wat ermee gemoeid ging waardoor mensen enthousiast werden.
Maar vergeet niet dat zonder de blockchain, de achterliggende techniek, er geen Bitcoin bestond!

Wat is blockchain nou eigenlijk?

De oorspronkelijke revolutionaire technologie achter de Bitcoin is de blockchain technologie.
Het is een soort grootboek waar elke transactie digitaal is ondertekend.
De infrastructuur wordt gebruikt door de zogenoemde cyptocurrency’s en dapps (decentrale applicaties).

Introductie in de techniek

Het concept van de blockchain is om digitale data op te slaan.
Deze data bestaat uit allerlei verschillende blokken.
Je hebt dus blokken (blocks) met digitale data.
Deze blokken worden aan elkaar gekoppeld als een ketting (chain).
Wanneer een blok aan deze ketting vastzit is deze informatie niet meer te veranderen.
Het blok is verder altijd door iedereen in te zien met dezelfde inhoud als toen het aan de ketting werd toegevoegd.

Het unieke hieraan is dat toegevoegde data niet meer veranderd kan worden.
Er kan dus ook niet worden gefraudeerd met deze data.

Stel je voor dat je een stuk grond hebt gekocht.
Dan upload je de officiële documenten in de blockchain en kan je voor altijd aantonen dat jij op dat moment de officiële grondbezitter was.
Je loopt dus niet het risico dat iemand het document veranderd of verwijderd.
In het geval dit op een centrale ‘normale’ server staat opgeslagen loop je het risico dat de server bijvoorbeeld wordt gehackt.

Het concept van de blockchain is dus dat het data kan opslaan (waaronder dus transacties) en dat deze data niet gewijzigd kan worden.
Ook is er geen centrale partij (zoals een regering) in het spel welke invloed kan uitoefenen op de opgeslagen data.

Maar, hoe werkt dat nou allemaal?

Hoe werkt blockchain?

Nu we het concept van de blockchain begrijpen gaan we kijken naar de techniek in de praktijk.
We hebben ons best gedaan dit zo simpel mogelijk uit te leggen.

De oudste blockchain – Bitcoin Blockchain

Een van de eerste blockchain protocollen was die van de Bitcoin.
Ieder block van deze blockchain heeft een grootte van ongeveer 1MB.
Een blok kan dus gevuld worden met 1MB aan data voordat deze wordt toegevoegd aan de ketting.
Momenteel zijn dit rond de 600.000 blocks.
De data op deze blockchain bestaat exclusief uit transactionele data van de Bitcoin transacties.
Het is dus een groot orderboek van alle transacties die ooit hebben plaatsgevonden.

Samenvoegen van de blokken

Stel je een aantal blokken voor met transactionele data.
We nemen voor het gemak even 3 verschillende blokken.
Onthoud, ieder blok heeft een grootte van 1MB.
Op dit moment kun je het vergelijken met losse tekst documentjes met wat invulling, het is dus nog niets speciaals.

Blok/document 1 bevat de eerste transacties die hebben plaatsgevonden tot aan 1MB, op dat moment is het blok vol en opent blok/document 2, dit blijft zo doorgaan.
Wanneer een blok dus vol is met transacties (oftewel gevuld met 1MB aan transacties) wordt deze gekoppeld aan de ketting.

De koppeling

Om deze koppeling te voltooien ontvangt ieder block een eigen digitale handtekening. Deze handtekening reageert op de data in dat block.
Als er iets verandert in het blok krijgt deze meteen een nieuwe handtekening. Hoe dit werkt leggen we in de volgende stap uit.

Op het moment dat blok 1 gevuld is krijgt deze een handtekening van een aantal codes.
Stel je voor het gemak voor dat block 1 een handtekening krijgt met ‘AB12’.
Deze wordt dan opgenomen in het tweede blok tussen de rest van de data.
Dit wordt automatisch gecheckt door de computer.
Op deze manier zijn deze aan elkaar gekoppeld.
Maar stel je nou voor dat in blok 1 op een of andere manier iets veranderd.
Bijvoorbeeld een foute transactie.
Dan verandert de handtekening direct en is deze niet meer gelijk aan de ketting.
Dit geeft de rest van de ketting aan dat er iets is gebeurd met de data in blok 1.
Hierdoor wordt deze wijziging tegengehouden en wordt het blok hersteld naar de oorspronkelijke staat.

Oftewel, als je iets uit de blockchain wilt halen of veranderen dienen alle handtekeningen van ieder blok ooit gewijzigd te worden op dezelfde manier.
De kans dat dit gebeurd is praktisch onmogelijk met de huidige computers.

Hoe wordt een handtekening (oftewel hash) gecreëerd?

Voordat we verdergaan moet je goed onthouden dat een handtekening een andere benaming is voor een ‘Hash‘.

Terug naar blok 1!

Stel je even voor dat blok 1 maar één transactie bevat.
Persoon A stuurt 200 Bitcoin naar persoon B.
Dit zorgt voor een lijst met data, welke ondertekend moet worden met een hash.
We gaan hier verder niet al te diep op in, maar het komt erop neer dat er een algoritme is wat zorgt voor een 64 tekens tellende code zorgt.
Als er hierin ook maar 1 letter verandert of bijvoorbeeld een spatie wordt toegevoegd verandert de complete hash.

Deze hashfunctie wordt gebruikt door de Bitcoin blockchain om blocks een handtekening mee te geven.

Is de blockchain te hacken?

Zoals we hierboven al hebben aangegeven is het praktisch onmogelijk om de (Bitcoin) blockchain te hacken.
Wanneer er een block wordt aangepast zal deze automatisch een nieuwe hash krijgen waardoor deze loskoppelt van de blockchain.
Als dit corrupte block toch aan de ketting wilt blijven zal deze alle andere blocks ook moeten wijzigen en een nieuwe hash genereren.
Daarnaast moeten deze nieuwe hashes ook aan bepaalde voorwaarden voldoen. Om alle blokken een nieuwe handtekening mee te geven welke ook nog eens voldoet aan de voorwaarden kost ontzettend veel tijd en moeite.
Ondanks dat is het technisch gezien niet onmogelijk.

Stel je voor, een corrupte miner heeft zich toegang verschaft tot een block en is bezig om de nieuwe hashes te berekenen zodat het corrupte block op de blockchain komt te staan.
Tegelijkertijd zijn er ook andere miners bezig met het maken van de hash voor een nieuw block.
Deze corrupte miner zal dus ook voor de nieuwe blocks de hashes moeten berekenen aangezien alle blocks aan elkaar moeten zitten.

De enige manier hoe dit gedaan kan worden is als de corrupte miner meer computerkracht bezit dan de rest van het netwerk.
Echter zijn er constant miljoenen miners actief met speciale supercomputers.

Theoretisch gezien is het dus mogelijk. Dit noemen we de 51% aanval welke op een aantal andere (kleine) blockchains wel eens heeft plaatsgevonden.
Op de Bitcoin blockchain zou dit echter een vermogen aan geld, energie en ruimte kosten om dit mogelijk te maken.
Al deze kosten liggen hoger dan de mogelijke winstmarge.
Op het moment dat zoiets gebeurt keldert de prijs vrijwel direct en zijn de bitcoins dus niets meer waard.
Je moet je voorstellen dat er 1 persoon of computer het opneemt tegen miljoenen anderen.

Wie bepaalt de regels van de Blockchain?

De gebruikers! Blockchain is decentraal, dit betekent dat er geen grote centrale organisatie of een persoon achter zit die de regels bepaalt.
Het bestaat uit een community die bepaalt wat er gebeurt aan de hand van algoritmes.
Op het moment dat er een groep opstaat welke graag een nieuw concept ziet of dingen concreet wilt veranderen ontstaat er een afsplitsing.
Zo een afsplitsing noemen we een (hard) fork.
Bitcoin heeft op deze manier een aantal afsplitsingen, zoals Bitcoin Cash en Bitcoin Gold.