Przejdź do treści

SegWit

SegWit, czyli Segregated Witness, to modyfikacja protokołu sieci Bitcoin polegająca na oddzieleniu danych o podpisach transakcji od pozostałych danych transakcyjnych w celu zwiększenia efektywnej przepustowości bloku oraz rozwiązania problemu plastyczności transakcji.

Materiał edukacyjny przygotowany z pomocą AI i automatycznej kontroli jakości. Redakcja dodatkowo sprawdza wybrane materiały. Opisuje również ograniczenia i ryzyka; nie stanowi indywidualnej rekomendacji.

Wprowadzenie

Wyobraź sobie, że każda transakcja w sieci Bitcoin to paczka wysyłana pocztą. W każdej paczce znajduje się informacja o tym, kto wysyła środki, do kogo i w jakiej ilości, a także specjalny podpis, który potwierdza uprawnienia nadawcy. Przez lata cały ten zestaw, w tym podpis, musiał zmieścić się w ściśle ograniczonej przestrzeni pojedynczego bloku danych. Podpisy te, zwane w terminologii kryptograficznej świadkami, zajmowały nawet ponad połowę miejsca w paczce. SegWit to sprytne rozwiązanie, które polega na wyjęciu podpisów z głównej paczki i umieszczeniu ich obok, w osobnym przedziale. Dzięki temu w głównym bloku mieści się znacznie więcej transakcji, mimo że fizyczny limit wielkości samego bloku został zachowany w zgodzie z dawnymi zasadami. Dla zwykłego użytkownika zmiana ta oznaczała przede wszystkim niższe opłaty za przelewy oraz szybsze potwierdzanie transakcji. Co ważne, zmiana ta została wprowadzona w taki sposób, że użytkownicy niekorzystający z nowych adresów nadal mogli bez przeszkód korzystać z sieci, co ułatwiło całą procedurę wdrażania nowelizacji.

Szczegółowy opis

W ujęciu technicznym SegWit został zaproponowany jako miękki hard fork, choć w praktyce wdrożono go jako soft fork wstecznie kompatybilny. Istotą mechanizmu jest zmiana struktury przechowywania danych w bloku poprzez usunięcie struktur danych podpisów ze standardowego pola transakcji i umieszczenie ich w nowej, oddzielnej strukturze danych doczepionej do bloku. Wprowadzono przy tym pojęcie wagi bloku, która zastąpiła sztywne ograniczenie rozmiaru do jednego megabajta. Waga ta pozwala na efektywne przetwarzanie bloków o wielkości logicznej przekraczającej dawny limit, dochodzącej w sprzyjających warunkach nawet do czterech megabajtów w jednostkach wagi. Dodatkowo SegWit rozwiązał problem plastyczności transakcji, który polegał na możliwości modyfikacji identyfikatora transakcji przed jej potwierdzeniem w bloku poprzez zmianę samego podpisu. Usunięcie tego problemu miało fundamentalne znaczenie dla budowy warstw wyższego rzędu, takich jak Lightning Network, ponieważ bez stabilnych identyfikatorów tworzenie bezpiecznych kanałów płatności mikroskopijnych byłoby znacznie trudniejsze i bardziej zawodne. Istnieje istotna niepewność co do tego, w jakim stopniu dalsze innowacje protokołowe całkowicie wyprą starsze formaty adresów, ponieważ migracja zasobów przez wszystkich uczestników rynku przebiega powoli.

Przykłady

W codziennej praktyce korzystania z kryptowalut najprostszym przykładem zastosowania tej technologii są adresy Bitcoin zaczynające się od prefiksu bc1 w przypadku formatu natywnego SegWit lub od cyfry 3 w przypadku starszych adresów kompatybilnych. Gdy użytkownik wysyła środki z takiego adresu, sieć automatycznie traktuje dane podpisów ulgowo pod kątem rozliczania przestrzeni blokowej. Przykładowo, portfel obsługujący SegWit generuje transakcję, której struktura matematyczna pozwala na uzyskanie zniżki w opłacie transakcyjnej w przeliczeniu na pojedyncze bajty danych zajmowane w bloku. Innym przykładem jest wykorzystanie tej struktury do inicjalizacji kanałów płatności w sieciach drugiej warstwy. Ponieważ transakcje otwierające i zamykające kanały Lightning Network opierają się na stabilnych identyfikatorach dostarczanych przez mechanizm oddzielenia świadków, użytkownik może przeprowadzić setki mikropłatności poza głównym łańcuchem, a następnie rozliczyć ostateczny bilans w jednym bloku opartym na architekturze SegWit.

Zalety i ograniczenia

Główną zaletą omawianego rozwiązania jest zwiększenie efektywnej przepustowości sieci bez konieczności przeprowadzania radykalnego rozłamu łańcucha, co mogłoby zagrozić stabilności całego ekosystemu. Użytkownicy zyskali niższe prowizje oraz wyższe bezpieczeństwo dzięki usunięciu podatności na plastyczność transakcji, co utorowało drogę dla rozwoju nowoczesnych rozwiązań skalowalności takich jak Lightning Network. Rozwiązanie to pozwoliło również na lepsze zarządzanie miejscem w pamięci podręcznej węzłów.

Do ograniczeń należy zaliczyć fakt, że pełne wdrożenie technologii wymaga od użytkowników i dostawców portfeli modernizacji oprogramowania oraz przejścia na nowe formaty adresów, co bywa procesem długotrwałym i skomplikowanym dla mniej zaawansowanych osób. Istnieje również istotna niepewność związana z długoterminowymi skutkami ekonomicznymi dla rynku opłat transakcyjnych w miarę zapełniania się całej dostępnej przestrzeni blokowej, ponieważ spora część społeczności wskazuje, że pojedyncze wdrożenie tego mechanizmu stanowiło jedynie tymczasową ulgę dla stale rosnącego popytu na transfery w sieci głównej.