Wat is een Hard Fork?

Een hard fork is een regelverandering binnen een blockchain-netwerk die de regels dusdanig veranderd dat mensen met de nieuwe regels niet meer kunnen communiceren met mensen die met de oude regels werken. Het gaat met een hard fork dus om een radicale verandering van de regels die een permanente splitsing in het netwerk veroorzaakt.

hard fork

Bijvoorbeeld als de maximale omvang van blokken in de oude regelset 1 megabyte was en in het nieuwe netwerk 2 megabyte. Blokken van 2 megabyte worden in de nieuwe blockchain opgenomen als geldige blokken, terwijl ze in de oude blockchain worden afgewezen. In die situatie is het dan ook wachten op een permanente splitsing van beide netwerken. Iedereen die het eens is met de nieuwe regels moet zijn software updaten om te voorkomen dat hij of zij afsplitst van het netwerk.

Het verschil tussen een hard fork en een soft fork is dat je in het geval van die laatste niet van de rest van het netwerk afsplitst als je niet besluit te updaten. Hierbij gaat het dus om veranderingen die de oude software nog kan lezen. In ieder geval genoeg om te kunnen bepalen of het om geldige of ongeldige transacties gaat. Dit is dan ook de reden dat men voor updates liever een soft fork gebruikt dan een hard fork. Met een hard fork is het mogelijk dat het hele netwerk in puin komt te liggen omdat mensen te laat updaten of omdat je twee kampen krijgt die het totaal niet met elkaar eens zijn.

hard fork

Hard forks begrijpen

Om te begrijpen wat een hard fork is moeten we eerst de basis van blockchain technologie onder de knie hebben. Een blockchain is in essentie een keten van onlosmakelijk met elkaar verbonden blokken waar data inzit. Miners zetten computerkracht in om een nieuw geldig blok te vinden en sturen deze vervolgens door het netwerk. Iedere node in het netwerk houdt een eigen versie van de blockchain bij en controleert op die manier alle nieuwe blokken en transacties zelf. Als jij dus de Bitcoin software download en gaat draaien, dan hoef je in wezen niemand meer te vertrouwen om de volledige transactiegeschiedenis van Bitcoin te controleren. Het leuke is dat je ook de geschiedenis kunt induiken en bijvoorbeeld het eerste Bitcoin-blok kunt terugvinden. De beloning voor het minen van dat blok staat op een adres van Satoshi Nakamoto waar mensen nog altijd Bitcoin naartoe sturen.

Bij een hard fork veranderen de regels zodanig dat jouw versie van de software niet meer kan communiceren met de nieuwe software. Als je ervoor kiest om de oude regels te blijven gebruiken en niet meegaat met de update, dan blijf je dus in het oude netwerk achter. Om deze reden zeggen mensen ook weleens dat op blockchain technologie de democratisering van ons geld is. Iedereen kan door bepaalde software uit te kiezen zijn of haar stem uitbrengen op de regels die volgens hem of haar het beste zijn.

Waarom vinden hard forks plaats?

Hard forks zorgen vaak voor veel problemen binnen een blockchain. Als twee grote kampen het binnen een netwerk niet met elkaar eens kunnen worden, dan verliest de blockchain een hoop waarde. Miners moeten dan de keuze maken op welke blockchain ze verder gaan en gebruikers moeten bepalen welke versie van het protocol ze meer waardevol achten. Mensen die kiezen voor een hard fork zijn er echter van overtuigd dat dit het netwerk sterker maakt.

Bijvoorbeeld door extra functionaliteiten toe te voegen, beveiligingsfouten uit het systeem te halen, een conflict binnen de gemeenschap op te lossen of zelfs om bepaalde transacties terug te draaien.

Hard forks kunnen ook per ongeluk gebeuren. Vaak worden deze ongelukjes echter snel opgelost en komen de mensen die zijn afgesplitst van het netwerk snel weer terug in het oude netwerk. Zelfs binnen de Bitcoin blockchain vinden vaak “hard forks” plaats. Dit gebeurt bijvoorbeeld als twee miners op hetzelfde moment een nieuw blok vinden en deze door het netwerk sturen. Jouw node kiest dan in eerste instantie voor het blok dat bij jou als eerste is binnengekomen. Dat hoeft niet per se voor iedereen hetzelfde blok te zijn. Het kan dus even zijn dat er twee aparte geldige blokken in omloop zijn en de blockchain tijdelijk opsplitst. Zodra een miner voor één van de twee blockchains een nieuw blok weet te vinden is de splitsing opgelost en springt iedereen over naar de langste blockchain.

Bitcoin en Bitcoin Cash

De meest bekende hard fork binnen de industrie is die van Bitcoin en Bitcoin Cash. Het Bitcoin Cash kamp was van mening dat Bitcoin er met de kleine blokken van 1 megabyte per stuk niet in slaagde om te functioneren als digitaal geld. Om de transactiecapaciteit te verhogen wilde dit kamp de blokken groter maken. Uiteindelijk splitste Bitcoin Cash van Bitcoin af omdat ze er op 1 augustus 2017 voor kozen om met blokken van 8 megabyte verder te gaan. Uiteindelijk zijn de blokken op Bitcoin Cash zelfs toegenomen tot 32 megabyte. Tot op de dag van vandaag roepen Bitcoin Cash aanhangers dat de lage transactiekosten van hun blockchain superieur zijn aan die van Bitcoin.

De markt heeft echter anders besloten, want zoals je wellicht weet is de marktwaarde van Bitcoin nog altijd vele malen groter dan die van Bitcoin Cash. Deze oorlog tussen de twee kampen binnen Bitcoin noemen we de “blocksize wars”. Uiteindelijk heeft dat de meest spraakmakende hard fork van de industrie als gevolg gehad.

Ethereum en de DAO-hack

De meest spraakmakende hard fork binnen Ethereum vond plaats in 2016. Het gaat om de grote DAO-hack. Een decentrale autonome organisatie op het Ethereum netwerk die een fout in het smart contract bevatte, waardoor hackers er met 3,6 miljoen Ethereum vandoor konden gaan. De discussie in dit geval was of de code in het smart contract doorslaggevend moest zijn en de hackers dus rechtmatig de fondsen uit het contract hadden gehaald of dat de blockchain teruggedraaid moest worden. Dat resulteerde uiteindelijk in Ethereum Classic en Ethereum.

Ethereum Classic ging verder met de blockchain zoals die was, terwijl het huidige Ethereum een hard fork is waarbij deze “diefstal” is teruggedraaid. Voor de aanhangers van Ethereum Classic was de code heilig en voor de Ethereum aanhangers gaat de code dus niet altijd voor op hun gevoel van rechtvaardigheid.