poniedziałek, 24 lipca 2017

Rozwidlenie sieci bitcoin


Wieloletni czytelnicy bloga pamiętają zapewne, że kiedyś poruszałem temat Bitcoina - po raz pierwszy we wrześniu 2012 roku. Bitcoin kosztował wtedy 12 USD (co za czasy!). Obecnie 1 bitcoin kosztuje 2700 USD.

Od tamtego czasu nie wracałem do tematu, gdyż stał się on dość popularny w Internecie i informacji w języku polskim nie brakowało. Teraz wracam, ponieważ zbliża się ważne wydarzenie określane w języku angielskim jako „hard fork”, co na polski można przetłumaczyć jako „rozwidlenie”, a o którym każdy kto posiada bitcoiny powinien wiedzieć i się na nie przygotować.

Czym jest rozwidlenie sieci bitcoin (hard fork)?

Rozwidlenie sieci bitcoin to rozdzielenie w określonym momencie łańcucha bloków zawierających transakcje i utworzenie w jego wyniku dwóch niezależnych łańcuchów bloków, mających wspólną historię do momentu rozwidlenia, ale inną od momentu rozwidlenia.

W efekcie tego wydarzenia powstają dwie niezależne sieci bitcoin, zawierające różne i niekompatybilne transakcje.

Dlaczego dojdzie do rozwidlenia?

Przyczyną rozwidlenia jest rozbieżność w społeczności bitcoin, na temat tego w jaki sposób zwiększyć ilości transakcji, jakie sieć bitcoin jest w stanie przetworzyć. Bitcoin stał się tak popularny, że ilość transakcji zawieranych przy jego pomocy przekracza możliwości sieci bitcoin w obecnym kształcie.

Krótka historia limitu wielkości bloków

Przyczyną tego zjawiska jest wprowadzenie wiele lat temu przez Satoshi Nakamoto (autora bitcoina) limitu wielkości pojedynczego bloku transakcji do 1 MB. Limit ten został wprowadzony jako środek bezpieczeństwa przeciwko atakowi na sieć bitcoina, polegającemu na wysyłaniu dużej ilości transakcji typu spam, które mogłyby doprowadzić do takiego zwiększenia ilości danych, że sieć nie byłaby w stanie ich przetworzyć (bloki transakcji zaczęłyby mieć rozmiary rzędu kilkuset megabajtów lub nawet gigabajtów), co spowodowałoby załamanie sieci bitcoin.

W zamyśle Satoshi Nakamoto limit ten miał zostać w przyszłości zwiększony z 1 MB do większej wartości, umożliwiającej zawieranie większej ilości transakcji wraz z rosnącymi możliwościami komputerów i przepustowością sieci. Niestety Satoshi Nakamoto nie zdążył zwiększyć tego limitu, gdyż zniknął z Internetu, zanim zwiększenie tego limitu zaczęło być konieczne.

Teoria konspiracji

Od tego momentu wydarzenia związane ze zwiększeniem limitu przybierają nieco zadziwiający przebieg. Wiele osób dostrzega w tym konspirację potężnych instytucji finansowych zainteresowanych ograniczeniem możliwości sieci bitcoin, której działanie stanowi bezpośrednie zagrożenie dla modelu funkcjonowania banków.

Satoshi Nakamoto przekazał opiekę nad kodem źródłowym bitcoina Gavinowi Andresen, programiście z którym współpracował przy jego rozwoju. Po pewnym czasie, z niejasnego powodu (niektórzy spekulują, że został zmuszony), Gavin Andresen zrzekł się nadzoru nad kodem źródłowym i przekazał go innym osobom. Dość szybko okazało się, że większość z tych osób jest zatrudnionych w firmie Blockstream, której jednym z inwestorów jest korporacja AXA. Korporacja AXA jest jedną z najpotężniejszych firm w branży finansowej, o czym można przeczytać w jednym z artykułów na tym blogu.

W tym czasie sieć bitcoin zaczęła osiągać popularność, która wymagała podniesienia limitu 1 MB, aby umożliwić przeprowadzanie większej ilości transakcji. Okazało się jednak, że programiści, o których mowa wyżej, mający teraz nadzór nad rozwojem kodu źródłowego, nie zamierzają podnieść tego limitu. Zamiast tego zaczęli promować i opracowywać technologię o nazwie Segregated Witness (SegWit), w zamyśle której przy nie zwiększonym limicie 1 MB sieć będzie mogła osiągnąć zaledwie 70% większą ilość transakcji i jednocześnie umożliwić technologię o nazwie Lightning Network (Błyskawiczna Sieć).

Lightning Network to technologia, która przenosi transakcje bitcoin poza łańcuch bloków, umożliwiając jednocześnie dokonywanie ich w zasadniczo nieograniczonej ilości oraz w sposób natychmiastowy (bez czekania na potwierdzenie w łańcuchu bloków), stąd nazwa Błyskawiczna Sieć.

Problem z tą technologią polega na tym, że aby dokonywać transakcji przy jej użyciu konieczne jest korzystanie z pośrednika w postaci tzw. hubu. Innymi słowy cała idea bitcoina, polegająca na dokonywaniu transakcji bez pośrednika, została odwrócona do góry nogami.

Jak się domyślacie pośrednik za darmo usług swoich nie będzie świadczył i za korzystanie z hub Lightning Network konieczne jest ponoszenie opłat, które idą do kieszeni operatora hubu. W ten sposób hub sieci Lightning Network przypomina pośrednika takiego jak bank, PayPal, Western Union.

Widzimy więc na czym polega teoria konspiracji. Banki zdając sobie sprawę, że nie są w stanie zniszczyć bitcoina, ze względu na jego zdecentralizowaną strukturę, postanowiły przejąć kontrolę nad rozwojem kodu źródłowego i skierować jego rozwój w stronę, w której transakcje bitcoin dokonywane są za pomocą pośredników, których rolę jak się domyślamy banki chciałyby pełnić i w ten sposób zapewnić sobie zyski i jednocześnie zapobiec własnemu wyginięciu.

Społeczność bitcoin reaguje

W społeczności bitcoin dochodzi do rozłamu. Część użytkowników sprzeciwia się stanowisku deweloperów kodu źródłowego i chce jak najszybszego podniesienia limitu 1 MB do 2 MB, a następnie 4 MB i dalej. Dyskusje i spory trwają ponad dwa lata. W końcu podział jest tak głęboki, że część społeczności postanawia iść drogą technologii SegWit/Lightning Network, a druga część drogą podniesienia limitu 1 MB.

Opracowane zostają dwie wersje oprogramowania bitcoin, każda będąca wyrazem wyżej wymienionych koncepcji. Wersja oprogramowania zwiększająca limit 1 MB nosi nazwę Bitcoin ABC (https://www.bitcoinabc.org/), a wersja bitcoina w tej sieci po rozwidleniu nosi nazwę Bitcoin Cash.

Rozwidlenie

Ponieważ obydwie wersje oprogramowania bitcoin są ze sobą niekompatybilne sieć bitcoin ulegnie rozwidleniu. Nastąpi to 1 sierpnia 2017 roku ok. godz. 13:20 - dokładne odliczanie można śledzić tutaj: Odliczanie

Jedna wersja sieci będzie działać w ramach limitu wielkości bloków do 1 MB i technologii SegWit, a następnie Lightning Network (wraz z konsekwencjami dotyczącymi wprowadzenia pośredników transakcji), a druga wersja sieci będzie działać bez technologii SegWit, ale ze zwiększonym limitem ponad obecny 1 MB, umożliwiając większą ilość transakcji bez pośredników.

Co to oznacza dla zwykłego użytkownika bitcoin?

Ponieważ nie jest jasne, która z tych dwóch sieci bitcoin zdobędzie większą popularność, a tym samym bitcoin której sieci będzie bardziej wartościowy, zwykły użytkownik powinien przede wszystkim zadbać o to, aby mieć kontrolę nad swoimi bitcoinami w obu sieciach.

W jaki sposób zapewnić kontrolę nad bitcoinami w obu sieciach?

W tym celu należy zabezpieczyć przed datą 1 sierpnia 2017 roku własne klucze prywatne do posiadanych bitcoinów. Nie wszystkie portfele to umożliwiają, dlatego należy dokładnie się przygotować.

Przede wszystkim należy przenieść bitcoiny do portfela, który umożliwia eksport kluczy prywatnych. Takim portfelem jest na przykład Electrum. Można go pobrać ze strony: https://electrum.org

Popularny niegdyś portfel Multibit HD nie umożliwia eksportu kluczy prywatnych, dlatego należy przenieść bitcoiny z tego portfela do np. Electrum.

Podobnie osoby trzymające bitcoiny na giełdach powinny je z nich wycofać do własnego portfela np. Electrum. Niektóre giełdy zapewniają użytkownikom utrzymanie kontroli nad bitcoinami w obu sieciach, po ich rozwidleniu, ale lepiej mieć nad tym kontrolę samemu niż zdawać się w tym względzie na giełdy.

Po wyeksportowaniu z portfela kluczy prywatnych należy je zabezpieczyć przed dostępem osób trzecich - najlepiej poprzez zaszyfrowanie. Można do tego celu użyć wielu dostępnych programów oferujących bezpieczne algorytmy szyfrowania. Dodatkowo warto wykonać kopię zapasową w razie utraty nośnika, awarii komputera itp.

Dodatkowo przed i po 1 sierpnia 2017 roku należy powstrzymać się od dokonywania transakcji w sieci bitcoin, aby uniknąć przesłania środków z jednej sieci do drugiej (po rozwidleniu). W początkowym okresie będzie takie ryzyko, zanim nie zostaną wprowadzone zaktualizowane wersje portfeli zawierające zabezpieczenia tzw. replay protection.

Co się stanie po rozwidleniu sieci bitcoin?

Po rozwidleniu sieci bitcoin przed dokonaniem jakichkolwiek transakcji, należy zaczekać na opracowanie portfeli działających osobno w rozdzielonych sieciach i oferujących „replay protection”, czyli zabezpieczenie przed przesłaniem bitcoinów jedną transakcją w dwóch sieciach naraz.

Dzięki takim wersjom portfeli będzie można zaimportować klucze prywatne do jednej i do drugiej sieci i dokonywać w nich transakcji osobno. W ten sposób zapewnimy sobie kontrolę nad bitcoinami w obu sieciach - będziemy posiadali tę samą ilość bitcoinów w jednej i w drugiej sieci - sumarycznie podwójną ilość bitcoinów.