Co to jest SegWit?
Segregated Witness (SegWit) to aktualizacja protokołu opracowana w 2015 roku. Koncepcja została wprowadzona jako rozwiązanie problemu skalowalności, z którym borykały się i nadal borykają sieci blockchain.
Sieć Bitcoin sprawdza średnio co 10 minut nowy blok, z którego każdy zawiera kilka transakcji. W związku z tym rozmiar bloku wpływa na liczbę transakcji, które można potwierdzić w każdym bloku. Obecnie blockchain Bitcoina może przetwarzać około 7 transakcji na sekundę.
Główną ideą SegWit jest reorganizacja danych blokowych, tak aby podpisy nie były już umieszczane wraz z danymi transakcyjnymi. Innymi słowy, aktualizacja SegWit polega na oddzieleniu świadków (podpisów) od danych transakcji. Umożliwia to przechowywanie większej liczby transakcji w jednym bloku, co zwiększa przepustowość transakcji w sieci.
Ponieważ jest w stanie przetwarzać tylko około 7 transakcji na sekundę, transakcja Bitcoin może czasami zająć dużo czasu. To znacznie wolniej w porównaniu z konwencjonalnymi 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 Pietera Wuille’a wraz z innymi współpracownikami Bitcoin Core. W sierpniu 2017 r. wdrożono aktualizację SegWit jako miękki fork w sieci Bitcoin.
Obecnie kilka projektów kryptowalut korzysta z SegWit, w tym Bitcoin i Litecoin. Aktualizacja protokołu przyniosła wiele korzyści, takich jak zwiększona szybkość transakcji i pojemność bloków. SegWit rozwiązał także tak zwany błąd plastyczności transakcji (omówiony poniżej).
Jakie są główne zalety SegWit?
Zwiększenie pojemności
Jedną z największych zalet SegWit jest zwiększenie pojemności bloków. Usuwając dane podpisu z danych wejściowych transakcji, można zapisać więcej transakcji w jednym bloku.
Transakcje składają się z dwóch głównych elementów: wejść i wyjść. Zasadniczo dane wejściowe zawierają adres publiczny nadawcy, a dane wyjściowe zawierają adres publiczny odbiorcy. Nadawca musi jednak udowodnić, że ma przesyłane środki, i robi to za pomocą podpisu cyfrowego.
Bez SegWit dane podpisu mogą zająć do 65% bloku. Dzięki SegWit dane podpisu są odsuwane od danych wejściowych transakcji. Powoduje to zwiększenie efektywnego rozmiaru bloku z 1 MB do około 4 MB.
Należy pamiętać, że SegWit nie jest rzeczywistym zwiększeniem rozmiaru bloku. Zamiast tego jest to rozwiązanie inżynieryjne umożliwiające zwiększenie efektywnego rozmiaru bloku bez konieczności zwiększania limitu rozmiaru bloku (co wymagałoby hard forku). Mówiąc dokładniej, rzeczywisty rozmiar bloku wynosi nadal 1 MB, ale efektywny limit rozmiaru bloku wynosi 4 MB.
Firma SegWit wprowadziła także koncepcję ciężaru bloku. Możemy uznać wagę bloku za koncepcję zastępującą ideę rozmiaru bloku. Zasadniczo waga bloku to miara obejmująca wszystkie dane blokowe, w tym dane transakcyjne (1 MB) i dane podpisu (do 3 MB), które nie są już częścią pola wejściowego.
Zwiększenie szybkości transakcji
Dzięki blokowi, który może przechowywać więcej transakcji, SegWit ma również możliwość zwiększenia szybkości transakcji, ponieważ przez łańcuch bloków może przechodzić większa liczba transakcji. Chociaż wydobycie bloku może zająć tyle samo czasu, przetwarzanych jest w nim więcej transakcji, więc stawka TPS jest wyższa.
Zwiększona prędkość transakcji pomogła również obniżyć koszty transakcji w sieci Bitcoin. Przed SegWit wydawanie ponad 30 dolarów na transakcję nie było niczym niezwykłym. Jednak SegWit radykalnie obniżył ten koszt do mniej niż 1 dolara za transakcję.
➟ Chcesz zacząć przygodę z kryptowalutą? Kup Bitcoin (BTC) na Binance!
Poprawka plastyczności transakcji
Głównym problemem związanym z Bitcoinem była możliwość potencjalnego manipulowania podpisami transakcji. Jeśli podpis zostanie zmieniony, może to spowodować uszkodzenie transakcji pomiędzy dwiema stronami. Ponieważ dane przechowywane w łańcuchach bloków są praktycznie niezmienne, nieprawidłowe transakcje mogą zostać trwale zapisane w łańcuchu bloków.
Dzięki SegWit podpisy nie są już częścią danych transakcyjnych, co eliminuje możliwość zmiany tych danych. Ta poprawka umożliwiła dalsze innowacje w społeczności blockchain, w tym protokoły drugiej warstwy i inteligentne kontrakty.
SegWit i sieć Lightning
Rozwój protokołów drugiej warstwy został częściowo umożliwiony poprzez naprawienie błędu związanego z plastycznością transakcji. Mówiąc najprościej, protokoły drugiej warstwy to nowe platformy lub produkty zbudowane na bazie łańcucha bloków, takie jak Bitcoin. Jednym z bardziej popularnych protokołów drugiej warstwy jest Lightning Network, sieć mikropłatności poza łańcuchem.
Lightning Network to protokół drugiej warstwy działający na bazie sieci Bitcoin. Głównym celem Lightning Network jest umożliwienie potwierdzenia większej liczby transakcji w krótszym czasie, co skutkuje szybszymi transakcjami dla użytkowników. Transakcje są gromadzone poza łańcuchem i skutecznie buforowane, aby sieć Bitcoin mogła ostatecznie je przetworzyć.
Sieć Lightning została pierwotnie opracowana dla Bitcoina. Jednak kilka innych projektów kryptowalutowych i blockchain pracuje nad wdrożeniem tej technologii w swoich sieciach. Nie tylko skróci to czas potwierdzania transakcji, ale także sprzyja opracowywaniu nowych rozwiązań problemu skalowalności.
SegWit vs. SegWit2x
SegWit to aktualizacja typu soft fork, co oznacza, że jest kompatybilna wstecz. Innymi słowy, węzły Bitcoin, które nie zostały zaktualizowane w celu uwzględnienia SegWit, nadal są w stanie przetwarzać transakcje. Jednakże zaproponowano inną implementację SegWit o nazwie SegWit2x (S2X), która wymagałaby aktualizacji typu hard fork.
Kluczowa różnica między SegWit i SegWit2x polega na tym, że ten ostatni obejmowałby nie tylko zmianę w grupowaniu transakcji, ale także zwiększenie rozmiaru bloku (z 1 MB do 2 MB). Mimo to większy rozmiar bloku zwiększyłby obciążenie operatorów węzłów i górników, ponieważ wymagałoby to obsługi większej ilości danych.
Kolejną zauważalną różnicą jest to, że propozycja SegWit była wspierana i egzekwowana przez społeczność Bitcoin. W tym odcinku zrodziła się koncepcja UASF, czyli soft fork aktywowany przez użytkownika.
Z drugiej strony SegWit2x zaproponował istotną zmianę jednej z podstawowych zasad rządzących Bitcoinem. Ponieważ jednak programiści nie byli w stanie osiągnąć konsensusu w sprawie jego przyjęcia i wdrożenia, ruch SegWit2x został ostatecznie zawieszony.
Zagnieżdżony SegWit kontra natywny SegWit (bech32)
Krótko mówiąc, Native SegWit (znany również jako bech32) to zaktualizowana wersja Nested SegWit. Format bech32 oferuje zwiększoną prędkość transakcji, lepsze mechanizmy wykrywania błędów i jeszcze niższe opłaty transakcyjne. Ponadto adresy bech32 są pisane małymi literami, co ułatwia ich odczytanie.
Należy pamiętać, że transakcje blockchain pomiędzy adresami innymi niż SegWit (Legacy), Nested SegWit i Native SegWit (bech32) są w pełni kompatybilne. Jednak nie wszystkie giełdy i portfele kryptowalut obsługują SegWit, więc możesz nie być w stanie wypłacić środków bezpośrednio na adres SegWit.
Giełda Binance obsługuje wpłaty SegWit i wypłaty za Bitcoin (BTC). Więcej informacji znajdziesz w FAQ SegWit.
Zamykające myśli
Wdrożenie SegWit oznaczał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.
Wprowadzenie SegWit było poważnym krokiem naprzód w rozwiązaniu wielu problemów związanych z Bitcoinem i innymi sieciami blockchain – szczególnie w odniesieniu do skalowalności. Dzięki połączeniu SegWit i protokołów drugiej warstwy sieci blockchain mogą obsługiwać większą liczbę transakcji przy większej wydajności i niższych kosztach.
Pomimo tego, że jest to potężne i innowacyjne rozwiązanie, SegWit nie został jeszcze w pełni zastosowany. Obecnie odsetek adresów Bitcoin korzystających z SegWit wynosi około 53%.