Soft Fork i Hard Fork u Bitcoin mreži
Najvažnije u nekoliko reči:
- Fork znači promenu u Bitcoin protokolu koja menja pravila validnosti blokova.
- Soft Fork podrazumeva pooštravanje postojećih pravila i ostaje kompatibilan sa starijim verzijama.
- Hard Fork olakšava pravila i zahteva prelazak svih učesnika na novu verziju.
- Chain Split je stvarna podela blockchain-a na dva odvojena lanca i razlikuje se od samog pojma Fork.
- Soft Fork-ovi se smatraju sigurnijim jer omogućavaju postepeno i fleksibilno usvajanje.
Soft i Hard Fork kao ključne promene u Bitcoin mreži
Kada se govori o novim funkcionalnostima i ažuriranjima u Bitcoin mreži, često se spominju pojmovi Soft i Hard Fork. Ali šta oni zapravo znače i u čemu je razlika? U nastavku ćemo to detaljno objasniti i razjasniti česte nesporazume koji izazivaju zabunu.
U svetu softverskih projekata, posebno u open-source razvoju, termin „fork“ označava grananje projekta, najčešće kada deo programera ima drugačiju viziju o njegovoj budućnosti. U takvim situacijama mogućnost da se krene zasebnim putem omogućava kontinuitet razvoja umesto da projekat zastane zbog nesuglasica.
Kada je reč o Bitcoinu, situacija postaje znatno složenija. Pojam „fork“ ovde je višeznačan i često dovodi do pogrešnog tumačenja. Za razliku od obične aplikacije koju možete jednostavno „kopirati“ i prilagoditi, Bitcoin kao velika i decentralizovana mreža ne funkcioniše tako jednostavno.
Promene pravila koja određuju validnost blokova utiču na celu mrežu i sve korisnike, pa stoga mogu imati ozbiljne posledice. Upravo skup tih pravila, takozvana konsenzus pravila, čini srce Bitcoina i određuje njegovu sigurnost, stabilnost i jedinstvenu prirodu.
Soft i Hard Fork pooštravanje i olakšavanje pravila
Kada se menja konsenzus pravilo u Bitcoin mreži, postoje samo dva moguća pravca: pravila se mogu pooštriti ili olakšati. Upravo ova podela čini osnovnu razliku između Soft i Hard Forka, jer se oni razlikuju isključivo po tome da li nova pravila postaju stroža ili blaža u odnosu na postojeća. Ovi pojmovi opisuju samo oblik promene pravila, ništa više i ništa manje.
Moguće posledice za mrežu, o kojima će kasnije biti reči, ne ulaze u samu definiciju i treba ih posmatrati potpuno odvojeno od ove osnovne podele.
Soft i Hard Fork kroz primer poslovnog ugovora
Zamislimo kompaniju koja sklapa ugovor sa partnerima. U prvobitnoj verziji ugovora dovoljno je da se isporuka robe izvrši u roku od 30 dana. Ako kompanija odluči da pravilo postane strože, na primer da se roba mora isporučiti u roku od 15 dana, to je pooštravanje pravila.
Partneri koji su već mogli ispuniti prvobitne obaveze i dalje mogu raditi po novim pravilima, jer kraći rok ne isključuje one koji su već pouzdani. Oni jednostavno moraju biti još precizniji, ali se ugovor i dalje smatra validnim i kompatibilnim sa starim pravilima.
Soft Fork – pooštravanje pravila
Na isti način funkcioniše Soft Fork u Bitcoinu: nova pravila su stroža, ali stara pravila i dalje prihvataju blokove koji ih poštuju. Zbog toga Soft Fork ne zahteva da svi odmah pređu na novu verziju, već obezbeđuje kompatibilnost unazad.
Ključne osobine Soft Fork-a
- Pooštravanje postojećih pravila
- Kompatibilnost unazad (backward compatible)
- Stare verzije i dalje validiraju nove blokove
- Ne zahteva jednoglasno usvajanje
Hard Fork – olakšavanje pravila
Zamislimo ponovo primer poslovnog ugovora. U prvoj verziji ugovor je zahtevao da roba bude isporučena u roku od 30 dana. Ako kompanija odluči da ublaži pravilo i produži rok isporuke na 45 dana, to predstavlja značajnu promenu koja je u suprotnosti sa prethodnim pravilima.
Partner koji i dalje posluje po starom ugovoru (30 dana) neće moći da prizna validnost isporuke izvršene u 45 dana. Nastaje sukob: ili svi partneri prihvataju nova, blaža pravila, ili dolazi do raskola i sklapanja odvojenih ugovora.
U Bitcoin kontekstu upravo to je Hard Fork, promena pravila koja nije kompatibilna unazad. Ona zahteva da svi učesnici pređu na novu verziju, jer bi u suprotnom došlo do odvajanja mreže i stvaranja paralelnih lanaca.
Ključne osobine Hard Fork-a
- Olakšavanje postojećih pravila
- Nekompatibilan unazad (not backward compatible)
- Stare verzije odbacuju nove blokove
- Zahteva da svi učesnici ažuriraju
Chain Split i trenutak kada se blockchain razdvaja
Do sada nismo govorili o jednoj posebnoj situaciji: podeli samog blockchain-a, kada se pojavljuju međusobno konkurentski blokovi koji više ne pripadaju istom lancu. Takav slučaj u nastavku ćemo označiti terminom Chain Split, kako bismo izbegli zabunu sa postojećim značenjem pojma „Fork“.
Veoma često se Chain Split izjednačava sa Fork-om, naročito sa Hard Fork-om, i koristi se kao sinonim. Kao i kod mnogih raširenih nesporazuma, u tome ima zrnce istine. Ipak, ključno je razumeti da postoji jasna razlika između Chain Split-a i Soft ili Hard Fork-a.
Chain Split označava konkretno stanje u mreži, kada se na vrhu blockchaina („chaintip“) u isto vreme nalazi više blokova koji međusobno konkurišu. Takvi slučajevi mogu nastati potpuno slučajno i prirodno, bez ikakvog Soft ili Hard Forka, na primer kada dva nezavisna minera u isto vreme pronađu novi blok.
Kada promene pravila vode do podele lanca
Pojmovi Soft i Hard Forka predstavljaju samo klasifikaciju pravca promene pravila. Jedno može biti povezano sa drugim, ali ne mora. Suprotno čestom uverenju, Hard Fork ne mora nužno završiti Chain Splitom, dok Soft Fork, i pored „blaže“ prirode, može dovesti do podele blockchaina.
Primer: promena maksimalne veličine bloka
Maksimalna veličina bloka, koja je definisana Bitcoin pravilima, može se promeniti u samo dva pravca, smanjenjem ili povećanjem.
Soft Fork scenario (smanjenje sa 1 MB na 0,5 MB)
Perspektiva stare verzije:
- Blokovi veličine 1 MB → validni (kao i ranije)
- Blokovi veličine 0,5 MB → validni (još uvek ispod starog limita)
Perspektiva nove verzije:
- Blokovi veličine 1 MB → nevalidni (prema novim pravilima)
- Blokovi veličine 0,5 MB → validni
Zbog kompatibilnosti unazad, blokovi koje generiše nova verzija ostaju validni i za starije verzije softvera. To znači da učesnici mreže ne moraju svi istovremeno ažurirati softver da bi promena bila uspešno aktivirana.
Hard Fork scenario (povećanje sa 1 MB na 10 MB)
Perspektiva stare verzije:
- Blokovi veličine 1 MB → validni
- Blokovi veličine 10 MB → nevalidni (prema starom limitu)
Perspektiva nove verzije:
- Blokovi veličine 1 MB → validni
- Blokovi veličine 10 MB → validni (u okviru novog limita)
Pošto Hard Fork nije kompatibilan unazad, blokovi generisani po novim pravilima za starije verzije su nevalidni. Zato svi učesnici moraju preći na novu verziju kako bi se sprečio Chain Split, odnosno podela mreže na dva konkurentska lanca.
SegWit kao elegantno rešenje za razvoj Bitcoin mreže
Ko poznaje Segregated Witness (SegWit) ažuriranje iz 2017. možda se pita: kako je moguće da je tada povećana efektivna veličina bloka, iako je SegWit bio Soft Fork?
Odgovor je zapravo jednostavan: formalno ograničenje veličine bloka ostalo je 1 MB, ali je uveden dodatni podatak (witness data) koji se prenosi odvojeno od samog bloka. Za starije verzije Bitcoin softvera koje ne prepoznaju SegWit, ti dodatni podaci praktično ne postoje i ne izazivaju konflikt. Transakcije su konstruisane tako da budu validne i bez SegWit informacija, što obezbeđuje potpunu kompatibilnost unazad.
Ovaj primer pokazuje kako Soft Fork može pametno da proširi funkcionalnost mreže bez rizika od podele. SegWit je zato često istican kao primer elegantnog rešenja koje omogućava postupno usvajanje i stabilan razvoj Bitcoin protokola.
Ako vam je sadržaj koristan i želite da nas podržite to možete učiniti ovde.


