Hva er en hard fork?
En hard fork er et betydelig og permanent avvik i blokkjedeprotokollen til en kryptovaluta. Det skjer når det gjøres en grunnleggende endring i de underliggende reglene for et blokkjedenettverk, noe som resulterer i en splittelse eller forgrening i to separate baner.
I sammenheng med blokkjedeteknologi refererer en fork til en situasjon der en blokkjedes eksisterende kodebase blir endret eller oppdatert. En hard fork innebærer spesifikt en endring som ikke er bakoverkompatibel, noe som betyr at noder eller deltakere som kjører den forrige versjonen av blokkjeden, ikke vil gjenkjenne eller godta blokker som er opprettet av den oppdaterte versjonen.
Når en hard fork finner sted, splittes altså blokkjeden i to separate kjeder med en felles historikk frem til tidspunktet for forken. Den ene kjeden følger det nye settet med regler, mens den andre fortsetter å operere under de gamle reglene.
Det er vanskelig å definere og beskrive hard forks, delvis på grunn av ulike oppfatninger om hva som utgjør en hard fork, og delvis på grunn av debatt om hvorvidt en gitt endring var en hard fork eller ikke.
En god definisjon av en hard fork er at konsensus mellom nodene avviker permanent ved en hard fork. Derimot er bakoverkompatible endringer i blokkjedeprotokollen som gjør det mulig å innføre nye regler uten at alle brukere må oppgradere programvaren sin, såkalte soft forks.
Begrepet “hard fork” betyr at oppgraderingen eller endringen i blokkjedeprotokollen ikke er bakoverkompatibel. Det betyr at noder eller deltakere som kjører den forrige versjonen av blokkjeden, ikke vil gjenkjenne eller godta blokker som er opprettet av den oppdaterte versjonen, og vice versa.
Hard forks kan initieres av ulike årsaker, blant annet for å implementere nye funksjoner, håndtere sikkerhetsproblemer, løse uenigheter i fellesskapet eller løse skalerbarhetsproblemer.
Det er verdt å merke seg at hard forks krever konsensus blant nettverkets deltakere for å vedta de nye reglene, og det kan noen ganger føre til splittelse i fellesskapet, der noen støtter den opprinnelige kjeden og andre omfavner den nye kjeden.
Hvordan en hard fork fungerer
En hard fork fungerer ved å implementere betydelige endringer i protokollen til en blokkjede, som er inkompatible med de eksisterende blokkjedereglene. Denne prosessen består av flere viktige trinn.
I det første trinnet fremmes det et forslag om å endre den eksisterende blokkjedeprotokollen. Forslaget kan komme fra utviklere, medlemmer av fellesskapet eller interessenter.
Konsensus blant nettverksdeltakerne er avgjørende for å gå videre med hard fork. Forslaget må få betydelig støtte og enighet fra utvinnere, utviklere, nodeoperatører og andre viktige interessenter.
Når konsensus er oppnådd, defineres de tekniske spesifikasjonene for de foreslåtte endringene. Utviklerne jobber med å implementere endringer i blokkjedens kodebase, noe som inkluderer innføring av nye funksjoner, endring av konsensusalgoritmen eller justering av parametere i nettverket.
Den oppdaterte koden testes grundig og gjennomgås av utviklere og eksperter for å sikre funksjonalitet, sikkerhet og kompatibilitet. Målet med denne fasen er å identifisere og fikse eventuelle feil, sårbarheter eller problemer før hardforken gjennomføres.
Deretter planlegges den harde fork til å skje på en bestemt blokkhøyde eller et forhåndsbestemt punkt i blokkjeden. Ved denne blokkhøyden aktiveres den oppdaterte versjonen av blokkjedeprotokollen.
Når blokkhøyden er nådd, splittes nettverket i to divergerende baner. Den eksisterende blokkjeden fortsetter å følge de gamle reglene, mens den nye blokkjeden begynner å operere med de oppdaterte reglene.
Noder og utvinnere i nettverket må bestemme hvilken kjede de vil støtte. Nodene kan velge å oppgradere programvaren sin til å følge de nye reglene eller fortsette med den gamle versjonen. På samme måte bestemmer utvinnerne hvilken kjede de vil utvinne blokker for, basert på faktorer som lønnsomhet, støtte fra lokalsamfunnet og nettverkssikkerhet.
Hvorfor intreffer hard forks?
Det er flere grunner til at det skjer harde forks i blokkjedenettverk. Her er de mest fremtredende:
Hard fork vs. soft fork
I forbindelse med blokkjedeteknologi er både hard fork og soft fork metoder for å oppdatere blokkjedeprotokollen, men de skiller seg fundamentalt fra hverandre når det gjelder kompatibilitet med eksisterende regler og deres innvirkning på nettverket.
Her er en sammenlignende titt på harde og soft fork:
Hard fork
Ikke bakoverkompatibel. Noder må oppgradere til den nye versjonen for å fortsette å delta.
Soft fork
Bakoverkompatibel. Noder som ikke er oppgradert, kan fortsatt delta i nettverket.
Hard fork
Kan resultere i en permanent splittelse og skape to separate blokkjeder dersom ikke alle deltakerne er enige om å oppgradere.
Soft fork
Resulterer vanligvis ikke i en permanent splittelse. Noder som ikke er oppgradert, kan fortsatt godta blokker fra oppgraderte noder.
Hard fork
Krever at alle noder og brukere oppgraderer til den nye protokollversjonen.
Soft fork
Bare et flertall av utvinnerne trenger å oppgradere, mens noder som ikke er oppgradert, fortsatt vil gjenkjenne nye blokker som gyldige.
Hard fork
Kan splitte samfunnet hvis det er uenighet om oppgraderingen.
Soft fork
Mindre sannsynlighet for å skape splittelse i fellesskapet, siden den i større grad inkluderer noder som ikke har oppgradert.
Hard fork
Implementering av betydelige endringer som ikke er kompatible med den eksisterende protokollen, korrigering av alvorlige sikkerhetsproblemer eller omfattende oppdateringer.
Soft fork
Inkrementelle endringer, forbedringer eller optimaliseringer som ikke endrer protokollen drastisk.
Hard fork
Kan resultere i opprettelsen av en ny kryptovaluta hvis blokkjeden splittes.
Soft fork
Oppretter ikke en ny kryptovaluta, men opprettholder én enkelt blokkjede.
Hard fork
Krever en klar og ofte vanskelig oppnåelig konsensus blant alle deltakerne i nettverket.
Soft fork
Krever kun konsensus fra et flertall av nettverkets hashkraft, ikke fra alle noder.
Ethereum fork
I juli 2016 gjennomgikk Ethereum-nettverket en betydelig hard fork som følge av et DAO-hack, der en angriper utnyttet en sårbarhet i koden til en desentralisert autonom organisasjon (DAO) til å stjele rundt 3,6 millioner Ether, til en verdi av rundt 50 millioner dollar på det tidspunktet.
DAO var ment som et desentralisert risikokapitalfond, der investorer kunne stemme over prosjektfinansiering. Hackingen førte til en opphetet debatt i Ethereum-fellesskapet om hva som var den riktige reaksjonen, og de største bekymringene dreide seg om prinsippene om uforanderlighet og sikkerheten til smartkontrakter.
Ethereum-samfunnet sto overfor en vanskelig avgjørelse: enten å la hackingen stå som en smertefull leksjon i smartkontraktsikkerhet, eller å gripe inn og reversere de falske transaksjonene for å få tilbake de stjålne midlene. De valgte det siste, og utførte en hard fork som skapte en ny versjon av blokkjeden der tyveriet i praksis ble slettet.
Denne handlingen hadde som mål å tilbakeføre midlene til de opprinnelige eierne, noe som førte til at Ethereum-blokkjeden ble delt i to distinkte enheter: Ethereum (ETH), som tok i bruk den nye forkede kjeden, og Ethereum Classic (ETC), som fortsatte på den opprinnelige, uforkede kjeden.
Hard fork eksempler
Bortsett fra den populære hard forking av Ethereum, har det også vært andre slike oppdateringer i kryptobransjen.
Her er noen fremtredende eksempler på hard forks:
I august 2017 ble Bitcoin Cash opprettet for å løse problemer med Bitcoins skalerbarhet. Den primære uenigheten gjaldt størrelsen på blokkene i blokkjeden. Tilhengerne av Bitcoin Cash tok til orde for å øke blokkstørrelsen for å tillate flere transaksjoner per blokk, med mål om å øke transaksjonshastigheten og redusere avgiftene. I november 2018 oppstod denne fork på grunn av uenigheter i Bitcoin Cash-fellesskapet om blokkjedens tekniske retning. Uenigheten dreide seg spesielt om blokkstørrelsesgrensen og innføringen av visse protokollfunksjoner som skulle forbedre smartkontraktfunksjonene. SegWit2x var en foreslått hard fork som skulle øke Bitcoins blokkstørrelse til 2 MB, etter implementeringen av Segregated Witness (SegWit), som var en soft fork som tok sikte på å løse problemet med skalerbarhet ved å endre hvordan data ble lagret i blokker. Den foreslåtte hardforken ble imidlertid til slutt kansellert på grunn av utilstrekkelig konsensus i fellesskapet.
Fordeler og ulemper med hard fork
Hard forks har sine egne fordeler og ulemper. En forståelse av disse kan hjelpe interessenter med å ta informerte beslutninger om å støtte eller motsette seg slike gaflinger.
Fordeler
- Forbedring og utvikling
- Fellesskapets konsensus
- Reagerer på kriser
- Skaper nye muligheter
Ulemper
- Splittelse i samfunnet
- Markedsvolatilitet
- Sikkerhetsrisiko
- Forvirring og operasjonelle utfordringer
- Utvanning av ressurser
Oppsummert
Hard forks viser styrken til blokkjedefellesskapet, og gir muligheten til å tilpasse seg og utvikle seg som svar på teknologiske, etiske eller filosofiske utfordringer.
Beslutningen om å gjennomføre en hard fork er imidlertid ikke uten problemer. Det innebærer å veie fordelene ved forbedringer og nødvendigheten av rettelser opp mot potensialet for splittelse i fellesskapet, markedsvolatilitet og sikkerhetsproblemer.
FAQ
Hva er en hard fork, enkelt sagt?
Er en hard fork bra eller dårlig?
Hva brukes en hard fork til?
Når ble Bitcoin splittet?
Referanser