Wat is een hard fork en wat is een soft fork

What is a hard fork and what is a soft fork
Anycoin Direct

Door Anycoin Direct

Een hard fork en soft fork zijn twee verschillende manieren om veranderingen in een blockchain door te voeren. Een hard fork brengt grote veranderingen met zich mee en is niet compatibel met de oudere blockchain. Een soft fork is een meer subtiele aanpassing die compatibel blijft met oudere software en kan bijvoorbeeld worden ingezet om de veiligheid te verbeteren of nieuwe functies toe te voegen. Hoe dit allemaal precies werkt gaan we in dit artikel behandelen.

✔️ Een fork is een splitsing van wegen

✔️ Een hard fork maakt twee verschillende wegen die niet backwards compatible zijn

✔️ Een soft fork is een kleine aanpassing van de weg

✔️ Forks zijn noodzakelijk vanwege voortschrijdende technologie en inzichten

Wat is een fork?

In de informatica is een fork volkomen normaal. Als je het mobieltje update is er sprake van een fork. Je hebt mobieltjes die de update geïnstalleerd hebben en er blijven er altijd over die dat nog niet gedaan hebben. Toch blijven die gewoon werken.

Ook op computers en bij allerlei softwareprogramma’s krijg je updates. De oude software wordt dan gevorkt naar twee verschillende versies, waarbij de nieuwe versie gebruik kan maken van nieuwe features en de oude, niet gevorkte werken door op dezelfde manier als voor de update.

Dit zijn soft forks. Bij een hard fork in een programma krijg je een volledig nieuw programma, dat niet kan werken met het oude netwerk. Zo is een programmaversie 1.1 een soft fork. Het programma 2.0 is een hard fork te noemen, bijvoorbeeld Windows 95 naar Windows 98.

Een fork betekent vork in het Nederlands. Je weet wel, zo’n viertand vorm. Er zijn ook vorken met drie tanden, voor als je geen vorken met vier tanden kunt betalen. Voor de elite zijn er ook nog vijftand vorken, maar de viertand vork is gebruikelijk.

Een fork in een blockchain

Een fork vindt plaats als een nieuwe regel wordt verzonnen die afwijkt van het bestaande protocol van een blockchain.

Je kunt een fork zien als een weg die zich splitst. De normale gang van zaken op een blockchain is rechtdoor. Bij een hard fork wordt er een afslag naar links of rechts genomen, waarna hij weer rechtdoor in de nieuwe richting gaat. De originele blockchain blijft echter gewoon rechtdoor gaan. Hierbij ontstaan twee blockchains.

Bij een soft fork ga je zeg maar rechtsdoor of linksdoor, hetgeen betekent dat je nog steeds rechtdoor gaat op dezelfde blockchain, maar dat een update ervoor zorgt dat je een klein beetje afwijkt van de normale koers. Er is dan nog steeds maar één blockchain. De meerderheid bepaalt welke tak van de splitsing genomen wordt. Het is zelfs mogelijk dat er meerdere protocollen op één blockchain zitten en toch tot dezelfde blockchain behoren, zoals bij Bitcoin mét en zonder SegWit.

Blockchain protocollen

Een cryptocurrency werkt met een blockchain protocol, waarin de regels staan van deze blockchain. Elke afwijking hiervan wordt een fork genoemd.

Zodra er een nieuwe koers wordt voorgesteld zullen miners of validatoren zich over dit voorstel moeten buigen. De meerderheid beslist hoe een blockchain er uit ziet door een consensus protocol. Als de meeste validatoren de nieuwe koers accepteren zal deze nieuwe weg de hoofdblockchain worden via een soft fork. De oude versie werkt nog wel, maar beetje bij beetje zullen alle validatoren de nieuwe update downloaden en zal de oude versie uit zicht verdwijnen.

Dat kan wel zo zijn, maar als er veel tegenstanders zijn van een voorstel kan er een splitsing in de community ontstaan, doordat miners bijvoorbeeld een update of koerswijziging niet accepteren of downloaden. In dat geval kan er een hard fork optreden, waarbij een nieuwe cryptocurrency met eigen blockchain ontstaat via een hard fork.

Open source fork

Veel blockchains hebben tegenwoordig open source protocollen. Een goed voorbeeld hiervan is Bitcoin. Dit betekent dat je morgen een coin kunt lanceren die vrijwel identiek is aan Bitcoin door simpelweg de code te dupliceren. Ze zeggen dan dat je de code van Bitcoin forkt.

Onze verwachting is dat jouw coin dan voorlopig net wat minder waard zal zijn dan Bitcoin. Ook zul je wat aanpassingen moeten doen, anders kun je net zo goed meedoen aan het Bitcoin netwerk. Dit is wel veel werk, het is maar dat je het weet.

Toch is dit volkomen legaal en er wordt dan ook best veel gebruik van gemaakt. Zo is Litecoin gebaseerd op de code van Bitcoin, evenals Bitcoin Cash.

De Ethereum fork

Vreemder wordt het als je zegt dat Ethereum gebaseerd is op de broncode van Ethereum Classic. Wacht eens even, moet dat niet andersom zijn? Nee, Ethereum is een hard fork van het origineel, namelijk Ethereum Classic.

Het is een fluitje van een kwartje om de code van een munt te kopiëren, maar genoeg mensen geïnteresseerd krijgen is dan net even wat moeilijker. Zo moeten mensen je nieuwe coin gaan valideren, gebruiken en hij moet ergens te koop zijn. Daarom zijn er dus “maar” 10.000 coins, anders waren er wellicht miljarden.

Wat is een hard fork?

We zullen wat dieper ingaan op de hard fork, zodat je goed begrijpt wat het precies inhoudt.

De hard fork is het bekendste, omdat deze meestal met een hoop trammelant afloopt. Er zijn een behoorlijk aantal bekende hard forks, zoals Bitcoin Cash en Ethereum, die gepaard gingen met een schisma in de community.

Definitie

Bij een hard fork wordt er een kopie gemaakt van het oude netwerk op de blockchain en gaat het oude netwerk gewoon door, maar splitst het nieuwe netwerk zich af op de blockchain, waarna iedere bezitter van de private sleutels van dat blockchain netwerk per coin die hij van het oude netwerk had een gespecificeerde hoeveelheid nieuwe coins krijgt van het nieuwe netwerk.

Een hard fork is een belangrijke verandering aan het protocol van een blockchain die niet compatibel is met de oude software. Dit betekent dat als je met de oude software werkt je de nieuwe blokken niet eens kunt zien. Wel zie je nog de blokken die met de oude software zijn gemaakt. Er bestaan dan dus twee blockchains. Meestal gaat het om nogal ingrijpende veranderingen, waardoor de ene groep er wel mee instemt en de andere niet.

Bitcoin forks

Een voorbeeld hiervan is het protocol van Bitcoin, dat een maximale grootte aan een blok gaf van 1 MB. Toen er via een update ook grotere blokken mogelijk waren konden miners die deze update niet geïnstalleerd hadden opeens deze blokken niet meer zien. Volgens protocol waren deze blokken dan ook onmogelijk. Dus waren er maar twee mogelijkheden: allemaal downloaden die upgrade of een hard fork. Dat laatste volgde en Bitcoin Cash was geboren via een Bitcoin hard fork met grotere blocksizes. Bitcoin ging verder via SegWit en het Lightning Network om de schaalbaarheid aan te pakken. Deze strijd was zo hevig dat er zelfs een naam voor verzonnen is: “The Blocksize Wars”.

Als er geen vooraf bepaalde consensus is onder de validatoren over een min of meer radicale verandering aan het protocol van een blockchain riskeert men altijd een hard fork.

Zodra duidelijk wordt dat er een hard fork plaats gaat vinden zul je op moeten passen met handelen in zo’n coin totdat de hard fork compleet is. Zo kan het best zijn dat je jouw coins inruilt via een transactie met nieuwe regels en dat die regels gaan horen bij een volledig nieuwe blockchain, waarvan die bepaalde munt veel minder waard is. Bij een schisma wint altijd 1 van de 2 blockchains, namelijk de langste. Je kunt in zo’n geval beter wachten tot de fork compleet is.

Soorten hard forks

  1. Als een community het niet eens is met een update aan het protocol of de weg die ingeslagen is kan er een nieuwe cryptocurrency op een nieuwe blockchain ontstaan.

  2. Soms verzinnen ontwikkelaars een ingrijpende update aan een protocol, waardoor een hard fork noodzakelijk is. Zo was de Paris hard fork van Ethereum verplicht, omdat er werd overgegaan van Proof of Work naar Proof of Stake. Oude software werkte toen niet meer op een Ethereum node of validator.

  3. Als je de open source code van een cryptocurrency gebruikt om een volledig nieuwe coin te maken is er sprake van een hard fork. Gelukkig hoeven er geen road blocks gezet te worden, want op deze manier heb je niets te maken met het oude blockchain netwerk.

  4. Backwards fork. Dit is een zeer ongebruikelijke hard fork, waarbij bepaalde blokken in de keten ongeldig worden verklaard. Dit druist volkomen in tegen de onveranderlijkheid van een blockchain dat het, naar mijn weten, pas één keer is voorgekomen. En nog wel bij het ontstaan van Ethereum! The DAO, de eerste DAO, dolf hierbij het onderspit. Alle blocks die gebruik maakten van een fout in een bepaald smart contract werden ongeldig verklaard en Ethereum ging hun transacties terugdraaien. Ethereum was de munt die zich via deze hard fork afscheidde van Ethereum Classic. De community van Ethereum Classic kon de onveranderlijkheid van een blockchain niet zomaar opgeven voor een paar dieven!

Krijg je gratis munten na een hard fork?

Normaal gesproken krijg je gratis munten nadat de hard fork doorgevoerd is. Je behoudt de munten van de geforkte munt en krijgt per munt een bepaalde hoeveelheid coins van de nieuwgevormde cryptocurrency.

Er zijn wel een aantal zaken waar je rekening mee moet houden.

Pas op voor een replay attack

Als de nieuwe munt net op de markt is en je handelt er mee kun je te maken krijgen met een replay attack (of ook wel repeat attack). Bij voetbal kun je die mooie aanval nog eens bekijken, maar bij een nieuwe cryptocurrency kunnen je transactiegegevens van je trade door hackers naar het oude netwerk overgezet worden.

Hackers gebruiken jouw credentials, die ze eerder opgepikt hebben, om te doen alsof ze jou zijn en dus mogen handelen.

Vervolgens kunnen deze hackers dit gebruiken om crypto uit je wallet te halen. Miners zien alleen de transactie, dus die kunnen deze lui niet betrappen op double spending of iets dergelijks. Zo kun je dus bestolen worden.

Je kunt dit voorkomen door een tijdje te wachten. Na een week of zo wordt meestal wel iets gedaan aan dit probleem via een replay protection, die op allerlei manieren doorgevoerd kan worden door programmeurs op de achtergrond. Dit moet je even checken op hun website of opzoeken via een zoekmachine.

Hard fork scenario's

Ook ligt het aan je situatie. Laten we de zaken eens op een rijtje zetten:

  1. Je munten staan op een exchange. De private sleutels zijn in dit geval in handen van deze exchange, waardoor zij feitelijk de nieuwe coins krijgen. Meestal zijn vooral de grote exchanges hier heel soepel in en geven de traders hun rechtmatige deel voor de coins die ze op het moment van de fork hadden. Dit is goed voor hun reputatie en het kost ze niks. Bovendien levert het meer handel op. Check dit even vooraf.

  2. Je coins staan op een hardware wallet. In dat geval ben jij in het bezit van de private sleutels en heb je recht op de extra coin(s) per munt die je op het moment van de fork hebt. Let wel goed op hoe je deze coins moet krijgen, want er kunnen haken en ogen zitten aan een fork, waarbij jouw coins offline staan en dus onzichtbaar zijn voor het geforkte netwerk.

  3. Je coins staan op een software wallet, decentrale exchange of god weet waar. In dat geval zul je extra moeten opletten hoe de plek waar jouw coins staan daar mee omgaat. Als je er niet achter kunt komen of het is allemaal wat wazig, dan is het geen slecht idee om deze coins even te zetten op een hardware wallet of een coulante exchange, zodat je die extra coins ook ontvangt.

Soms kun je de hoofdprijs krijgen, al is dat tegenwoordig waarschijnlijk een stuk zeldzamer. Toen Bitcoin Cash de hard fork doorvoerde in 2017 kreeg je voor iedere BTC die je had een gelijke hoeveelheid Bitcoin Cash, omdat er evenveel BCH zullen zijn als BTC. Op dat moment kreeg je voor 1 BCH 555 dollar, terwijl BTC rond de 2500 waard was. Best een flink bedrag dus. BCH zakte toen wel in naar rond de 250, maar maakte een enorme run naar meer dan 3K in 2018. Lekker cashen dan!

Wat is een soft fork?

Er bestaat ook nog een soft fork, in dat geval ontstaat er geen nieuwe coin maar wijzigt slechts het protocol van de munt.

Definitie

Bij een soft fork worden de regels die in het protocol van een blockchain staan gewijzigd, waarna er twee versies bestaan van hetzelfde netwerk op dezelfde blockchain.

Meestal is het zo dat de meerderheid van de gebruikers van een netwerk, zoals miners en validatoren, hun software updaten en zo een vrij egaal speelveld creëren. Een soft fork is backwards compatible, hetgeen betekent dat zowel de nieuwe als de oude versie compatibel met elkaar zijn.

SegWit

Toch is er wel een soft fork geweest die nogal wat stof heeft doen opwaaien. Zo is de SegWit upgrade van Bitcoin een soft fork die in het begin veel weerstand opriep bij vooral Chinese miners. Na veel vijven en zessen ging het Bitcoin netwerk door met twee softwareversies van hetzelfde protocol, maar uiteindelijk volgde er de hard fork van Bitcoin Cash in 2017.

Soft forks worden vaak geïmplementeerd om problemen op te lossen of de zaken soepeler te laten lopen. Zo ga je voor het sneller maken van een netwerk of het cryptografisch algoritme veranderen niet snel een nieuwe coin maken, dat kan ook wel met een soft fork.

Ook bugs worden op deze manier weggewerkt. De oude versie van het netwerk werkt dan nog prima, maar naarmate de tijd vordert gaan de meeste gebruikers overstag en downloaden de nieuwste versie.

Heel af en toe is er ook een tijdelijke, ongeplande soft fork die al snel weer opgelost is. In een Proof of Work netwerk vinden soms twee miners op hetzelfde moment de uitkomst van de cryptografische puzzel en geven dat door aan de miners. Dit wordt een beetje flauw opgelost voor de verliezer, maar bij een blockchain geldt het principe dat de juiste blockchain keten de langste is. Zodra de ene uitkomst door een miner geaccepteerd wordt is de andere oplossing een onderdeel van de kortste keten en wordt daarna verworpen.

Waarom bestaan forks?

  • Een cryptocurrency begint zijn “loopbaan” als een product dat nog niet af is. Je kunt het vergelijken met het bouwen van een huis. Op een gegeven moment denk je: oh ja, er moet nog een lichtknopje gemonteerd worden in de kelder. En er moet zonnewering komen, enzovoorts. Voor elke aanpassing aan de blockchain en het protocol heb je een soft fork nodig.

  • Soms worden gebruikers ontevreden over bepaalde functionaliteiten op een netwerk. Zodra de groep groot genoeg is zal er iets moeten gebeuren. Meestal volgt er dan een soft fork met een marginale oplossing, maar soms zijn de tegenstellingen zo groot dat het zowat 50/50 is. In dat geval kan er een hard fork komen.

  • Bij het veilig houden van een blockchain netwerk storten aardig wat zweetdruppels van hoofden van programmeurs. Menig hack heeft ze vroegtijdig grijze haren bezorgd. Zodra er weer eens een hack is geweest moeten deze arme lui een soft fork in elkaar gaan steken om de blockchain op te tuigen met een nieuwe beschermingslaag.

  • Soms gaat een fork zelfs zo ver dat ze de blockchain terug forken naar een oudere staat en verder te gaan op een punt dat een onwenselijk iets (zoals een hack) nog niet gebeurd is. Zoiets staat in schril contrast met het idee van de onveranderlijke blockchain, maar sommige ontwikkelaars stoppen voor niets, behalve dan voor een oude vrouw die oversteekt.

Voorbeelden van bekende hard forks:

Bitcoin Cash is een hard fork van Bitcoin, na invoering van SegWit. Bitcoin Diamond was ook een hard fork van Bitcoin.

Ethereum is een hard fork van Ethereum Classic, als reactie op de hack van The DAO, waarbij de blockchain teruggedraaid werd naar een datum vóór die hack.

Dit zijn voorbeelden die meestal na een schisma in de community van een blockchain netwerk voor komen.

Er kan ook een hard fork komen die geen twee coins oplevert, maar wel verplicht is. Hierbij moet je denken aan ingrijpende veranderingen, zoals de Paris hard fork op Ethereum, waarna overgestapt werd van Proof of Work naar Proof of Stake. Dan is het oude netwerk en de software die erbij hoort natuurlijk niet meer geldig en moeten alle validatoren en nodes hun software upgraden.

Monero en Cardano laten ook vaker van zich horen op het vlak van verplichte hard forks.

De verschillen tussen een hard fork en een soft fork

  1. Bij een soft fork zijn zowel de oude als de nieuwe versie te gebruiken, bij een hard fork niet.

  2. Een hard fork wordt meestal ingevoerd na verhitte debatten, een soft fork gaat meestal geruisloos.

  3. Een hard fork is meestal heel ingrijpend, terwijl het bij een soft fork gebruikelijk is dat het een kleine aanpassing is.

  4. Bij een hard fork ontstaat een nieuwe coin, bij een soft fork niet.

  5. Bij een hard fork kun je gratis coins krijgen, bij een soft fork niet.

  6. Bij een hard fork moet je verplicht nieuwe software draaien om het blockchain netwerk bij te kunnen houden, bij een soft fork niet.

Conclusie

Forks are here to stay.

Gelukkig maar, want vlees met een lepel naar binnen werken is nou eenmaal minder prettig.

Er zullen altijd updates blijven komen voor allerlei blockchains, omdat de wereld en de technieken steeds veranderen en de protocollen daarom bijgewerkt moeten worden.

Er zullen altijd splijtzwammen zijn in allerlei gemeenschappen, waardoor nieuwe cryptocurrencies ontstaan.

Wellicht dat de komst van een governance token in veel blockchain netwerken een hoop hard forks kunnen voorkomen, maar soft forks are here to stay. Gelukkig maar, want wie wil nou met een programma “uit de vorige eeuw” werken, zeg maar.

Test je kennis

Vraag: 1/5Wat is het belangrijkste gevolg van een hard fork?
ATwee blockchains
BVerdubbeling van het aantal coins
CSchisma
DEen hack