Aktualizacja Bitcoin Segregated Witness (SegWit)

Seg wit

Czym jest Segregated Witness (SegWit)?

Segregated Witness (czyli SegWit) to nazwa soft forka, który Bitcoin otrzymał 24 sierpnia 2017 roku. Segregated Witness (SegWit) to sposób, w jaki transakcje są podpisywane przez węzły witness. Celem tej aktualizacji protokołu była lepsza ochrona transakcji przed manipulacją oraz przyspieszenie ich realizacji poprzez zwiększenie pojemności bloków. Zakładano też szybszą weryfikację dzięki umieszczaniu większej liczby transakcji w bloku.


Najważniejsze informacje

  • Segregated Witness (SegWit) to aktualizacja sieci Bitcoin, która skróciła czas transakcji i zwiększyła pojemność bloków Bitcoina.

  • Celem Segregated Witness jest zapobieganie nieautoryzowanym transakcjom w sieci Bitcoin oraz umożliwienie zapisania większej liczby transakcji w jednym bloku.

  • SegWit miał też rozwiązać problem związany z rozmiarem blockchaina, który spowalniał szybkość transakcji Bitcoin.

  • Nie wszyscy od razu poparli aktualizację Segregated Witness. Zanim większość użytkowników zaakceptowała tę zmianę, minęło sporo czasu.


Dlaczego SegWit był potrzebny?

Sieci blockchain, takie jak Bitcoin, składają się z tysięcy komputerów pełniących funkcję weryfikatorów bloków tworzonych przez górników. Komputery te nazywane są węzłami i każdy z nich przechowuje pełny zapis wszystkich transakcji. Taki zapis nazywa się blockchainem.

Po zdobyciu popularności sieć Bitcoin zaczęła mierzyć się z kilkoma problemami. Jednym z nich był wzrost liczby transakcji, który wydłużał czas oczekiwania użytkowników i podnosił opłaty, ponieważ trzeba było płacić więcej, aby nadać transakcji wyższy priorytet.

Bloki Bitcoina są zazwyczaj tworzone co 10 minut i wcześniej miały maksymalny rozmiar 1 megabajta (MB). To niewiele, więc z powodu tego ograniczenia do jednego bloku można było dodać tylko ograniczoną liczbę transakcji. Efekt? Wolniejsze transakcje i rosnące opłaty.

Bez wdrożenia SegWit weryfikacja transakcji Bitcoin stałaby się bardzo wolna, zwłaszcza jeśli popularność Bitcoina nadal by rosła.

Protokół SegWit dzieli transakcję na dwie części. Sygnatura odblokowująca (dane „witness”) zostaje usunięta z pierwotnej części, ale nadal pozostaje częścią blockchaina jako oddzielna struktura na końcu. Oryginalna część zawiera dane nadawcy i odbiorcy, a oddzielna struktura na końcu (struktura „witness”) zawiera skrypty i podpisy.

Dzięki oddzieleniu danych zwalnia się więcej miejsca, co pozwala dodać więcej transakcji do blockchaina. W praktyce oznacza to niższe opłaty transakcyjne.

Cele SegWit

Aby zrozumieć cele stojące za wdrożeniem SegWit, warto wiedzieć, co dzieje się „za kulisami” i dlaczego jest to tak użyteczne.

Główny problem, który rozwiązuje SegWit

Wyobraź sobie, że chcesz wysłać trochę Bitcoinów do znajomego. Do tego potrzebujesz dwóch rzeczy: adresu publicznego i klucza prywatnego. Adres publiczny to adres, na który wysyłasz Bitcoina (można go porównać do numeru konta bankowego). Każdy może zobaczyć Twój adres publiczny i jego zawartość, ponieważ jest widoczny w sieci. Klucz prywatny jest jak hasło, które potwierdza, że jesteś właścicielem tego adresu.

Gdy chcesz wykonać transakcję, wysyłasz do sieci żądanie z adresem publicznym i kwotą. Następnie górnicy sprawdzają tę transakcję, szyfrują wszystkie informacje (hashing) i tworzą rodzaj cyfrowego odcisku palca (identyfikator transakcji).

Taka transakcja trafia do kolejki, a gdy uzbiera się ich odpowiednio dużo, są łączone w blok. Ten blok jest wysyłany do węzłów i jeśli większość uzna, że wszystko się zgadza, zostaje dodany do blockchaina. W ten sposób Twój Bitcoin bezpiecznie trafia od Ciebie do znajomego lub współpracownika.

Brzmi skomplikowanie, ale to trochę jak wysyłanie listu, który jest sprawdzany przez dziesiątki urzędów pocztowych, aby upewnić się, że nie zaginie ani nie zostanie naruszony.

Problem polegał jednak na tym, że każda transakcja wymagała cyfrowego podpisu, a to zajmowało dużo miejsca w bloku. W efekcie bloki zapełniały się szybciej, a sieć stawała się wolniejsza i droższa. SegWit zaoferował sprytne rozwiązanie: oddzielił podpis od reszty transakcji, dzięki czemu w jednym bloku mieści się więcej transakcji, a wszystko działa szybciej i taniej.

Jak SegWit rozwiązał problem

Wraz ze wzrostem popularności Bitcoina sieć zaczęła mieć problemy z wydajnością. Nie dało się przetwarzać wystarczającej liczby transakcji jednocześnie, przez co wszystko działało wolniej i było droższe. Wynikało to głównie z tego, że każda transakcja zajmowała w bloku dość dużo miejsca.

Programista Bitcoina, Pieter Wuille, zaproponował rozwiązanie: „Oddzielmy podpisy (które są potrzebne do potwierdzenia transakcji) od reszty transakcji”. Nazwano je Segregated Witness (czyli SegWit). Pomysł polegał na oddzieleniu podpisu (świadka) od wszystkich innych danych, a tym samym stworzeniu większej ilości miejsca w każdym bloku.

Bitcoin otrzymał wtedy także nowy rodzaj limitu: nie tylko maksymalny rozmiar w megabajtach, ale też limit wagi (4 miliony WU, czyli weight units). Brzmi to dość ogólnie, więc spójrzmy na przykład.

Przykład:

Wyobraź sobie, że pakujesz karton do przeprowadzki. Wcześniej karton mógł mieć tylko 1 metr wysokości. Dzięki SegWit wysokość nie ma już aż takiego znaczenia, a ważniejsza staje się waga tego, co wkładasz do środka. Cięższe elementy (jak dane witness) liczą się mniej, więc możesz zmieścić więcej.

Bloki po SegWit nie mają dosłownie 4 MB, ale mogą zawierać znacznie więcej transakcji. 25 stycznia 2022 roku istniał blok o rozmiarze 1,56 MB, ale jego waga znajdowała się dokładnie na limicie (3,993 miliona WU). Inne bloki tego dnia były mniejsze w MB, ale miały dokładnie taką samą wagę. Pokazuje to, że liczy się już nie tylko rozmiar, ale też to, jak „ciężkie” są dane.

Czym jest Native SegWit?

Native SegWit to po prostu ulepszona wersja SegWit, która sprawia, że wszystko działa nieco szybciej, taniej i lepiej. Zamiast starych adresów Bitcoina zaczynających się od „1” (legacy) lub „3” (zgodny z SegWit), Native SegWit korzysta z adresów zaczynających się od „bc1”.

Można to porównać do różnicy między starym adresem e-mail a nowoczesnym adresem opartym na chmurze: oba działają, ale nowa wersja jest lżejsza, szybsza i mniej podatna na błędy.

Dlaczego warto używać Native SegWit?

  • Niższe opłaty transakcyjne
    Ponieważ dane są przechowywane wydajniej, płacisz mniej za transakcje.

  • Szybsze przetwarzanie
    Górnicy mogą zmieścić więcej transakcji w jednym bloku. Mniejsze jest też ryzyko błędów (dzięki formatowi Bech32).

  • Rozwiązanie na przyszłość
    Native SegWit stał się standardem dla nowych portfeli Bitcoin i lepiej wspiera przyszłe aktualizacje, takie jak Taproot.

Przykład:

Wyobraź sobie, że wysyłasz 0,01 BTC ze starego adresu (zaczynającego się od 1). Zapłaciłbyś około 2€ opłaty. Jeśli do tej samej transakcji użyjesz adresu Native SegWit (bc1), możesz zapłacić tylko 0,50€.

Jakie są zalety SegWit?

Społeczność kryptowalut nadal dyskutuje, czy SegWit jest dobrym rozwiązaniem, czy nie, ale poprawa bezpieczeństwa i krótszy czas transakcji są korzystne dla blockchaina oraz dla górników i węzłów, które go wdrażają. SegWit doprowadził też do wprowadzenia Taproot, aktualizacji Bitcoina opartej na SegWit, która umożliwia jeszcze szybszą weryfikację.

Zalety SegWit

  • Więcej transakcji w jednym bloku
    Ponieważ dane witness są przechowywane osobno, w bloku nagle robi się więcej miejsca. Efekt? Mieści się więcej transakcji i nie trzeba tak długo czekać. Korzyść dla obu stron.

  • Mniej błędów i usterek
    Przed SegWit ktoś mógł zmienić identyfikator transakcji niewielką modyfikacją. Czasami powodowało to problemy dla dApps lub giełd. W SegWit ten problem w praktyce zniknął.

  • Szybkie i tanie płatności przez Lightning
    SegWit umożliwił realizację płatności poza łańcuchem, na przykład za pośrednictwem Lightning Network. Takie transakcje są znacznie szybsze niż standardowe transakcje w sieci Bitcoin.

  • Lepsze adresy Bitcoin (Bech32)
    SegWit wprowadził nowe adresy zaczynające się od „bc1”. Są lżejsze, więc płacisz niższe opłaty. A ponieważ są prostsze, mniejsze jest ryzyko pomyłki przy kopiowaniu.

  • Aktualizacja Bitcoin Taproot
    SegWit utorował drogę jednej z najnowszych ważnych zmian w Bitcoinie, czyli Taproot. Zapewnia ona lepszą prywatność i więcej możliwości dla smart kontraktów.

Wady SegWit

  • Powolna adopcja
    Nie wszystkie portfele i giełdy automatycznie wdrożyły SegWit. Minęły lata, zanim korzystała z niego większość użytkowników, a niektórzy nadal wolą starszy system.

  • Większa złożoność techniczna
    Twórcy muszą uwzględniać zarówno transakcje SegWit, jak i te bez SegWit podczas tworzenia aplikacji. Może to być frustrujące dla programistów.

  • Nieporozumienia w społeczności
    Nie wszyscy byli zwolennikami SegWit. Niektóre grupy uznawały go za rozwiązanie połowiczne i wolały przejść bezpośrednio do większych rozmiarów bloków poprzez hard fork. Ostatecznie doprowadziło to do hard forka. Dziś znamy ten hard fork jako Bitcoin Cash.

  • Brak natychmiastowego efektu
    Zalety SegWit stały się naprawdę widoczne dopiero wtedy, gdy większość użytkowników przeszła na nowy system. Problem pełnych bloków utrzymywał się jeszcze przez pewien czas.

Podsumowanie

SegWit był dla Bitcoina dużym krokiem naprzód (według większości osób). Sprawił, że blockchain stał się wydajniejszy, tańszy i lepiej przygotowany na przyszłość. Dzięki aktualizacji SegWit możemy dziś korzystać z Lightning Network, a sieć jest lepiej przygotowana na kolejne innowacje. Jednak, jak często bywało w przeszłości, społeczność Bitcoina nie zawsze była zgodna. Aktualizacja SegWit była szeroko dyskutowanym tematem, w którym nie wszyscy byli tego samego zdania.

O Finst

Finst to wiodąca platforma kryptowalutowa w Holandii, oferująca bardzo niskie opłaty transakcyjne, bezpieczeństwo klasy instytucjonalnej oraz szeroki zakres usług crypto, takich jak trading, przechowywanie aktywów, staking oraz wpłaty i wypłaty fiat. Finst, założona przez byłych kluczowych członków zespołu DEGIRO, jest autoryzowana jako dostawca usług w zakresie kryptoaktywów na mocy MiCAR przez Holenderski Urząd ds. Rynków Finansowych (AFM) i obsługuje klientów detalicznych oraz instytucjonalnych w 30 krajach europejskich.

Platforma crypto, którą pokochasz

Jesteśmy po to, aby dać Ci narzędzia, inspirację i wsparcie potrzebne do tego, by stać się lepszym inwestorem.

Zarejestruj się