Co to jest fork?
Definicja
Kryptowaluty, takie jak bitcoin i ethereum, są obsługiwane przez zdecentralizowane, otwarte oprogramowanie zwane łańcuchem bloków (blockchain). Do forka dochodzi zawsze wtedy, gdy społeczność wprowadza zmiany w protokole łańcucha bloków, czyli podstawowym zestawie reguł.
Kryptowaluty, takie jak bitcoin i ethereum, są obsługiwane przez zdecentralizowane, otwarte oprogramowanie, które każdy może współtworzyć, zwane łańcuchem bloków (blockchain). Nazwano je łańcuchami bloków, ponieważ dosłownie składają się z bloków danych (wyobraź sobie bardzo długi pociąg), które można prześledzić aż do pierwszej transakcji w sieci. W związku z tym, że są to systemy typu open source, polegają one na społecznościach, które utrzymują i rozwijają ich podstawowy kod.
Do forka dochodzi zawsze wtedy, gdy społeczność wprowadza zmiany w protokole łańcucha bloków, czyli podstawowym zestawie reguł. Kiedy tak się dzieje, łańcuch rozdziela się i tworzy drugi łańcuch bloków, który posiada taką samą historię jak ten pierwotny, ale zmierza w nowym kierunku.
Dlaczego to ważne?
Większość walut cyfrowych jest zarządzanych przez niezależne zespoły programistów odpowiedzialne za zmiany i ulepszenia sieci. Podobnie ma się sprawa ze zmianami w protokołach internetowych, dzięki którym przeglądanie stron internetowych z biegiem czasu staje się coraz lepsze. Czasami do forka dochodzi w celu zwiększenia bezpieczeństwa kryptowaluty lub dodania do niej kolejnych funkcji.
Twórcy nowej kryptowaluty mogą także wykorzystać fork do stworzenia zupełnie nowych coinów i ekosystemów.
Soft fork: Soft fork należy traktować jak „aktualizację oprogramowania” łańcucha bloków. O ile zostanie zaadaptowany przez wszystkich użytkowników, staje się nowym zestawem standardów dla danej waluty. Soft forki używano do wprowadzania nowych cech lub funkcji, zazwyczaj na poziomie programowania zarówno w przypadku bitcoina, jak i ethereum. W związku z tym, że rezultatem jest pojedynczy łańcuch bloków, zmiany są wstecznie kompatybilne z blokami sprzed forka.
Hard fork: Hard fork ma miejsce, gdy kod zmienia się do tego stopnia, że nowa wersja nie jest już wstecznie kompatybilna z wcześniejszymi blokami. W tym scenariuszu łańcuch bloków dzieli się na dwie części: pierwotny łańcuch bloków i nową wersję zgodną z nowym zestawem reguł. W ten sposób powstaje zupełnie nowa kryptowaluta, z której wywodzi się wiele znanych coinów. Kryptowaluty, takie jak bitcoin cash i bitcoin gold, wyewoluowały z oryginalnego łańcucha blokowego bitcoina poprzez hard fork.
Dlaczego dochodzi do forków?
Jak każde oprogramowanie, łańcuchy bloków wymagają aktualizacji z powodów, takich jak:
dodanie funkcji,
przeciwdziałanie zagrożeniom bezpieczeństwa,
rozstrzygnięcie różnicy zdań w społeczności na temat kierunku rozwoju kryptowaluty.
Jak forki nadal zmieniają krajobraz kryptowalut?
Łańcuch blokowy Ethereum przeznaczono do obsługi „inteligentnych kontraktów”. Są one elementami kodu, które automatycznie wykonują zestaw wcześniej ustalonych działań, gdy określone kryteria zostaną spełnione. Inteligentne kontrakty znajdują zastosowanie we wszystkim: od gier poprzez narzędzia logistyczne aż do zdecentralizowanych aplikacji w branży zdecentralizowanych finansów (DeFi dapps).
W związku z tym, że jest to platforma, na której działają wszystkie te aplikacje, można postrzegać łańcuch bloków Ethereum jako coś podobnego do systemu operacyjnego komputera. Zgodnie z tą analogią różne forki Ethereum – Ethereum, Ethereum Classic, Ethereum 2.0 – są jak nowsze wersje systemu operacyjnego, które mają więcej funkcji lub większą wydajność od poprzednich wersji.
Starszy fork może pozostać stabilną, sprawdzoną platformą, a nowszy może zaoferować programistom zupełnie nowe sposoby interakcji. (Starsze i nowsze wersje ostatecznie mogą się połączyć lub dalej ewoluować niezależnie od siebie).
Soft fork należy traktować jako „aktualizację oprogramowania” (jak wtedy, gdy telefon prosi o aktualizację do najnowszego systemu operacyjnego), a hard fork jako zupełnie nowy system operacyjny (tak jak Linux i Mac OS wyewoluowały z liczącej pół wieku platformy UNIX).