Kriptovalute kao što su Bitcoin (BTC) i Ethereum (ETH) pokreću se decentralizovanim softverom otvorenog koda koji se zove blockchain. Fork je promena osnovnog protokola blockchaina. Blockchain fork je važna nadogradnja mreže i može da redstavlјa radikalnu ili manju promenu i mogu da je pokrenu programeri ili članovi zajednice.
Zahteva od operatera čvorova – mašina povezanih na blockchain koji pomažu u validaciji transakcija na njemu – da nadograde na najnoviju verziju protokola. Svaki čvor ima kopiju blockchaina i osigurava da nove transakcije nisu u suprotnosti sa njegovom istorijom.
Hard fork je radikalna nadogradnja koja može da učini prethodne transakcije i blokove validnim ili nevažećim i zahteva od svih validatora u mreži da se nadograde na noviju verziju. Nije kompatibilan unazad. Soft fork je nadogradnja softvera koji je kompatibilan unazad i ima validatore u starijoj verziji lanca koji novu verziju vide kao važeću.
U stvari, hard fork, češće nego ne, dovodi do trajnog razdvajanja lanca, pošto stara verzija više nije kompatibilna sa novom verzijom. Oni koji poseduju tokene u starom lancu dobijaju i tokene u novom jer dele istu istoriju. Hard fork može da se desi iz više razloga.
Razumevanje hard forkovi
Da biste razumeli šta je hard fork, neophodno je prvo da razumete blockchain tehnologiju. Blockchain je u suštini lanac napravlјen od blokova podataka koji rade kao digitalna knjiga u kojoj je svaki novi blok validan tek nakon što je prethodni potvrđen od strane mrežnih validatora. Podaci o blockchainu mogu da se prate sve do prve transakcije na mreži. Zbog toga još uvek možemo da vidimo prvi blok na Bitcoin blockchainu.
Hard fork je u suštini trajno odstupanje od najnovije verzije blockchaina, što dovodi do odvajanja blockchaina, pošto neki čvorovi više ne ispunjavaju koncenzus, a dve različite verzije mreže se pokreću odvojeno.
Ovo u suštini znači da se na blockchainu kreira fork gde jedna putanja nastavlјa da prati trenutni skup pravila, dok druga putanja prati novi skup pravila. Hard fork nije kompatibilan unazad, tako da stara verzija više ne vidi novu kao validnu.
Hard forkovi se često smatraju opasnim zbog rascepa lanca koji se često dešava. Ako dođe do podele između rudara koji obezbeđuju mrežu i čvorova koji pomažu u validaciji transakcija, sama mreža postaje manje bezbedna i ranjivija na napade.
Uobičajeni način za preduzimanje zlonamerne akcije protiv blockchaina bi bio izvođenje napada od 51%, što je kada grupa rudara uspe da ima preko 51% računarske snage koja obezbeđuje mrežu i da je koristi da promeni istoriju blockchaina. Neke mreže stvorene kao rezultat hard forkova su, u stvari, pretrpele brojne napade od 51% gde su loši akteri duplo trošili ista sredstva. Ovi napadi imaju loše aktere koji koriste njihovu superiornu računarsku moć u mreži da reorganizuju blokove, omogućavajući im da duplo troše.
Još jedna ranjivost koja je moguća sa hard forkovima su napadi ponavlјanja. Napadi ponavlјanja se dešavaju kada zlonamerni entitet presreće transakciju na račvanoj mreži i ponavlјa te podatke u drugom lancu. Hard forkovi bez zaštite od napada ponavlјanja vide da obe transakcije postaju važeće, što znači da neko može da premesti sredstva drugog korisnika bez kontrole.
Zašto dolazi do hard forkova?
Ako hard forkovi mogu drastično da smanje sigurnost blockchaina, zašto se uopšte dešavaju? Odgovor je jednostavan: hard forkovi su nadogradnje koje su neophodne za pobolјšanje mreže dok tehnologija blockchain nastavlјa da se razvija. Nekoliko razloga može da bude iza hard forka, i nisu svi negativni:
- Dodaju funkcionalnost
- Ispravljaju bezbednosne rizike
- Rešavaju nesuglasice unutar zajednice kriptovaluta
- Obrnute transakcije na blockchainu
Hard forkovi takođe mogu da se dese slučajno. Često se ovi incidenti brzo rešavaju, a oni koji više nisu bili u koncenzusu sa glavnim blockchainom se vraćaju i pridržavaju ga se nakon što shvate šta se dogodilo. Slično tome, hard forkovi koji dodaju funkcionalnosti i nadograđuju mreže obično omogućavaju onima koji ispadnu iz koncenzusa da se ponovo pridruže glavnom lancu.
Slučajni hard forkovi
Bitcoin blockchain je tokom njegove istorije video mnoge slučajne hard forkove. Oni su češći nego što bi se mislilo i često se rešavaju tako brzo da su jedva vredni pažnje.
Većina slučajnih hard forkova se dešava kad god dva rudara pronađu isti blok u skoro isto vreme. Kako se koncenzus na mreži distribuira, oba u početku vide blok kao validan i nastavlјaju da rudare na različitim lancima pre nego što oni ili drugi rudar dodaju sledeći blok.
Taj sledeći blok diktira koji lanac postaje duži, što znači da se drugi napušta da bi se održao koncenzus. Rudari prelaze na najduži lanac pošto napušteni više nije profitabilan za rudarenje Bitcoin-a, jer bi rudarili fork mreže.
Kada se ove forkovi dogode, rudar koji je pronašao napušteni blok gubi coinbase i nagradu za naknadu za transakciju. Međutim, nijedna transakcija ne bi bila poništena jer su oba pronađena bloka identična i sadrže iste transakcije.
Drugi slučajni hard forkovi bili su deo problema koda koji su doveli do razdvajanja kratkog lanca. U 2013. godini, na primer, blok sa većim brojem ukupnih unosa transakcija nego što je ranije viđen je miniran i emitovan, dok ga neki čvorovi nisu obrađivali, što je dovelo do podele. Problem je rešen nakon što su neki čvorovi smanjili njihov softver da bi postigli koncenzus i odbili ovaj veći blok.
Razlika između hard forkova i soft forkova
Hard fork nije jedini način za nadogradnju softvera iza kriptovalute. Soft forkovi se, nasuprot tome, smatraju sigurnijom alternativom koja je kompatibilna unazad, što znači da će čvorovi koji se ne nadograde na novije verzije i dalјe videti lanac kao validan.
Soft fork može da se koristi za dodavanje novih funkcija i funkcija koje ne menjaju pravila koja blockchain mora da poštuje. Soft forkovi se često koriste za implementaciju novih funkcija na nivou programiranja.
Da bismo bolјe razumeli razliku između hard forkova i soft forkova, to može da se smatra osnovnom nadogradnjom operativnog sistema na mobilnom uređaju ili računaru. Nakon nadogradnje, sve aplikacije na uređaju će i dalјe raditi sa novom verzijom operativnog sistema. Hard fork, u ovom scenariju, bio bi potpuna promena novog operativnog sistema.
Značajni primeri hard forka
Postoje brojni istorijski primeri hard forka u svetu kriptovaluta i nisu se svi desili sa Bitcoin blockchainom. Evo nekih od najpopularnijih hard forkova u istoriji i kako su uticali na industriju.
SegWit2x i Bitcoin Cash
SegWit2x je bila predložena nadogradnja dizajnirana da pomogne Bitcoin skali. Postavlјen je da implementira Segregated Witness (SegWit) i poveća ograničenje veličine bloka sa 1 MB na 2 MB na mreži kriptovalute.
Implementacija SegWit2x je odlučena u kontroverznom njujorškom sporazumu postignutom 23. maja 2017. Sporazum je video da određeni broj vlasnika Bitcoin preduzeća i rudara koji predstavlјaju preko 85% heš stope mreže odlučuju o budućnosti BTC-a iza zatvorenih vrata.
SegWit bi se implementirao preko soft forka, dok bi ograničenje veličine bloka kasnije bilo implementirano kroz hard fork. Predlog je bio kontroverzan jer nije uklјučivao nijednog programera koji stoji iza glavne kodne baze Bitcoin-a, Bitcoin Core-a, i viđen je kao centralizujuća sila – grupa preduzeća koja odlučuje o sudbini mreže bez da rudari i čvorovi postignu koncenzus. Sporazum je došao nakon godina debate o skaliranju Bitcoin-a.
Zagovornici malih blokova su tvrdili da bi veći blokovi otežali hostovanje punog čvora, potencijalno centralizujući kriptovalutu. Oni koji su podržavali veće blokove tvrdili su da bi sve veće naknade za transakcije BTC-a naškodile njegovom rastu i da bi neke korisnike povukle iz mreže.
Na mreži Bitcoin-a su mogući soft forkovi koje aktivira korisnik. U ovom scenariju, operateri novčanika, berze i druga preduzeća koja imaju pune čvorove mogu da pređu na novu verziju blockchaina koja će imati tačku aktivacije u budućnosti, primoravajući rudare na mreži da „padnu u red“ i aktiviraju nova pravila. Ako to ne urade, mreža bi mogla da se podeli.
Korisnici Bitcoin-a su u to vreme vodili kampanju za soft fork koji je aktivirao korisnik, kao odgovor na sastanak iza zatvorenih vrata koji je diktirao budućnost Bitcoin-a i da bi sprečilo postavlјanje presedana. Oni su pozvali na implementaciju Predloga pobolјšanja Bitcoin-a (BIP) 148, koji je nastojao da implementira SegWit na Bitcoin mrežu i tvrdio da je SegWit2x sporni hard fork koji je mrežu učinio podložnom napadu ponavlјanja. Objavlјen je u martu 2017. i trebalo je da bude implementiran 1. avgusta 2017. godine.
Plašeći se da plan SegWit2x neće biti ispunjen i videvši da zajednica podržava SegWit, neke pristalice velikih blokova odlučili su da odvoje Bitcoin blockchain 1. avgusta 2017. Rezultat je bio stvaranje Bitcoin Cash-a (BCH). Nјegove pristalice nisu videli razlaz kao stvaranje rivalske mreže, već kao nastavak originalne vizije Satoshi Nakamoto-a.
Bitcoin Cash blockchain je kreiran sa veličinom bloka od 8 MB koja se od tada povećala na 32 MB. Do danas, pristalice Bitcoin Cash-a tvrde da će njegove niske naknade za transakcije pomoći da se poveća i banka bez bankovnih sredstava, verujući da će BTC biti ostavlјen zbog većih naknada za transakcije.
Hard fork Bitcoin Cash video je mogućnost da hard fork uđe u centar pažnje, i ubrzo nakon toga stvoreni su brojni drugi Bitcoin forkovi. To uklјučuje Bitcoin Gold (BTG), Bitcoin Diamond (BTCD) i druge.
DAO Hack
Još jedan veliki istorijski hard fork bio je povezan sa decentralizovanom autonomnom organizacijom (DAO) koja je pokrenuta 2016. na Ethereum mreži. Ethereum pokreće skup pametnih ugovora, koji su u suštini delovi koda koji se automatski izvršavaju kad god je ispunjen skup kriterijuma. Ovi ugovori omogućavaju programiranje novca i stoje iza decentralizovanih finansijskih aplikacija (DApps).
U to vreme, DAO je prikupio ETH u vrednosti od $150 miliona u jednom od najranijih napora za prikuplјanje novca u kripto, pre pomame za početnu ponudu novčića (ICO) 2017. To je u suštini bila rana iteracija modela decentralizovanog upravlјanja koji koriste DeFi protokoli, pri čemu vlasnici tokena glasaju o budućnosti protokola.
Nakon lansiranja, DAO je hakovan za $60 miliona vredan ETH od 11.000 investitora. U to vreme, Ethereum se trgovao ispod $10, tako da je oko 14% ukupnog Ether-a u opticaju uloženo u DAO, a hakovanje je bio veliki udarac poverenju u mrežu.
Usledila je debata unutar Ethereum zajednice, dok su se svi trudili da shvate kako da odgovore na napad. Prvobitno, osnivač Ethereum-a Vitalik Buterin je predložio soft fork koji bi stavio adresu napadača na crnu listu i sprečio ih da pomeraju sredstva.
Napadač, ili neko ko se predstavlјa kao oni – odgovorio je zajednici tvrdeći da su sredstva dobijena na „legalni“ način i u skladu sa pravilima pametnog ugovora. Tvrdili su da su spremni da preduzmu pravni postupak protiv svakog ko pokuša da zapleni sredstva. Tenzije su porasle dok je napadač rekao da će osujetiti pokušaje soft fork-a tako što će podmititi rudare ETH-a sredstvima.
Ponovo je usledila debata sve dok nije predložen hard fork. Hard fork je na kraju primenjen i vratio je istoriju Ethereum mreže na pre nego što se desio DAO napad, preraspodelivši ukradena sredstva na pametni ugovor gde su investitori mogli da povuku njihova sredstva.
Ovaj potez je bio izuzetno kontroverzan i u očima nekih je uticao na otpor i nepromenjivost blockchaina cenzure: investitori su, u njihovim očima, bili spaseni. Oni koji su videli stvari na ovaj način odbacili su hard fork i podržali raniju verziju mreže, sada poznatu kao Ethereum Classic (ETC).
Hashrate Wars: ABC protiv SV
Bitcoin Cash je stvoren kroz hard fork Bitcoin blockchaina u avgustu 2017. godine, a kasnije će se podeliti na dve mreže pošto su se grupe unutar njegove zajednice sukobile. S jedne strane, bio je Bitcoin Cash ABC (BCHA), razvojni tim koji pokušava da pobolјša tehnologiju koja stoji iza toga. Sa druge strane, bio je Bitcoin Cash SV (BSV), tim koji podržava samoproglašeni “Satoshi Nakamoto” Craig Wright, koji pokušava da poveća veličinu bloka sa 32 MB na 128 MB.
U bloku 556,767, blockchain se podelio na dva dela, i počela je bitka za simbol BCH oznake. Rudari sa obe strane su upotrebili svaki resurs koji su mogli da imaju prednost u stopi heširanja u odnosu na druge. Mnogi su pozivali na napad od 51% na drugu mrežu kako bi se reorganizovali njeni blokovi, tako da bi njeni zagovornici bili primorani da pređu na njihovu stranu.
Berze kriptovaluta i druge kompanije otkrile su da će pripisati BCH oznaku blockchainu koji je došao na prvo mesto. Neki rudarski pool-ovi su preusmerili sve njihove resurse na heš ratove, pri čemu je Bitcoin Cash ABC na kraju imao većinu heš stope i odbijao svaki pokušaj napada od 51%. Kasnije je zatražio BCH oznaku na berzama i drugim uslugama, a druga mreža je izabrala BSV kao njenu oznaku.