BIP148 konsekwencje

Rewolucja czy ewolucja? BIP148 i jego konsekwencje

Niektórzy określają dzień 1 sierpnia jako Święto Niepodległości Bitcoina. Nie uważam, że jest to dobre określenie, ale możemy być pewni, że początek sierpnia będzie wielkim sprawdzianem dla całej społeczności: górników, developerów, przedsiębiorców i w końcu zwykłych użytkowników. Tego dnia ma zostać aktywowany User Activated Soft Fork ( UASF ) zawarty w propozycji zmian BIP148 ( Bitcoin Improvement Protocol ). Sam sposób w jaki ten proces przebiegnie będzie miał niebagatelny wpływ na dalszy rozwój technologiczny Bitcoina, jego cenę, a może i nawet istnienie. Niezależnie jednak od tego co się stanie warto być świadomym możliwych zagrożeń. W tym artykule postaramy się rozwiać wszystkie wątpliwości co do BIP148.

Co to jest BIP148?

Jest to propozycja usprawnień, która jest wprowadzana w życie poprzez UASF czyli User Activated Soft Fork. Jego zadaniem będzie, tak jak w przypadku każdego soft forka, uściślenie pewnych reguł panujących w sieci. W przypadku BIP148 polegać to będzie na sygnalizacji gotowości przyjęcia Segregated Witness ( SegWit ), czyli usprawnienia mającego doprowadzić do zwiększenia przepustowości sieci i poprawy skalowalności Bitcoina. Nie będzie to sama aktywacja Segregated Witness.

Zgodnie z zasadami jakimi kierują się soft forki, górnicy nie wspierający SegWit będą nadal mogli wydobywać bloki, jednak nie będą one akceptowane przez resztę węzłów, które wspierają BIP148 i gotowości przyjęcia SegWit.

Czy jest się czego bać?

Sytuacja, w której część górników będzie odrzucać bloki innych górników powoduje, że przy niekorzystnych okolicznościach może dojść do rozgałęzienia głównego łańcucha bloków ( chain split ) i w konsekwencji do powstania dwóch Bitcoinów: jednego, który będzie akceptował ustalenia zawarte w BIP148 i drugiego, który będzie je odrzucał. Dla potrzeb tego artykułu nazwiemy je konsekwentnie „BTC-148” ( ponieważ BIP148 jest propozycją developerów Core ) i „BTC-Non-148”.

Segwit2x, a BIP148

Segregated Witness jest propozycją developerów Bitcoin Core, referencyjnego klienta Bitcoin. Pod koniec maja w Nowym Jorku firmy pracujące nad Bitcoinem i kopalnie zebrały się za zamkniętymi drzwiami i uzgodniły wprowadzenie SegWit2x. Polegać ma ono na aktywacji Segregated Witness na poziomie 80% wsparcia sieci ( w propozycji Bitcoin Core jest to 95% ) i zmianie rozmiaru bloku z 1MB do 2MB. Większość liczących się graczy w branży zaczęło wspierać ustalenia porozumienia nowojorskiego i obecnie „warunek 80%” wsparcia sieci jest spełniony. Nic tylko wprowadzać chciałoby się powiedzieć.

Niestety sprawa nie wygląda tak różowo jakby się wydawało. Developerzy z teamu Core upierają się przy swojej wersji wprowadzenia tylko SegWit bez zmiany rozmiaru bloków, więc nie wspierają nowojorskiego porozumienia. Problematyczny jest fakt, że to oni tworzą referencyjnego klienta Bitcoin i w przypadku rozłamu wspierający SegWit2x musieliby opracować nowego klienta. Zmiana rozmiaru bloków miałaby nastąpić kilka miesięcy po aktywacji SegWit2x, a więc możliwe jest, że developerzy Core zmienią zdanie.

Obecnie ponad 90% mocy sieci wspiera SegWit2x i wszystko wskazuje na to, że zostanie on wprowadzony. Problemem jest fakt, że 90% sieci wspiera rozwiązanie, którego kod nie został jeszcze dobrze przetestowany i dopiero kilka dni temu została wypuszczona wersja alpha. W obecnej wersji BIP148 jest „niekompatybilny” z SegWit2x i istnieje duże prawdopodobieństwo rozdzielenia łańcucha. James Hilliard, developer Bitcoin zaproponował jednak rozwiązanie mające zapobiec rozdzieleniu się łańcucha ( split protection ) jeszcze przed aktywacją BIP148.

Możliwych scenariuszy, według których się ta cała sytuacja mogłaby się potoczyć jest niesamowicie wiele. Postaram się poruszyć te najbardziej prawdopodobne.

 

 

MOŻLIWE SCENARIUSZE:
Scenariusz 1- BIP148 w pełni przyjęty

Przy założeniu, że dzięki rozwiązaniu Hilliarda BIP148 będzie w pełni kompatybilny z SegWit2x i jednocześnie cała sieć będzie sygnalizować gotowość aktywacji SegWit nie będzie żadnego rozdzielenia łańcucha i wszystko obejdzie się „bez bólu”.

Scenariusz 2- „BTC-148” ma mniej niż około 15% wsparcia sieci,

W takim wypadku dojdzie do rozdzielenia łańcucha, a „BTC-148” napotka na spore problemy. Pierwszym z nich będą duże opóźnienia w łańcuchu „BTC-148”, co automatycznie będzie powodowało wzrost opłat transakcyjnych. Kolejnym może być zagrożenie wprowadzenia SegWit zaplanowane najpóźniej na 15 listopada. Przy tak niskiej mocy sieci, zmianie trudności wydobywania co 2016 bloków ( dokładnie 14 dni ) i 95% progu aktywacji dla propozycji teamu Core może nawet nie dojść do jego aktywacji 15 listopada ( jeśli SegWit miałby być aktywowany przez tą propozycję, a nie SegWit2x ) w tym łańcuchu. Ten scenariusz powoduje również, że raczej przetrwa łańcuch odrzucający SegWit czyli „BTC-Non-148”, bądź łańcuch SegWit2x ( jeśli nie będzie on kompatybilny z BIP148 ).

Scenariusz 3- „BTC-148” ma mniej niż 50% wsparcia sieci, ale więcej niż 15%

W takim wypadku również dojdzie do rozdzielenia głównego łańcucha, ale konsekwencje mogą być zdecydowanie poważniejsze.

Jeśli w pewnym momencie łańcuch „BTC-148” będzie dłuższy niż „BTC-Non-148” spowoduje to bardzo duże problemy na łańcuchu „BTC-Non-148”. To jest właśnie miejsce, gdzie User Activeted Soft Fork zaczyna mieć negatywne konsekwencje, gdyż wszystkie transakcje mające miejsce na łańcuchu „BUC-Non-148” mogą zostać wymazane i zastąpione łańcuchem „BTC-148”. W takim wypadku należy się bardzo wystrzegać transakcji na łańcuchu „BTC-Non-148”.

Możliwe również jest, że nastąpią tzw. „replay attacks”, które polegają na tym, że transakcje na łańcuchu „BTC-148” mogą się dublować na łańcuchu „BTC-Non-148” i vice versa. Powoduje to, że zamiast zapłacić komuś na łańcuchu „BTC-148” możemy przypadkiem wysłać komuś swoje monety na łańcuchu „BTC-Non-148”.

W przypadku rozłamu będzie duża presja na giełdy, by umożliwiły handel zarówno „BTC-148” jak i „BTC-Non-148”. Giełda przeważnie przyjmuje depozyt po kilku potwierdzeniach, ale w przypadku ryzyka wymazania łańcucha jakakolwiek ilość może być niewystarczająca. Proszę sobie wyobrazić, że jeden łańcuch wyprzedzi drugi i nawet transakcje mające po 100 potwierdzeń mogą być unieważnione i zastąpione innym łańcuchem jeśli nie będzie żadnej możliwości zabezpieczenia takich ataków ( replay protection ).

Stworzenie takiego zabezpieczenia jest jednak możliwe tylko w jeden sposób, który jest opisany w następnym scenariuszu.

Scenariusz 4- hard fork na „BTC-148” i „BTC-Non-148”

Tak jak napisałem wcześniej, jest to jedyne zabezpieczenie przed zastąpieniem łańcucha po soft forku i „replay attacks”.

Trzy grosze Bitmain

14 czerwca na swojej stronie firma Bitmain, największy producent sprzętu do kopania Bitcoina na układach ASIC i właściciel kopalni AntPool ogłosiła jak chce uratować sieć przed skutkami BIP148. Ich odpowiedzią jest wprowadzenie UAHF, czyli User Activated Hard Fork. W dużym skrócie zamierzają oni zrobić swojego hard forka 12 godzin i 20 min po UASF i zrobić trzydniowy premine chcąc niejako zablokować UASF.

Oznacza to, że chcą oni stworzyć własnego Bitcoina, którego niektórzy na reddicie zwą żartobliwie BitmainCoin. Dla Bitmain widocznie nie jest na rękę UASF i sami na własną rękę chcą doprowadzić do swego rodzaju puczu. Sam osobiście mam ograniczenie zaufanie do tej firmy po historiach z Antminerami, a tym ruchem w pełni tracą wiarygodność. Dla mnie komentarz CEO firmy SatoshiLabs Marek Palatinus, właściciel pierwszej kopalni Bitcoin Slush Pool, mówi wszystko: „Nie uznamy takiego prywatnego blockchaina ‘Bitcoinem’ ”.

Co mam w związku z tym zrobić?

Sytuacja polityczna Bitcoina jest co najmniej zagmatwana i nie można się oprzeć wrażeniu, że nie chodzi tutaj o dobro samego Bitcoina, a o własne interesy. Dla użytkowników mam jednak rady, które pozwolą być pewnym co do posiadania swoich monet i niezależnym od wszystkich turbulencji.

  1. Wstrzymajcie się z transakcjami 1 sierpnia, aż do uzyskania klarowności sytuacji
    Pozwoli to uniknąć ryzyka „replay attacks” i utraty monet.
  2. Dbajcie o swoje klucze prywatne.
    W przypadku rozdzielenia głównego łańcucha, będziecie wtedy pewnie posiadania swoich monet po obu stronach łańcucha.
  3. Jeśli po całym rozgardiaszu cały czas będą dwa łańcuchy, prześlijcie je do osobnych klientów.

Post scriptum

Im bliżej będzie do UASF, tym będzie mniej zmiennych do określenia. Ważne jest, by nie próbować być chciwym od razu w przypadku podziału łańcucha i nie narazić się na „replay attacks” bądź wymazanie części łańcucha, na której wykonywaliśmy transakcje. W tym momencie jest niestety zbyt dużo zmiennych, szczególnie dzięki rozwojowej sytuacji SegWit2x, by określić wszystkie najbardziej prawdopodobne scenariusze. Jeśli jednak Bitcoin przeżyje ten okres technologicznie to zyska na tym każdy bezpośrednio: developerzy, użytkownicy jak i górnicy.

 

Podziel się z innymi

Bitcoin, News