Czym są Hard Forks vs. Soft Forks w kryptowalutach?

W tworzeniu oprogramowania a widelec to rozgałęzienie lub podzielenie kodu na oddzielne projekty. Rozwidlenia kryptowalut zdarzają się cały czas i generalnie nie ma się czym martwić.

Ponieważ wszystkie projekty blockchain (co to jest blockchain?) Obejmują pewnego rodzaju oprogramowanie, to właśnie mamy na myśli, gdy mówimy o rozwidleniu. Tworząc projekt, wykonujesz kopię kodu w określonym momencie, a następnie tworzysz na tym kodzie osobny projekt.

Przykładem forka jest Bitcoin i Bitcoin Cash. Bitcoin Cash zaczynał od bazy kodu Bitcoin, ale teraz działa jako niezależny projekt. Wszelkie zmiany wprowadzone w Bitcoin nie są przenoszone na Bitcoin Cash, a każdy zestaw tokenów jest oddzielny.

Rozwidlanie nie musi być złą rzeczą. Wiele firm rozwidla własne oprogramowanie. Może to polegać na przykład na utrzymaniu obsługi dwóch bardzo różnych systemów operacyjnych lub utrzymaniu starej lub przestarzałej wersji wraz z bardziej aktualną wersją.

Widełki kryptowalut nie różnią się od innych forków oprogramowania. Na przykład deweloper A uważa, że ​​projekt blockchain powinien wykonać X, ale deweloper B uważa, że ​​powinien zrobić Y. Jeśli X i Y są zbyt daleko od siebie, deweloper A lub B może zdecydować się na rozwidlenie. Każdy programista może opracować własne funkcje bez ingerencji w siebie nawzajem.

Widły mogą się również zdarzyć z ryzykownymi lub eksperymentalnymi funkcjami.

Jeśli programiści dogadają się ze sobą lub dojdzie do porozumienia lub kompromisu, rozwidlona wersja może później scalić się z powrotem z oryginalnym kodem lub oryginalny kod może zostać porzucony na rzecz nowego, rozwidlonego kodu.

To wszystko brzmi dobrze, ale co to ma wspólnego z użytkownikami kryptowalut, takimi jak ty i ja? Cóż, ponieważ wiele projektów kryptowalut jest open source, forki mogą się zdarzać i zdarzają się cały czas – czasami z uzasadnionych powodów (takich jak zwiększona prędkość lub bezpieczeństwo), czasami z powodów samolubnych (takich jak ułatwienie wydobywania na określonym sprzęcie).

Hard Forks vs. Soft Forks w kryptowalutach

ZA miękki widelec często wiąże się z niewielkimi zmianami w kodzie. Może to być terminologia lub zmiany, które nie zmieniają sposobu działania danego łańcucha blokowego. Miękkie widelce są często nieinwazyjne i mogą współistnieć z wersją nieobsługiwaną.

W przypadku miękkich widelców górnicy mogą zdecydować się na przejście na nowy kod. Ponieważ nie ma większych zmian, wszystkie węzły ze starszym oprogramowaniem powinny nadal być w stanie akceptować bloki wygenerowane przez nowe węzły – jednak nowe węzły będą odrzucać bloki wygenerowane przez stare węzły. Jeśli wystarczająca liczba górników przełączy się na wersję rozwidloną, w starym kodzie nie będzie wystarczającej liczby węzłów, aby przetworzyć jakiekolwiek transakcje. Wszystkie nowe węzły odrzucałyby bloki ze starych węzłów, zmuszając je do przełączenia.

Tutaj pojawia się problem: jeśli miękki widelec jest ryzykowny lub niepopularny, górnicy mogą się na niego nie przestawić. Jeśli tylko mniejszość węzłów uruchomi nowy kod, może on wygasnąć i zostać zastąpiony w kodzie.

ZA twardy widelec jest często znacznie bardziej kłopotliwa. Hard forki zwykle wymagają całej sieci, aby przełączyć się na nowy kod. Jeśli niektóre węzły miałyby uruchomić nieobsługiwany kod, mogą one generować dane na różne sposoby i utracić synchronizację. Chociaż możliwe jest jednoczesne uruchamianie węzłów twardego rozwidlenia i nieobsługiwania na tym samym łańcuchu bloków, rzadko się to robi. Każdy zestaw węzłów odrzucałby się nawzajem i wpadłbyś w kłopoty.

W rzeczywistości tyle kłopotów, że programiści blockchain mogą nalegać, aby każdy węzeł zaktualizował się do rozwidlenia. Odbywa się to często w przyszłości po wydobyciu określonego bloku. Pozwala to każdemu węzłowi na aktualizację.

Jeśli w kodzie pojawi się hard fork, ale niektórzy programiści nie zgadzają się ze zmianą, sytuacja może się skomplikować. Sami górnicy mogą znaleźć się w samym środku zaciekłej bitwy i zostać zmuszeni do wyboru strony. Jeśli sytuacja stanie się naprawdę zła, może powstać zupełnie nowy projekt – oparty na oryginalnym kodzie, ze zmianami wprowadzonymi przez hard fork. Nieobsługiwany kod działa tak, jak zawsze, a twardy rozwidlony kod musi zacząć się od nowa.

Nazywa się to podział łańcucha, a taki rozwód w kodzie często może być złą wiadomością. Oryginalny projekt może stracić zwolenników, węzły lub finansistów na rzecz ciężko rozwidlonego projektu, ale nowy projekt może również wymagać znalezienia źródła przychodów lub zbioru węzłów do obsługi sieci. Ta zaciekła walka rzadko kończy się dobrze dla którejkolwiek ze stron.

Kiedy nastąpi podział łańcucha, programiści mogą zdecydować się na zachowanie kopii rekordów wraz z kodem, co oznacza, że ​​każdy, kto ma tokeny w oryginalnej sieci, będzie miał również tokeny w nowej sieci. Darmowa kryptowaluta może brzmieć niesamowicie, ale istnieją pewne potencjalne zagrożenia, które mogą poważnie wpłynąć na taki projekt.

Bez starannego zarządzania widełkami użytkownicy sieci mogą być w stanie dwukrotnie wydawać monety. Jeśli transakcja ma miejsce przed rozwidleniem, ale nie zostanie zarejestrowana dopiero po rozwidleniu, możesz mieć tokeny w nowej sieci, których nie było w starej sieci. Z tego powodu większość aktywnych portfeli, giełd i węzłów przestanie przetwarzać transakcje przez niewielki okres obsługi przed i po wyznaczonym czasie rozwidlenia..

Jeśli korzystasz z własnego bezpiecznego portfela kryptowalut, może być konieczna migracja monet w zależności od forka.

Rozwidlenia kryptowalut: opakowane

Jedną z podstawowych wartości stojących za publicznymi projektami kryptowalut typu open source jest bezpieczeństwo. Rozwidlenie często zwiększa bezpieczeństwo, ale twarde widły mogą być problematyczne.

Jeśli jesteś użytkownikiem kryptowaluty, często nie masz się czym martwić. Jeśli jesteś górnikiem obsługującym własne węzły, musisz śledzić stan rozwoju projektu i aktualny konsensus społeczności.

Jakie masz doświadczenia z rozwidleniem? Może prowadzisz węzeł, gdy dochodzi do rozwidlenia, a może jesteś osobą w zespole programistów, który tworzy rozwidlenie. Daj nam znać w sekcji komentarzy poniżej!