za
fork

Gavin Andresen – forki mniejszościowe nie są niebezpieczne

2016-02-01
Techniczne

Wraz z pojawianiem się kolejnych zmian w Bitcoin Core pojawia się pytanie: co, jeżeli jakaś kopalnia (grupa kopalni) zacznie forsować „swoją” wersję bez osiągnięcia „standardowej” większości 95%? Może się bowiem zdarzyć, że górnicy zaczną używać wersji Core która nie jest zgodna (ma inne reguły konsensusu, np. wielkość bloku) z obecną większością górników Bitcoin i zaczną budować osobny łańcuch (fork).

 

 

Wraz z pojawianiem się kolejnych zmian w Bitcoin Core pojawia się pytanie: co, jeżeli jakaś kopalnia (grupa kopalni) zacznie forsować „swoją” wersję bez osiągnięcia „standardowej” większości 95%? Może się bowiem zdarzyć, że górnicy zaczną używać wersji Core która nie jest zgodna (ma inne reguły konsensusu, np. wielkość bloku) z obecną większością górników Bitcoin i zaczną budować osobny łańcuch (fork).

 

Zagadnienie to poruszył ostatnio na swoim blogu czołowy developer Bitcoina – Gavin Andresen, po tym jak chińskie kopalnie ogłosiły, że zwiększą rozmiar bloku do 2MB w sytuacji, gdyby deweloperzy Bitcoin Core nie doszliby do porozumienia. Wśród społeczności zaczęły padać pytania co by było, gdyby pewna grupa kopalń, która nie stanowi większości chciała wprowadzić swoje zmiany, czy jest to niebezpieczne?

 

Załóżmy na przykład, że 20% górników zacznie używać niezgodnej wersji. Jeżeli nie zostaną w niej zmienione reguły dotyczące trudność i algorytmu, to łańcuch taki będzie przyrastał w tempie jednego bloku na 50 minut (w tym samym czasie w „zgodnym” Bitcoin tempo spadnie do 12.5 minuty/blok). Będzie to trwać do najbliższej regulacji trudności, czyli max 2016 bloków. W zwykłej sieci zajmie to około 17.5 dnia a w nowej 70 dni (zamiast standardowych 14).

 

Zgodnie z regułami, nowo wykopane monety mogą być wydane przez górników po 100 kolejnych blokach. W zwykłej sieci będzie to możliwe po niecałej dobie, a w nowej po ponad 3 dniach.

 

Co będzie się działo z transakcjami? Wszystkie transakcje wydające monety wykopane przed forkiem będą poprawne w obu sieciach, i obie sieci będą je akceptować i dołączać do swoich bloków. Transakcje zaczną być odrzucane przez konkurencyjne forki w momencie, gdy zaczną być wydawane monety wykopane „nie w tym forku”. W takiej sytuacji tylko gałąź która wydobyła dane monety będzie akceptować ich wydawanie. Także kolejne transakcje wydające wyjścia z „wmieszanymi” nowymi monetami nie będą prawidłowe w drugim forku.

 

Co mogą zyskać górnicy nowej wersji? Jest to bardzo trudne do oceny, jednak aby nowa wersja miała jakąkolwiek wartość musiałaby powtórzyć drogę jaką przeszedł Bitcoin od początku – zyskać akceptację i wymienność. Górnicy musieliby znaleźć zbyt na swoje „nowe” bitcoiny, czyli musieliby znaleźć się chętni do ich używania. Ponieważ tempo działania sieci początkowo byłaby znacznie mniejsza niż pierwotnie, oraz bezpieczeństwo sieci byłoby znacznie mniejsze, wartość „nowego BTC” byłaby zapewne o rzędy wielkości mniejsza, niż „oryginalnego”.

 

Możliwość wydawania „starych” monet w różnych gałęziach sieci będzie również bardzo niebezpieczne dla użytkowników. Wydając swoje „stare BTC” w nowej gałęzi, jednocześnie umożliwiamy odbiór tych monet w oryginalnej gałęzi – transakcje będzie przecież ważna w obu gałęziach. Chcąc więc zapłacić małą wartość wyrażoną w „nowych BTC” płacimy jednocześnie dużą wartość w „starych BTC”. Dopiero gdyby doszło do zmieszania w jednej transakcji nowych monet ze starymi, można by bezpiecznie wydać stare BTC w nowym forku, bo transakcja taka nie byłaby zaakceptowana w starej sieci.

 

Wprowadzenie nowej wersji przez mniejszość górników jest więc możliwe, jednak ciężko nazwać to dobrym rozwiązaniem. Fork taki rodzi bowiem wiele problemów dla dotychczasowych użytkowników (posiadaczy) BTC, którzy chcieliby z niego korzystać. Użytkownicy „większościowej” wersji mogliby wcale nie zauważyć pojawienia się takiego tworu, praktycznie nie wpływa to bowiem na działanie reszty sieci. Możliwe byłoby zauważenie zmniejszenia się tempa pojawiania nowych bloków a po pewnym czasie zaczęłyby się pojawiać nieprawidłowe transakcje (wydające „nieistniejące” w tej sieci monety).

 

Aby uniknąć „mieszania” się monet, twórcy forka musieliby znacznie zmienić protokół, nie tylko reguły konsensusu. Jednak w takiej sytuacji, lepiej by chyba było uruchomić całkowicie nowy łańcuch zamiast forkować istniejący.

 

Jedyną szansą dla takiego forka byłoby bardzo szybkie przekonanie reszty górników do swojej wizji (wersji), w związku z czym oryginalna gałąź przestałaby się powiększać i użytkownicy (giełdy, punkty wymian, itd.) również przeszliby na nową wersję. W ten sposób stary/oryginalny Bitcoin poszedłby w zapomnienie a jego miejsce zajął nowy, o tej samej wartości rynkowej i użyteczności co wcześniej, ale o zmienionych regułach konsensusu. Jeżeli jednak miałoby to się udać, to wersja taka powinna zostać zaakceptowana wcześniej, i powstanie mniejszościowego forka w ogóle nie miałoby miejsca. Sieć „po prostu” zaakceptowałaby ten fork i przeszła na niego w całości.

 

Podsumowując forki mniejszościowe nie są niebezpieczne dla funkcjonowania samego Bitcoina ani bitcoinowej ekonomii. Również nie niosą za sobą żadnego ryzyka utraty bitcoinów.

 

Fotografia na licencji Creative Commons: Flickr.com

Bitcoina i inne kryptowaluty kupisz w prosty i bezpieczny sposób na giełdzie zondacrypto.

Tagi

Newsletter Bitcoin.pl

Więcej niż bitcoin i kryptowaluty. Najważniejsze newsy i insiderskie informacje prosto na Twój email.

Dbamy o ochronę Twoich danych. Przeczytaj naszą Politykę Prywatności