Czy jesteś programistą Bitcoin lub blockchain? Prawdopodobnie patrzysz na skalowalność, opóźnienia w sieci, opłaty transakcyjne i podobne problemy, próbując ulepszyć publiczne łańcuchy bloków. Wdrożenie Bitcoin SegWit ma ważne lekcje i wyjaśnię ten projekt w tym artykule. Jednak najpierw wyjaśnię, czym jest Segregated Witness (SegWit).

Adaptacja Bitcoin i wyzwania, z którymi borykają się użytkownicy

Bitcoin oddał władzę w ręce ludzi dzięki ich pozbawionej pośrednictwa i bezpiecznej sieci i cieszy się dużą popularnością. Jednak nadal nie kupujesz za nią porannej filiżanki, prawda??

Pomimo popularności, codzienne transakcje nadal nie są realizowane w Bitcoin z powodu następujących wyzwań:

  1. Każdy węzeł w sieci Bitcoin musi przechowywać wszystkie bloki i transakcje oraz uczestniczyć w walidacji transakcji. Sieć Bitcoin może być tak szybka, jak najwolniejszy węzeł. Bitcoin wykorzystuje algorytm konsensusu „Proof of Work” (POW), który nakazuje udział każdego węzła. Przeczytaj więcej o algorytmie POW w „PoW Vs. PoS: Porównanie dwóch algorytmów konsensusu Blockchain ”.
  2. Algorytm POW wymaga od górników bitcoinów rozwiązania coraz bardziej złożonej zagadki kryptograficznej, stąd korzystają oni z dużej mocy obliczeniowej. Zwiększa to obciążenie sieci, poza tym jest bardzo energochłonne. Efektem jest opóźnienie w sieci.
  3. Użytkownicy Bitcoin chcą, aby ich transakcje przebiegały szybko. Jednak opóźnienia w sieci i brak skalowalności spowalniają je. Bloki Bitcoin mogą obsługiwać tylko ograniczoną liczbę transakcji, a aby nadać priorytet ich transakcjom, użytkownicy płacą wysokie opłaty górnicze. Te opłaty wciąż rosły.

Bitcoin SegWit w znacznym stopniu rozwiązał kwestię opłat transakcyjnych, ale powstał z innego problemu, który teraz wyjaśnię.

Pochodzenie Bitcoin SegWit: plastyczność Bitcoina

Bitcoin miał również inny potencjalnie poważny problem. Bitcoin wykorzystuje szyfrowanie danych, które najpierw konwertuje zwykły tekst na zaszyfrowany „tekst zaszyfrowany”. Tylko osoba z kluczem prywatnym może odszyfrować zaszyfrowany tekst z powrotem do oryginalnego tekstu jawnego przy użyciu klucza prywatnego.

Plastyczność to błąd w technologii szyfrowania, który umożliwia cyberprzestępcom konwersję zaszyfrowanego tekstu na inny zaszyfrowany tekst. Hakerzy mogą następnie odszyfrować zmodyfikowany zaszyfrowany tekst do zupełnie innego, ale pokrewnego, zwykłego tekstu. Na przykład mogą zmienić adres odbiorcy i kwotę płatności w transakcji płatniczej! Szyfrowanie Bitcoin miało ten błąd plastyczności.

„Segregated Witness (Consensus Layer)”, tj. SegWit „Bitcoin Improvement Propozycja” (BIP) 141 dotyczyło rozwiązania tego błędu plastyczności.

Jak wdrożenie Bitcoin SegWit rozwiązało problem plastyczności

Deweloper Bitcoin, Peter Wiulle, przedstawił propozycję SegWit w grudniu 2015 roku. Rozwiązanie działało w następujący sposób:

  1. Stworzyła inną strukturę zwaną „Świadkiem”. Zawiera dane do uwierzytelnienia transakcji, ale nie zawiera szczegółów transakcji.
  2. Nowa struktura Świadka jest przypisana do bloku Bitcoin oddzielnie od reszty danych transakcji, stąd nazwa „Segregated Witness”.
  3. Załóżmy, że hakerzy przechwycą dane transakcji i spróbują wykorzystać błąd plastyczności. Nie mają już dostępu do podpisu cyfrowego dzięki SegWit.
  4. Dlatego nawet jeśli uda im się zmienić szyfrogram na inny, ich wysiłek nie będzie przydatny bez podpisu cyfrowego.

W ten sposób propozycja Bitcoin SegWit zaplanowała rozwiązanie błędu plastyczności. Jednak propozycja zawierała więcej zmian, które przyczyniły się do efektywnego zwiększenia rozmiaru blokowania Bitcoinów. Czytaj dalej, aby dowiedzieć się, jak to zrobić.

Bitcoin SegWit skutecznie zwiększa rozmiar bloku Bitcoin


Rozmiar bloku Bitcoin to 1 megabajt (MB). Ponadto informacje podpisu stanowiły znaczną część danych transakcji, stąd blok może zawierać tylko kilka transakcji.

Propozycja SegWit stworzyła inny parametr zwany „Jednostką wagi” (WU). Każdy bajt części bloku zawierającej dane transakcji odpowiada 4 jednostkom WU. Jednak każdy bajt struktury „Świadek” jest równy 1 WU.

We wniosku określono również maksymalną wagę bloku Bitcoin na 4 miliony jednostek WU. Wykonaj prostą matematykę, a zobaczysz, jak nowe bloki z SegWit mają efektywnie więcej niż 1 MB! Pozwoliło to górnikom na zawarcie większej liczby transakcji w bloku.

Ponieważ każdy blok ma teraz bardziej efektywną przestrzeń, ostra konkurencja o włączenie transakcji do bloku zmniejsza się. To z kolei zmniejsza opłaty transakcyjne!

Gdyby społeczność Bitcoin zdecydowała się wyraźnie zmienić limit rozmiaru bloku 1 MB, musiała wdrożyć hard fork. Jednak społeczności kryptowalut często nie preferują hard forków ze względu na niestabilność, jaką wnoszą do całej sieci i ekosystemu.

W przypadku implementacji Bitcoin SegWit obowiązywała zasada ograniczenia wielkości bloku do 1 MB, jednak nowy parametr WU ją ominął. W związku z tym nie było trudnego rozwidlenia do wdrożenia SegWit.

Zalety i wady Bitcoin SegWit oraz adopcja

Właśnie widziałeś, jak SegWit rozwiązał błąd plastyczności i zmniejszył opłaty za transakcje Bitcoin. Istnieją jednak dodatkowe korzyści. Rozważ przykład „Lightning Network”.

Lightning Network to rozwiązanie poza łańcuchem, umożliwiające małe, częste transakcje płatnicze. Działa to na łańcuchu bloków Bitcoin i nie rejestruje tam każdej transakcji. To rozwiązanie rejestruje tylko okresowe podsumowanie transakcji w łańcuchu bloków Bitcoin.

Ponieważ system nie przeprowadza wszystkich transakcji pośrednich w łańcuchu bloków Bitcoin, użytkownicy potrzebowali pewności, że ich transakcje pośrednie są bezpieczne. Błąd plastyczności nie pozwoliłby na taką pewność. Wdrożenie Bitcoin SegWit pomogło również w rozwoju Lightning Network.

Pomimo wielu zalet SegWit, nie powinieneś traktować go jako zaawansowanego rozwiązania do skalowania Bitcoin. To nie jest automatyczna miara skalowalności, było to jednorazowe obejście limitu rozmiaru bloku Bitcoin. Poza tym efektywne zwiększenie rozmiaru bloku może sprawić, że w przyszłości wolniejsze węzły będą ładować bloki Bitcoin.

Bitcoin SegWit został wdrożony w sierpniu 2017 r., Po wielu debatach w społeczności Bitcoin na temat jego zalet i wad. Jednak adopcja jest daleka od zakończenia i możesz przeglądać statystyki tutaj.

Jako programista Bitcoin lub blockchain możesz znaleźć ważne lekcje z implementacji Bitcoin SegWit. Podczas opracowywania propozycji ulepszeń weź pod uwagę długoterminowe aspekty skalowalności, bezpieczeństwa i decentralizacji.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me