Vad är en hard fork?
En hard fork, ibland översatt till hård gaffel på svenska, är en betydande och permanent avvikelse i blockkedjeprotokollet för en kryptovaluta. Det inträffar när det görs en grundläggande förändring av de underliggande reglerna för ett blockkedjenätverk, vilket resulterar i en splittring eller förgrening i två separata vägar.
I anslutning till blockkedjeteknik avser en så kallad fork en situation där en blockkedjas befintliga kodbas modifieras eller uppdateras. En hard fork innebär specifikt en förändring som inte är bakåtkompatibel, vilket innebär att noder eller deltagare som kör den tidigare versionen av blockkedjan inte kommer att känna igen eller acceptera block som skapats av den uppdaterade versionen.
När en hard fork äger rum delas blockkedjan upp i två separata kedjor med en delad historia fram till tidpunkten för fork. Den ena kedjan följer de nya reglerna, medan den andra fortsätter att fungera enligt de gamla reglerna.
Techopedia förklarar vad hard fork innebär
Att definiera och beskriva hard forks är knepigt, delvis på grund av olika åsikter om vad som utgör en hard fork, och delvis på grund av debatten om huruvida en viss förändring var en hard fork eller inte.
En bra definition av en hard fork är att i en ‘hard fork avviker nodens konsensus permanent. Däremot är bakåtkompatibla ändringar av blockkedjeprotokollet som gör det möjligt att införa nya regler utan att alla användare måste uppgradera sin programvara soft forks.
Termen “hard fork” innebär att uppgraderingen eller ändringen i blockkedjeprotokollet inte är bakåtkompatibel. Detta innebär att noder eller deltagare som kör den tidigare versionen av blockkedjan inte kommer att känna igen eller acceptera block som skapats av den uppdaterade versionen, och vice versa.
Hard forks kan initieras av olika skäl, bland annat för att implementera nya funktioner, åtgärda säkerhetsproblem, lösa meningsskiljaktigheter inom gruppen eller hantera skalbarhetsproblem.
Det är värt att notera att hard forks kräver konsensus bland nätverkets deltagare för att anta de nya reglerna och kan ibland leda till en splittring i gemenskapen, där vissa stöder den ursprungliga kedjan och andra omfamnar den nya kedjan.
Så fungerar en hard fork
En hard fork fungerar genom att genomföra betydande ändringar i protokollet för en blockkedja, som är oförenliga med de befintliga blockkedjereglerna. Denna process materialiseras i flera viktiga steg.
I det första steget läggs ett förslag fram om att ändra det befintliga blockchainprotokollet. Detta förslag kan komma från utvecklare, medlemmar i samhället eller intressenter.
Samförstånd bland nätverksdeltagarna är avgörande för att gå vidare med hard fork. Förslaget måste få betydande stöd och samtycke från miners, utvecklare, nodoperatörer och andra viktiga intressenter.
När konsensus har uppnåtts definieras de tekniska specifikationerna för de föreslagna ändringarna. Utvecklare arbetar med att implementera ändringar i blockkedjans kodbas, vilket inkluderar att införa nya funktioner, ändra konsensusalgoritmen eller justera parametrar inom nätverket.
Den uppdaterade koden testas och granskas noggrant av utvecklare och experter för att säkerställa dess funktionalitet, säkerhet och kompatibilitet. Detta steg syftar till att identifiera och åtgärda eventuella buggar, sårbarheter eller problem innan hard fork genomförs.
Därefter planeras den hårda gaffeln att ske vid en specifik blockhöjd eller en förutbestämd punkt i den. Då kommer den uppdaterade versionen av blockkedjeprotokollet att aktiveras.
När blockhöjden är nådd delas nätverket upp i två olika vägar. Den befintliga blockkedjan fortsätter att följa de gamla reglerna, medan den nya börjar fungera med de uppdaterade reglerna.
Framför allt måste noder och miners i nätverket bestämma vilken kedja de ska stödja. Noder kan välja att uppgradera sin programvara för att följa de nya reglerna eller fortsätta med den gamla versionen. På samma sätt bestämmer miners vilken kedja de ska bryta block för, baserat på faktorer som lönsamhet, samhällsstöd och nätverkssäkerhet.
Varför uppstår hard forks?
Hard forks inträffar i blockkedjenätverk av flera skäl. Här är de mer anmärkningsvärda:
Hard fork jämförd med Soft fork
När det gäller blockkedjeteknik är både hard forks och soft forks metoder för att uppdatera blockkedjans protokoll, men de skiljer sig fundamentalt i sin kompatibilitet med befintliga regler och deras inverkan på nätverket.
Här är en jämförande titt på hard forks kontra soft forks:
Hard fork
Inte bakåtkompatibel. Noder måste uppgradera till den nya versionen för att fortsätta delta.
Soft fork
Kompatibel med föregående version. Icke uppgraderade noder kan fortfarande delta i nätverket.
Hard fork
Kan resultera i en permanent splittring, vilket skapar två separata blockkedjor om inte alla deltagare samtycker till att uppgradera.
Soft fork
Resulterar normalt inte i en permanent splittring. Icke uppgraderade noder kan fortfarande acceptera block från uppgraderade noder.
Hard fork
Kräver att alla noder och användare uppgraderar till den nya protokollversionen.
Soft fork
Endast en majoritet av miners behöver uppgradera, medan icke-uppgraderade noder fortfarande kommer att känna igen nya block som giltiga.
Hard fork
Kan splittra communityn om det råder oenighet om uppgraderingen.
Soft fork
Mindre risk att orsaka splittring i samhället eftersom det är mer inkluderande för noder som inte har uppgraderats.
Hard fork
Genomföra betydande förändringar som inte är kompatibla med det befintliga protokollet, korrigera allvarliga säkerhetsproblem eller göra genomgripande uppdateringar.
Soft fork
Att göra stegvisa ändringar, förbättringar eller optimeringar som inte drastiskt förändrar protokollet.
Hard fork
Kan resultera i skapandet av en ny kryptovaluta om blockkedjan splittras.
Soft fork
Skapar inte en ny kryptovaluta, utan upprätthåller en enda blockkedja.
Hard fork
Kräver ett tydligt och ofta svårt att uppnå samförstånd mellan alla deltagare i nätverket.
Soft fork
Kräver endast konsensus från en majoritet av nätverkets hashkraft, inte från alla noder.
Ethereum fork
I juli 2016 genomgick Ethereum-nätverket en betydande hard fork som svar på ett DAO-hack, där en angripare utnyttjade en sårbarhet i koden för en decentraliserad autonom organisation (DAO) för att stjäla cirka 3,6 miljoner Ether, värderade till cirka 50 miljoner dollar vid den tidpunkten.
DAO var tänkt att fungera som en decentraliserad riskkapitalfond där investerare kunde rösta om projektfinansiering. Hackningen ledde till en hetsig debatt inom Ethereum-communityn om lämplig respons, där de största farhågorna kretsade kring principerna om oföränderlighet och säkerheten för smarta kontrakt.
Ethereum-communityn stod inför ett svårt beslut: att antingen låta hacket stå som en smärtsam lektion i smart kontraktsäkerhet eller att ingripa och vända de bedrägliga transaktionerna för att återfå de stulna pengarna. Man valde det senare och genomförde en hard fork, vilket skapade en ny version av blockkedjan där stölden i praktiken raderades.
Denna åtgärd syftade till att återföra medlen till sina ursprungliga ägare, vilket ledde till att Ethereums blockkedja delades upp i två olika enheter: Ethereum (ETH), som antog den nya förgrenade kedjan, och Ethereum Classic (ETC), som fortsatte på den ursprungliga oförgrenade kedjan.
Exempel på hard fork
Bortsett från det populära Ethereum-fallet har det också skett andra sådana uppdateringar i kryptobranschen.
Här är några anmärkningsvärda exempel på hard forks:
I augusti 2017 skapades Bitcoin Cash för att lösa problemen med Bitcoins skalbarhet. Den primära tvisten handlade om storleken på blocken i blockkedjan. Anhängare av Bitcoin Cash förespråkade en ökning av blockstorleksgränsen för att tillåta fler transaktioner per block, i syfte att förbättra transaktionshastigheterna och minska avgifterna.
I november 2018 inträffade denna fork på grund av meningsskiljaktigheter inom Bitcoin Cash-communityn om blockkedjans tekniska riktning. Specifikt handlade tvisten om blockstorleksgränsen och införandet av vissa protokollfunktioner som syftar till att förbättra funktionerna för smarta kontrakt.
SegWit2x var en föreslagen hard fork som syftade till att öka Bitcoins blockstorlek till 2MB, efter implementeringen av Segregated Witness (SegWit), som var en soft fork som syftade till att hantera skalbarhet genom att ändra hur data lagrades i block. Den föreslagna hard fork avbröts dock i slutändan på grund av otillräcklig konsensus inom communityn.
Fördelar och nackdelar med hard fork
Hard forks har sina egna fördelar och nackdelar. Att förstå dessa kan hjälpa aktörer att fatta välgrundade beslut om att stödja eller motsätta sig sådana forks.
Fördelar
- Förbättring och utveckling
- Samförstånd i communityn
- Svar på kriser
- Skapar nya möjligheter
Nackdelar
- Uppdelning av communityn
- Volatilitet på marknaden
- Säkerhetsrisker
- Förvirring och operativa utmaningar
- Förtunning av resurser
Slutsatsen om hard forks inom blockkedjan
Hard forks visar styrkan i blockkedjesamhället och ger möjlighet att anpassa sig och utvecklas som svar på tekniska, etiska eller filosofiska utmaningar.
Beslutet att genomföra en hard fork är dock inte helt okomplicerat. Det handlar om att väga fördelarna med förbättringar och nödvändigheten av korrigeringar mot potentialen för splittring av communityn, marknadsvolatilitet och säkerhetssårbarheter.