En blockkedja byggs upp av en mjukvara (ett protokoll) som används av blockkedjans noder över hela världen. Dessa noder behöver följa protokollets regler för att nya transaktioner och block ska kunna publiceras på kedjan. Om en regel exempelvis är att ett block maximalt får vara 1 MB kan inte större block publiceras, däremot mindre.
Om en uppgradering sker av mjukvaran, som innebär att blockkedjan inte blir bakåtkompatibel, uppstår en hard fork. Som en fortsättning på exemplet ovan har blockkedjan en begränsning till 1 MB per block. En ändring till att enbart 0,5 MB godkänns innebär att en fork uppstår. Skulle däremot ändring ske till 2 MB är det bakåtkompatibelt. De noder som fortfarande bara skapar block på max 1 MB kan fortsätta med detta inom de nya reglerna.
Resultatet blir olika beroende på om samtliga noder är överens om uppgraderingen eller om vissa väljer att fortsätta agera på den ursprungliga kedjan.
Om alla noder är överens om detta kommer samtliga att använda den uppgraderade mjukvaran. De kommer därmed agera utifrån de nya reglerna. Det kan delvis liknas med en större uppgradering av ett operativsystem på en telefon eller dator. Detta från 2.0 till 3.0. För användarna behöver det inte märkas någon större skillnad.
Är noderna däremot inte överens om att denna uppgradering ska ske kan två ”konkurrerande” blockkedjor uppstå. Den ena kedjan upprätthålls av de noder som följer de ursprungliga reglerna medan den andra kedjan upprätthålls av noder som följer de nya reglerna. Dessa två är därmed inte kompatibla med varandra.
En jämförelse
Ett av världens största onlinespel är Roblox. På varje konto finns spelets ”valuta” Robux. Om detta spel hade varit kodat i öppen källkod skulle det inneburit att vem som helst hade kunnat kopiera koden och skapa exakt samma spel, men under ett annat namn. Det skulle även vara möjligt att göra förändringar i koden inför lanseringen.
I detta fall skulle ett par utvecklare, samt serverföretag, kunna lansera ett eget spel. Kopieras nuvarande kod kommer även aktuella konton, och saldon på dessa, följa med. I detta exempel ändras namnet till GAFF och valutan till ”GOFF”.
Vid tidpunkten som detta spel lanseras kommer alltså samtliga spelare på Roblox kunna logga in på det nya spelet och få tillgång till lika många GOFF som de har Robux på sitt konto inom Roblox. Vad värdet blir på dessa avgörs däremot av användarna. Så länge som de flesta spelar Roblox kommer nätverkseffekten innebära att saker och valuta i det spelet värderas högre.
Exemplet haltar lite, men vill påvisa att en hard fork innebär att något nytt skapas utifrån en befintlig kod samt att värdet på valutan inom de olika systemen avgörs av användarna och nätverkseffekten.
Två exempel på hard fork
Två exempel där en hard fork har genomförts, på grund av olika åsikter om blockkedjans utveckling, är när Bitcoin Cash samt Hive skapades.
Bitcoin Cash
Den kanske mest kända hard fork som skett (hittills) genomfördes 2017. Delningen av blockkedjan Bitcoin var ett resultat av flera års hård debatt om kryptovalutans framtid. I grunden handlade debatten om hur Bitcoin skulle kunna skala upp och på detta sätt bli mer tillgänglig som betalningsmedel.
Den ena falangen ansåg att problemet kunde lösas genom att Bitcoin skulle få hantera större storlek på blocken. Därmed kunde mer information rymmas i varje block och fler transaktioner hanteras. Den andra falangen ansåg att fokus istället skulle ligga på optimeringar av aktuell kod och att en hard fork, som skulle krävas med lösningen ovan, skulle undvikas.
Denna fork resulterade i att Bitcoin Cash skapades, 2017, med den primära skillnaden att blockstorleken blev på 8MB. Alla som ägde bitcoin, när Bitcoin Cash lanserades, fick därmed exakt lika många Bitcoin Cash på den nya kedjan. Detta förutsatt att personen hade ägandeskapet över sina egna nycklar och inte hade dessa bitcoin på exempelvis en börs.
En del valde dessutom att sälja alla sina bitcoin för att köpa Bitcoin Cash. De ansåg att Cash var ”riktiga Bitcoin”.
I början hade Bitcoin Cash framgång och var en av de fem största kryptovalutorna. Idag (maj 2023) ligger totala börsvärdet på cirka 2,2 miljarder USD vilket kan jämföras med bitcoin på cirka 531 miljarder USD. Det är tydligt att användarna har beslutat sig för vad som är ”riktiga Bitcoin”.
Detta var däremot inte enda gången som en fork genomfördes på Bitcoin under 2017. I oktober skapades Bitcoin Gold, i november Bitcoin Diamond och i december Bitcoin God. Minst 14 olika Bitcoinforkar genomfördes det året. Ingen av dessa nådde i närheten av lika stor uppmärksamhet, eller värde, som Bitcoin Cash.g
Hive
Ett lite mindre känt tillfälle är när hard fork genomfördes på blockkedjan Steem år 2020. Denna blockkedja använder en form av Delegated Proof of Stake, vilket kortfattat innebär att de som låser Steem inom staking är med och röstar om vilka som ska agera noder.
Till skillnad mot andra blockkedjor hade Steem väldigt få dAppar och den överlägset dominerande var bloggfunktionen Steemit. När miljardären Justin Tron köpte upp Steemit fick han cirka 20 % av alla Steem vilket gav honom mycket stor möjlighet att påverka blockkedjans framtid. Det var däremot något som många noder kände oro för och planerna för en hard fork tog snabbt form.
För att bryta sig loss från en stor ägare skapades en hard fork och den nya blockkedjan Hive. De noder som ville kunde gå över dit för att i stället validera transaktioner på den blockkedjan. Vid lansering fick alla som hade Steem exakt lika många Hive. Däremot valde noderna, på Hive, att utestänga konton som tillhörde Justin Tron vilket blev ett sätt att säkerställa att han inte kunde ta över den nya blockkedjan. Framgången för Hive var snart ett faktum och värdet på Hive gick om värdet på Steem.
Imagine if the Facebook community got so sick of Mark Zuckerberg that they decided to copy the code for the site, then run a version of it themselves. And imagine if the new site outperformed Facebook…/Decrypt.io
Kommentarer