Treść

  • Co to jest SegWit?

  • Korzyści zapewniane przez SegWit

    • Zwiększona przepustowość

    • Zwiększona prędkość transakcji

    • Naprawianie plastyczności transakcji

  • SegWit i sieć Lightning

  • SegWit i SegWit2x

  • Wniosek


Co to jest SegWit?

Segregated Witness (SegWit) to aktualizacja protokołu opracowana w 2015 roku. Koncepcja ta została przedstawiona jako rozwiązanie problemów ze skalowalnością, z jakimi borykały się i nadal borykają sieci blockchain. 

Sieć Bitcoin sprawdza średnio nowy blok transakcji co 10 minut. Zatem wielkość bloku wpływa na liczbę transakcji, które można potwierdzić w każdym bloku. Obecnie blockchain Bitcoina jest w stanie przetwarzać około 7 transakcji na sekundę.

Główną ideą SegWit jest reorganizacja danych w bloku tak, aby podpisy były umieszczane oddzielnie od informacji o transakcjach. Innymi słowy aktualizacja SegWit polega na oddzieleniu świadków (podpisów) od transakcji. Pozwala to na zwiększenie przepustowości sieci poprzez zwiększenie liczby transakcji w bloku.

Ponieważ Bitcoin może zapewnić tylko około 7 transakcji na sekundę, przetworzenie przelewu w sieci może czasami zająć dużo czasu w porównaniu z tradycyjnymi rozwiązaniami płatniczymi i sieciami finansowymi, które mogą przetwarzać tysiące transakcji na sekundę.

SegWit został opracowany w 2015 roku przez programistę Bitcoin Petera Willa i innych członków Bitcoin Core. W sierpniu 2017 aktualizacja została wdrożona w formie soft forku w sieci Bitcoin.

Obecnie istnieje kilka projektów kryptowalut wykorzystujących SegWit, w tym Bitcoin i Litecoin. Aktualizacja protokołu przyniosła szereg korzyści, takich jak zwiększona prędkość transakcji i poprawiona przepustowość. Dodatkowo SegWit rozwiązuje tzw. błąd plastyczności transakcji (więcej na ten temat w dalszej części artykułu).


Korzyści zapewniane przez SegWit

Zwiększona przepustowość

Jedną z najbardziej podstawowych zalet SegWit jest zwiększenie pojemności bloków. Usuwając podpisy z wyjściowych danych transakcyjnych, możliwe jest zmieszczenie większej liczby transakcji w jednym bloku.

Transakcje składają się z dwóch głównych elementów: wejścia i wyjścia. Dane przychodzące zawierają publiczny adres nadawcy, a dane wychodzące zawierają publiczny adres odbiorcy. Nadawca musi jednak udowodnić, że posiada niezbędną ilość środków, aby przekazać je innemu użytkownikowi i potwierdzić to podpisem cyfrowym.

Bez SegWit dane podpisu mogą zająć do 65% całego bloku. SegWit umożliwia usuwanie podpisów z wejść transakcyjnych. Powoduje to zwiększenie pojemności bloku z 1 MB do około 4 MB.

Należy pamiętać, że SegWit nie wymaga zwiększenia samego rozmiaru bloku. Jest to rozwiązanie inżynieryjne, które pozwala na wykorzystanie pełnego potencjału bloku bez konieczności zwiększania jego obecnego rozmiaru (co jest możliwe jedynie w przypadku hard forka). Rzeczywisty rozmiar bloku będzie nadal wynosić 1 MB, ale efektywny rozmiar bloku będzie wynosić 4 MB.

Oprócz tego SegWit wpadł na pomysł wagi bloku. Możemy myśleć o ciężarze bloku jako o koncepcji, która zastępuje ideę jego wielkości. Zasadniczo waga bloku to pomiar obejmujący całą zawartość bloku, w tym dane transakcyjne (1 MB) i podpisy (do 3 MB), które nie stanowią już części części wejściowej.


Zwiększona prędkość transakcji

Ponieważ blok może pomieścić więcej transakcji, SegWit pomaga zwiększyć prędkość transakcji w łańcuchu bloków. Pomimo tego, że wydobycie bloku zajmuje tyle samo czasu, liczba przetworzonych transakcji wzrasta, a co za tym idzie, wzrasta TPS.

Zwiększona prędkość transakcji pomogła również obniżyć koszty transakcji w sieci Bitcoin. Przed aktualizacją często płacono ponad 30 dolarów za transakcję. SegWit radykalnie obniżył koszt prowizji do mniej niż 1 dolara.


Naprawianie plastyczności transakcji

Jednym z głównych problemów Bitcoina była możliwość sfałszowania podpisu kryptograficznego transakcji. Nawet najmniejsze zmiany w podpisie mogą doprowadzić do uszkodzenia jego identyfikatora, co w konsekwencji będzie miało wpływ na całą transakcję pomiędzy obiema stronami. Ponieważ dane przechowywane na blockchainie są praktycznie niezmienne, tego typu transakcje mogą pozostać w jego historii na zawsze.

Dzięki SegWit podpisy nie są już częścią transakcji, co z kolei eliminuje możliwość zmiany tego typu danych. Ta poprawka umożliwiła dalsze innowacje dla społeczności blockchain, w tym protokoły warstwy 2 i inteligentne kontrakty.


SegWit i sieć Lightning

Rozwój protokołów warstwy 2 był możliwy częściowo dzięki wyeliminowaniu plastyczności transakcji. Mówiąc najprościej, protokoły warstwy 2 to nowe platformy lub produkty zbudowane na bazie łańcucha bloków, takiego jak Bitcoin. Jednym z najpopularniejszych protokołów warstwy 2 jest Lightning Network i sieć mikropłatności typu off-chain.

Lightning Network to protokół warstwy 2 działający w oparciu o sieć Bitcoin. Głównym celem Lightning Network jest umożliwienie potwierdzenia większej liczby transakcji w krótkim czasie, co umożliwi użytkownikom szybszą wymianę pierwszej kryptowaluty. Transakcje są gromadzone i buforowane poza łańcuchem w celu późniejszego przetworzenia w sieci Bitcoin.

Sieć Lightning została pierwotnie zaprojektowana wyłącznie dla Bitcoin. Jednak kilka innych kryptowalut i projektów blockchain pracuje nad integracją tej technologii w swoich sieciach. Może to nie tylko skrócić czas potwierdzania transakcji, ale także pomóc w opracowaniu nowych rozwiązań problemów ze skalowalnością.


SegWit i SegWit2x

SegWit to miękki widelec zapewniający kompatybilność wsteczną. Innymi słowy, węzły w sieci Bitcoin, które nie zostały zaktualizowane, mogą nadal przetwarzać transakcje. Jednakże zaproponowano również inną wersję SegWit, zwaną SegWit2x (S2X), która obejmuje hard fork sieci.

Główną różnicą pomiędzy SegWit i SegWit2x jest to, że opcja hardfork nie tylko zmienia kolejność grupowania transakcji, ale także zwiększa rozmiar bloku (z 1 MB do 2 MB). Takie zmiany mogą zwiększyć obciążenie węzłów i górników ze względu na przetwarzanie większej ilości danych. 

Kolejną zauważalną różnicą jest to, że aktualizacja SegWit była wspierana i wdrażana przez społeczność Bitcoin. To wydarzenie dało początek koncepcji zwanej UASF (soft fork aktywowany przez użytkownika), co oznacza soft fork aktywowany przez użytkownika.

Z drugiej strony SegWit2x zaproponował znaczącą zmianę jednej z podstawowych zasad rządzących Bitcoinem. Ponieważ jednak programiści nigdy nie byli w stanie osiągnąć konsensusu w sprawie zaakceptowania i wdrożenia aktualizacji, prace nad SegWit2x zostały ostatecznie wstrzymane.


Wniosek

Wdrożenie SegWit było największą aktualizacją protokołu Bitcoin, a fakt, że był on wspierany i wdrażany przez zdecentralizowaną społeczność, czyni go jeszcze bardziej interesującym.

Soft fork SegWit był ważnym krokiem w rozwiązaniu wielu problemów związanych z Bitcoinem i innymi sieciami blockchain, szczególnie w zakresie skalowalności. Dzięki połączeniu protokołów SegWit i warstwy 2 blockchainy mogą wydajniej przetwarzać więcej transakcji przy niższych kosztach.

Chociaż jest to potężne i innowacyjne rozwiązanie, nie wszyscy w sieci w pełni przyjęli obecnie aktualizację. Obecnie odsetek adresów Bitcoin korzystających z SegWit wynosi około 53%.