Kurs64997

Bitmarket

Bitcantor1

 

Ewolucja

 

W nocy z czwartku na piątek 21 lipca zaszło w sieci Bitcoin ważne wydarzenie, określane w skrócie jako „BIP 91 lock-in”. Nagły wzrost kursu Bitcoina do 2900 USD i późniejsze jego wahania są wyrazem emocji towarzyszących właśnie temu zdarzeniu. Odłóżmy jednak emocje na bok i skupmy się na technicznych aspektach sprawy. Co się tak naprawdę stało i co może nas w związku z tym czekać w przyszłości.


Nie od dziś wiadomo, że sieć Bitcoina może nie mieć wystarczającej przepustowości do obsłużenia wzmożonego ruchu. Obecny rozmiar bloku pozwala na obsłużenie średnio zaledwie siedmiu transakcji na sekundę, co staje się niewystarczające. Dodatkowo „walka” o miejsce w bloku powoduje zwiększenie się opłat transakcyjnych, co zabija wiele przedsięwzięć bazujących na mikropłatnościach i powoduje utrudnienia dla użytkowników sieci. W temacie zwiększenia przepustowości sieci ścierają się dwie koncepcje. Jedna to proste zwiększenie wielkości bloku, druga to zastosowanie swego rodzaju „nadbudówek” nad łańcuchem bloków Bitcoina, które mogłyby przejąć większość transakcji o niskich nominałach, odciążając główny łańcuch. Najbardziej znaną taką technologią jest Lightning Network (LN).

Warto zauważyć, że te dwie koncepcje nie są ze sobą sprzeczne. Można zarówno zwiększyć wielkość bloku, jak i uruchomić LN i inne tego typu rozwiązania. Tu na scenę wkracza kolejna technologia, nazywana Segregated Witness (SW). Każda transakcja zapisana w łańcuchu bloków zawiera cyfrowe podpisy pozwalające zweryfikować jej poprawność. SW pozwala na przesunięcie tych podpisów w inne miejsce bloku, tak, że nie liczą się one do wynoszącego 1 MB limitu jego wielkości. Dzięki temu efektywna wielkość bloku może wzrosnąć do około 1,7 MB, przy założeniu, że wszystkie transakcje będą korzystały z SW. Druga bardzo ważna rola SW to poprawienie kilku słabych punktów w protokole Bitcoina uniemożliwiających jak dotąd wdrożenie technologii takich jak Lightning Network.

Ekipa rozwijająca portfel Bitcoin Core od dłuższego już czasu prowadziła prace nad SW, wdrażając ją w sieciach testowych Bitcoina i przygotowała dokument BIP 141, opisujący sposób jej wdrożenia do sieci głównej. Sposób ten jest dość prosty. Każdy blok łańcucha BTC zawiera 32-bitowe pole, tak zwaną „wersję”. Ustawiając różne bity w tym polu, górnicy sygnalizują wsparcie dla różnych pomysłów rozwojowych. BIP 141 ma przypisany bit o numerze 1. Jego reguła aktywacji jest taka: jeżeli w okresie od 15 listopada 2016 do 15 listopada 2017 wystąpi tak tysiąc kolejnych bloków, w którym 950 z nich będzie miało ustawiony bit 1 w wersji, to wtedy węzły zgodne z BIP 141 zaczną odrzucać bloki bez ustawionego bitu 1 (bloki niezgodne z SW). W takiej sytuacji te 5% górników będzie miało prosty wybór, albo przyłączają się do SW, albo wylatują z sieci. Wszystkie węzły używające oficjalnego Bitcoin Core są już zgodne z BIP 141.

Niestety zebranie 95% poparcia dla SegWit wydawało się zadaniem niemożliwym. Do 15 listopada coraz bliżej, tymczasem poparcia dla BIP 141, wyrażanego ustawieniem bitu 1 w bloku, udziela tylko około 45% górników. Wobec tego co bardziej niecierpliwi użytkownicy sieci wystąpili z różnymi pomysłami na rozwiązanie tego dylematu.

Dość radykalnym sposobem jest tak zwany fork aktywowany przez użytkowników (User Activated Soft Fork, UASF), opisany w dokumencie BIP 148. Zakłada on „odebranie władzy” górnikom w taki sposób, że po prostu wszystkie węzły sieci zgodne z UASF od 1 sierpnia zaczną odrzucać bloki nie mające ustawionego bitu 1 (czyli niezgodne z SW). Tych węzłów UASF jest obecnie w sieci około 1200, a więc w granicach 15%. Będą zatem miały poważny problem po aktywacji BIP 148. W momencie, gdy odrzucą pierwszy blok, stworzą własną wersję łańcucha (hard fork), ale nie będą miały mocy obliczeniowej do ciągnięcia tej odnogi, bo praktycznie żadna kopalnia jej nie popiera. Nie jest bowiem możliwe odrzucanie bloków „bez SW”, a przyjmowanie tych z SW, po dokonaniu odgałęzienia trzeba je kopać oddzielną mocą obliczeniową. O ile więc poparcie dla UASF nie wzrośnie raptownie, pomysł jest skazany na porażkę, pozostałe 85% węzłów po prostu wybierze dłuższy łańcuch.

Ryzyko nie jest zatem wielkie, ale aby je do końca wyeliminować stworzono bohatera tego tekstu, BIP 91. Można powiedzieć, że jest to „atak wyprzedzający” górników, sprowadzający szanse powodzenia UASF niemal do zera, poprzez... danie zwolennikom UASF tego, czego chcą, czyli Segregated Witness. Różnica jest tylko taka, że będzie to soft fork aktywowany przez górników, a nie przez użytkowników. Plan działania jest następujący. Kopalnie popierające BIP 91 sygnalizują to ustawiając bit 4 wersji. BIP 91 ma sztywne okresy aktywacji składające się z 336 bloków (około 56 godzin). Jeżeli w ciągu takiego okresu 80% bloków ma ustawiony bit 4, to „zapadka zaskakuje” (lock-in). Pierwszy taki okres miał się rozpocząć dziś, 21 lipca. Jednak znaczna większość kopalń nie chciała czekać i odpaliła sygnalizację wcześniej, przez co lock-in nastąpił ostatniej nocy (20/21 lipca). Teraz mamy 336-blokowy okres przygotowawczy (grace period), po którym węzły zgodne z BIP 91 zaczną odrzucać bloki nie wspierające SW (brak bitu 1). Czyli... dokładnie tak jak w przypadku UASF, tylko wcześniej. Gdzie jest więc różnica? Za BIP 91 stoi większość mocy obliczeniowej sieci, więc w tym przypadku to łańcuch z odrzuconymi blokami „nie SW” będzie najdłuższy i węzły niekopiące podążą za nim, również te zgodne z UASF. Odrzucanie bloków bez SegWit rozpocznie się w niedzielę 22 lipca około godziny 10:00 czasu polskiego.

Tak więc, co warto podkreślić, sam BIP 91 i jego zatrzaśnięcie wcale jeszcze nie wprowadzają SegWit. BIP 91 jest czymś w rodzaju „kopa w zadek” przyspieszającego akceptację pierwotnego BIP 141. Skoro bloki bez bitu 1 będą odrzucane, to osiągnięcie 950 bloków z bitem 1 w tysiącu kolejnych bloków jest tylko kwestią czasu, dokładnie kwestią co najwyżej tygodnia. Tak więc faktyczne „odpalenie” Segregated Witness nastąpi jeszcze przed 1 sierpnia, cały zatem UASF będzie zbędny.

Żeby nie było tak miło, pojawia się tu jednak sporo niebezpieczeństw. Po pierwsze, sam fakt sygnalizowania któregoś bitu przez daną kopalnię nie musi oznaczać, że używa ona oprogramowania, które zachowa się zgodnie z BIP-em odpowiadającym sygnałowi. Kopalnia może sobie np. sygnalizować bit 4 (BIP 91) ale nie rozpocznie w wymaganym terminie odrzucania bloków niezgodnych z SW.

Drugi problem jest jeszcze „ciekawszy”. Mianowicie kopalnia AntPool, gromadząca około 25% mocy sieci, kopała bloki z ustawionym bitem 4 (poparcie BIP 91), ale bez bitu 1 (brak poparcia SW). Jeżeli byliby konsekwentni, to od niedzieli powinni zacząć... odrzucać swoje własne bloki. Jednakże w piątek 21 lipca w godzinach południowych naszego czasu, AntPool włączył również bit 1. Natomiast kopalnia BTC.com (8% mocy) na przykład, najpierw włączyła tylko bit 4 (równie bez sensu, jak AntPool), po to by w bloku 476838 włączyć tylko bit 1...

Wersje wykopywanych bloków można śledzić na przykład na stronie xbt.eu. Końcówki wersji mają następujące znaczenie:

00 - nie popieramy BIP 91, nie popieramy SegWit
02 - nie popieramy BIP 91, popieramy SegWit
10 - popieramy BIP 91, nie popieramy SegWit
12 - popieramy BIP 91 i SegWit

W aktualnej sytuacji pozostaje nam odczekać do końca grace period (niedzielne przedpołudnie) i śledzić proces aktywacji SegWit (BIP 141). Kod aktywujący SegWit po 950 blokach z tysiąca mają praktycznie wszystkie węzły sieci, bo znajduje się on aktualnej (i kilku poprzednich) wersji Bitcoin Core. Jeżeli więc kopalnie wspierające BIP 91 konsekwentnie zaczną odrzucać z łańcucha bloki bez bitu 1, to rzeczywista aktywacja SegWit nastąpi w ciągu kilku dni. Obecnie BIP 141 (bit 1) ma, jak już pisaliśmy, około 45% bloków.

Kwestią otwartą pozostaje natomiast hardfork zwiększający rozmiar bloku do 2 MB. Teoretycznie wszystkie kopalnie popierające BIP 91 używają odnogi Bitcoin Core, tak zwanej BTC1. Odnoga ta ma w sobie kod zwiększający rozmiar bloku od bloku 485218, albo trzy miesiące po aktywacji SW, cokolwiek nastąpi później. Jeżeli więc SW aktywuje się pod koniec lipca, to hardfork 2 MB nastąpiłby pod koniec października. To ważna data również dla zwykłych użytkowników, bowiem chęć korzystania z odnogi łańcucha z większymi blokami będzie oznaczała konieczność instalacji nowej wersji portfela. W tej chwili trudno przewidzieć jak się rozwinie sytuacja i czy hardfork będzie udany, zależy to od tego jak duża część górników faktycznie będzie używać BTC1.

To jednak dopiero w październiku. Na razie żadnego hardforka na horyzoncie nie widać, więc panika która sprowadziła kurs o kilkaset dolarów w dół była zbyteczna.  Ostrzeżenia o nieznanej wersji bloku wyświetlane przez portfel Core są niegroźne, po prostu portfel „nie zna” BIP 91. O ile aktywacja SW nastąpi zgodnie z przewidywaniami, kopalnie wkrótce przestaną ustawiać bit 4, bo BIP 91 przejdzie już do historii.

 

 

bitbay 3.0

infobtc-1160x653

Kantor Bitcoin