Jeżeli interesujesz się kryptowalutami, z pewnością nie raz słyszałeś te dwa terminy – hard fork i soft fork. Ale czy wiesz, co one oznaczają? W artykule tym postaramy się wyjaśnić, czym są hard forki oraz soft forki, oraz cały kontekst z nimi związany.
Czym jest fork?
Wytłumaczenie, czym jest fork, zaczniemy od przytoczenia przykładu związanego z Githubem. Git to dobrze znany programistom system kontroli wersji oprogramowania, natomiast Github jest portalem, na który programiści wrzucają pliki kodu źródłowego. Mówimy tu o systemie kontroli wersji, ponieważ w miarę rozwoju oprogramowania, kod się rozrasta. Dodawane są nowe linijki, odpowiadające za kolejne funkcjonalności. Dzięki kontroli wersji Git jesteśmy w stanie sprawdzić, kto i kiedy edytował kod, oraz jakie wprowadził w nim zmiany. Wspomnieć tu należy również o sytuacji, w której powstaje fork. Załóżmy, że dwóch programistów pracuje na tym samym kodzie, natomiast oboje za cel mają wprowadzenie dwóch różnych funkcjonalności. W takim wypadku, programiści ci korzystają z funkcji fork, a więc tworzą kopię kodu, który posiada wspólną historię, ale od pewnego miejsca ulega rozwidleniu na dwie, rozłączne wersje.
Hard fork i soft fork
Analogicznie działa fork rozumiany w kontekście Bitcoina (BTC). Sieć Bitcoin stworzona jest z pojedynczego łańcucha bloków, który stale się powiększa, a wszyscy jej użytkownicy wspólnie ustalają reguły, według jakich sieć ta będzie działać. Reguły te nazywane są konsensusem. Jeżeli wspomniany wyżej łańcuch ulega rozwidleniu, nazywamy to forkiem. Istnieją dwa rodzaje forków: hard fork oraz soft fork.
Hard fork
Terminem hard fork określamy sytuację, w której dochodzi do aktualizacji oprogramowania, po której nie jest ono kompatybilne ze swoją starszą wersją. Przeważnie dotyczy to zmiany w regułach, takie jak na przykład zmiana wielkości pojedynczego bloku.
Soft fork
Soft fork to również sytuacja, w której dochodzi do rozwidlenia w sieci. Oprogramowanie zostaje zaktualizowane, ale w przeciwieństwie do hard forka, działa ono ze swoją starszą wersją.
Jak tworzone są forki? Czyli czym jest BIP.
Teraz, gdy wiesz już czym są forki, oraz jaka jest różnica pomiędzy soft forkiem i hard forkiem, na pewno zastanawiasz się, w jaki sposób proponowane są zmiany w łańcuchu. W przypadku Bitcoina, propozycja ulepszenia łańcucha nosi nazwę BIP, czyli Bitcoin Improvement Proposal. Jest to standard proponowania zmian w protokole Bitcoin. Propozycje BIP mogą obejmować zmiany krytyczne dla konsensusu (takie jak aktualizacje protokołu soft fork i hard fork), ale także inne zmiany, które muszą zostać skoordynowane względem różnej implementacji oprogramowania Bitcoin (BTC).