Czym jest Fork?

Fork jest powszechnym zjawiskiem w oprogramowaniu komputerowym i stanowi termin techniczny. W dziedzinie informatyki słowo Fork (pol. rozwidlenie) ma dwa znaczenia:

  • Fork następuje wtedy, gdy twórcy projektu informatycznego podejmują decyzję o jego podziale, czego efektem jest rozwój projektu w dwóch niezależnych kierunkach
  • Programiści używają stwierdzenia Fork, gdy tworzą dwie bliźniacze kopie projektu działające równolegle

Softfork i Hardfork w terminologii Bitcoina

Podstawowym mechanizmem Bitcoina jest protokół oprogramowania, który stanowi grupę kodów komputerowych służących jako predefiniowane reguły dla sieci. Oprogramowanie Bitcoin jest otwarte, dzięki czemu podstawowe kody komputerowe są bezpłatne i dostępne dla każdego, kto może je przeglądać, sprawdzać i używać.

Bitcoin do przeprowadzania transakcji wykorzystuje technologię Blockchain. Rozwiązanie technologiczne Blockchain opiera się na łańcuchu bloków, a dodatkowo cały proces korzysta z rozproszonej bazy danych tzw. sieci peer-to-peer, która stanowi swego rodzaju księgę rachunkową wszystkich transakcji. Zadaniem sieci peer-to-peer jest weryfikowanie i księgowanie transakcji, które polega na wbudowywaniu bloku do łańcucha bloków. Ponieważ Bitcoin jest zdecentralizowaną siecią, uczestnicy sieci muszą uzgodnić wspólny zestaw zasad sprawdzających transakcje, aby osiągnąć konsensus.

na rozstaju drógFork może wystąpić podczas księgowania transakcji w łańcuchu bloków. Jest to proces rozwidlenia się łańcucha bloków, który może nastąpić:

  • podczas podziału w konsensusie
  • podczas wprowadzania świadomych zmian w protokole Blockchaina:
    • Softfork
    • Hardfork

Podział w konsensusie

Może się zdarzyć, że górnicy rozwiążą blok w tym samym czasie, w wyniku czego dochodzi do podziału jednego łańcucha bloków na dwa łańcuchy. Trwałość takiego rozwidlenia jest krótka, ponieważ łańcuch, który szybciej rozwiąże następny blok, staje się dłuższy i automatycznie jest traktowany jako łańcuch wiodący/prawdziwy. W związku z tym krótszy łańcuch zostanie osierocony/opuszczony przez sieć.

Zmiana zasad w protokole

Zdarza się, że programiści świadomie chcą nanieść zmiany na pierwotnie istniejący protokół z rożnych przyczyn. Zwykle takie zmiany mają prowadzić do zwiększenia funkcjonalności sieci czy zmiany podstawowej reguły protokołu. Tego rodzaju forki są trwałe i wymagają od uczestników sieci aktualizacji oprogramowania.

Zmiany zasad protokołu możemy podzielić na kategorie:

  • Softfork
  • Hardfork

Planowany Hardfork

Sporny Hardfork

Spin-off Coins

Softfork

To rodzaj aktualizacji oprogramowania, który jest wstecznie kompatybilny ze starszymi wersjami. Użytkownicy, którzy nie zaktualizowali oprogramowania cały czas należą do sieci, są kompatybilni z siecią i mogą brać udział podczas weryfikacji transakcji.

Sam proces wdrażania Softforku jest zdecydowanie łatwiejszym procesem niż Hardfork. Ponieważ nie wymaga się od wszystkich użytkowników sieci aktualizacji oprogramowania. Co istotne, Softfork nie prowadzi do powstania nowej kryptowaluty. Osoby, które nie zdecydują się na aktualizację programu ryzykują zmniejszeniem funkcjonalności, a dopiero z czasem mogą zostać odrzucone przez sieć. Ten proces nanoszenia zmian możemy traktować jako stopniowy mechanizm modernizacji. Przykładem może być np. zmniejszenie przepustowości sieci.

Przeprowadzone Softforki na Bitcoinie:

  • BIP 66: Softfork do sprawdzania poprawności Bitcoina
  • P2SH: Softfork, zwiększenie bezpieczeństwa transakcji multisig P2SH

Hardfork

To rodzaj aktualizacji oprogramowania, który nie jest zgodny z poprzednią wersją. Wszyscy użytkownicy są zmuszeni do przejścia na nowe oprogramowanie, jeśli w dalszym ciągu chcą kontynuować uczestnictwo. Osoby, które nie zdecydują się dokonać aktualizacji, są oddzielane od sieci i nie będą miały możliwości potwierdzania nowych transakcji. Może się zdarzyć, że część społeczności górników nie zaakceptuje nowych zmian i zdecyduje się pozostać przy starym łańcuchu. Podział społeczności doprowadzi do powstania dwóch odrębnych łańcuchów, a tym samym do powstania nowej odrębnej kryptowaluty. Przykładem takiej sytuacji w przeszłości jest nałożenie Hardforka na protokół Ethereum. W rezultacie powstała nowa kryptowaluta Ethereum Classic.

  • Planowany Hardfork – aktualizacja protokołu jest zawarta w RoadMapie od samego początku tworzenia projektu. Ma na celu stopniowe wprowadzanie ulepszeń w funkcjonowaniu sieci Blockchain. Dochodzi do zmiany w kodzie protokołu, dlatego twórcy danego projektu wymagają od wszystkich użytkowników sieci aktualizacji oprogramowania. Skutkiem jest powstanie zupełnie nowego łańcucha. Najlepszym przykładem jest wprowadzenie Hardforka na Ethereum. Pod koniec 2017 roku zrealizowano plan Byzantium, który był wcześniej opisany w RoadMapie Ethereum i miał na celu poprawienie skalowalności protokołu Blockchain.
  • Sporny Hardfork – aktualizacja protokołu, prowadzi do nieporozumień wśród społeczności, czego skutkiem może być powstanie nowej kryptowaluty.

(Bticoin Bitcoin Cash czy Ethereum Ethereum Classic)

  • Spin-off coins – protokół Bitcoina jest projektem otwarto-źródłowym. Oznacza to, że każdy ma dostęp do kodu źródłowego Bitcoina i może wprowadzić własne zmiany, których rezultatem będzie stworzenie nowej wirtualnej monety z nowymi funkcjami. Przykładem jest Litecoin, który powstał na bazie kodu Bitcoina zmieniając jedynie czas trwania transakcji (z 10 do 2,5 min), algorytm konsensusu ( SHA 256 na Scrypt) i ilość monet (z 21 mln do 84 mln).
[Głosów:2    Średnia:4.5/5]
Banner Content