Co to jest SegWit? Wprowadzenie do podejścia do skalowania łańcucha Bitcoin | Glosariusz Blockchain| Akademia OKX

Przyjazne dla początkujących wprowadzenie do SegWit Bitcoin, w tym czym jest SegWit, dlaczego jest ważne i co osiąga

SegWit to nazwa aktualizacji Bitcoin wdrożonej za pomocą miękkiego widelca w sierpniu 2017 r. Miała ona na celu zwiększenie liczby transakcji na blok, które sieć Bitcoin może przetwarzać. Ponadto zajęto się rzadkim exploitem związanym z plastycznością transakcji i dodano większą programowalność do Bitcoin, umożliwiając dalsze skalowanie rozwiązań, takich jak Lightning Network Bitcoin.

W tym przyjaznym dla początkujących wprowadzeniu do SegWit wyjaśniamy, czym jest SegWit, jakie jest jego znaczenie i tło aktualizacji. Oceniamy również wpływ SegWit od czasu jego przyjęcia.

Spis treści:

Co to jest SegWit Bitcoina?

SegWit — skrót od „segregated świadkiem (consensus layer)” — to mechanizm skalowania wdrożony w sieci Bitcoin w sierpniu 2017 r. Miał on na celu zmniejszenie rozmiaru danych transakcyjnych, tak aby w każdym bloku można było uwzględnić więcej transakcji bez zwiększania rozmiaru bloku limit przez hard fork.

Oprócz zwiększenia przepustowości transakcji Bitcoin, SegWit rozwiązał również kilka innych problemów w sieci. Po pierwsze, aktualizacja ogranicza rzadki exploit, w którym osoba atakująca może utworzyć nowy identyfikator transakcji przed jej wydobyciem. Mogą wtedy wiarygodnie twierdzić, że nigdy nie otrzymali swoich środków, ponieważ nadawca nie rozpozna ich transakcji, ponieważ pojawia się pod innym identyfikatorem. W SegWit obliczenie identyfikatora transakcji nie wymaga danych podpisu transakcji. Dlatego jeśli zły aktor zmieni dane podpisu, identyfikator pozostaje taki sam.

Kolejnym ulepszeniem, które SegWit wprowadził do Bitcoin, była zwiększona elastyczność programowania. To skutecznie umożliwiło skalowanie rozwiązań warstwy 2, takich jak Lightning Network. Lightning Network wymaga bardziej złożonych transakcji, które są od siebie zależne. Bez poprawki plastyczności transakcji transakcje zależne od innych mogą zostać unieważnione przez zmianę danych podpisu, a tym samym identyfikatora transakcji. Ponieważ SegWit oddziela podpisy transakcji od danych transakcji i oblicza identyfikator z tych ostatnich, zmiana danych podpisu nie może unieważnić przyszłych transakcji.

Branża Bitcoin nie wspierała powszechnie SegWit. Przed jego aktywacją niektórzy opowiadali się za skalowaniem sieci poprzez zwiększenie limitu rozmiaru bloku za pomocą twardego widelca. Ostatecznie ta frakcja wprowadziłaby zwiększenie rozmiaru bloku. Wynikający z tego hard fork stworzył sieć Bitcoin Cash i jej natywny zasób kryptograficzny, BCH.

Chociaż nie wszyscy interesariusze w sieci Bitcoin natychmiast przeszli na SegWit, fakt, że została wdrożona jako zmiana kompatybilna wstecz, oznaczał, że jej własna aktywacja nie podzieliła sieci. W przeciwieństwie do twardego widelca, taka zmiana nazywana jest miękkim widelcem, który wiąże się z ryzykiem podziału sieci.

Krótka historia SegWita

Kod SegWita był opublikowany jako Bitcoin Improvement Proposal 141 w grudniu 2015 r. Autorami BIP byli programiści Eric Lombrozo, Johnson Lau i Pieter Wuille. Został on później wprowadzony do klienta Bitcoin Core w październiku 2016 r. Jednak kilku górników Bitcoin zaakceptowało zmianę i nie zasygnalizowało obsługi SegWit.

Raport w Magazynie Bitcoin wskazuje że frakcja górników była przeciwna SegWit, ponieważ czerpali korzyści z exploita znanego jako „AsicBoost”, który dał im 20% poprawę wydajności, czyniąc ich bardziej opłacalnymi.

W maju 2017 roku grupa najpotężniejszych górników i firm Bitcoin spotkała się i sporządziła projekt, który później nazwano Porozumieniem Nowojorskim. Zgodzili się aktywować SegWit i zwiększyć limit rozmiaru bloku w ramach zmiany — uaktualnienie określane jako „SegWit 2X”. W przeciwieństwie do wersji SegWit zaimplementowanej w oprogramowaniu Core w poprzednim roku, zmiana nie była wstecznie kompatybilna z poprzednimi wersjami oprogramowania Bitcoin i groziła podziałem sieci.

Umowa nowojorska miała aktywację SegWit 2X zaplanowaną na listopad 2017 r. Jednak wielu członków społeczności Bitcoin uważało, że tajne spotkanie firm ich nie reprezentuje i postrzegało SegWit 2X jako zagrożenie dla ogólnego zdecentralizowanego etosu kryptowalut.

Pseudonimowy programista Bitcoin, Shaolin Fry, wymyślił rozwiązanie znane jako soft fork aktywowany przez użytkownika lub UASF. Zasadniczo operatorzy węzłów i portfeli aktywowaliby SegWit i odrzucali bloki inne niż SegWit. To zmusiłoby górników do aktywacji aktualizacji, ponieważ bez wsparcia użytkownika wydobywanie Bitcoinów szybko staje się daremną operacją.

Ostatecznie UASF nie był potrzebny, ponieważ groźba jego użycia wystarczyła, by przekonać górników do zasygnalizowania wsparcia SegWit. Górnicy zamknięci w SegWit 9 sierpnia 2017 r.

Jednak przed aktywacją SegWit ci, którzy najbardziej zaangażowali się w skalowanie Bitcoina poprzez zwiększenie rozmiaru bloku, poszli własną drogą. Zmiana rozmiaru bloku sieci wprowadzona przez grupę tak zwanych „dużych blokerów” — tj. górników, którzy faworyzowali skalowanie poprzez zwiększanie rozmiaru bloków w sposób, który nie był wstecznie kompatybilny — zaowocowała hard forkiem, który stworzył Bitcoin Cash .

Okres ten był burzliwy dla sieci Bitcoin, a po opadnięciu kurzu otaczającego twarde i miękkie widelce, cena BTC spędziła resztę 2017 r., rosnąc do rekordowego wówczas poziomu prawie 20,000 XNUMX USD.

Po aktywacji SegWit w sierpniu 2017 r., BTC osiągnął najwyższy poziom z 2017 r. Źródło: CoinGecko

Jak działa SegWit?

Funkcje SegWit wg segregacja transakcja dane świadka z danych transakcyjnych. W dotychczasowym systemie bloki zawierały dane wejściowe transakcji (nadawcy), wyjścia (odbiorcy) oraz dane podpisu transakcji. Przy aktywnym SegWit bloki są podzielone na blok podstawowy o wielkości 1 MB i dodatkową sekcję, w której przechowywane są dane transakcji. Druga sekcja może przechowywać do 3 MB danych świadków.

Dlatego, wbrew powszechnemu przekonaniu, SegWit w rzeczywistości jest zwiększeniem limitu rozmiaru bloku. Podwyżkę zrealizowano jednak w taki sposób, aby nie groziło rozbiciem sieci. Ci, którzy nie chcieli aktualizować swoich węzłów do SegWit, nadal mogą uczestniczyć w sieci Bitcoin.

W starszych transakcjach dane transakcji i podpisy tworzyły pojedyncze drzewo Merkle — tj. strukturę danych utworzoną przez mieszanie różnych fragmentów danych — z którego tworzono identyfikator transakcji. Oznaczało to, że zmiana danych podpisu, która jest możliwa przed wydobyciem transakcji, skutkowała innym identyfikatorem transakcji.

W SegWit identyfikator transakcji nie jest zależny od danych podpisu. Dlatego nawet jeśli złośliwemu podmiotowi udało się zmienić podpis transakcji, nie wpłynie to na żadne identyfikatory transakcji ani nie unieważni żadnej transakcji zależnej od poprzedniej.

Chociaż blok podstawowy nadal ma 1 MB, może zawierać dane z większej liczby transakcji na blok, ponieważ bez danych świadków transakcje są nawet o 65% mniejsze. To skutecznie umożliwia górnikom uwzględnienie większej liczby transakcji w każdym bloku, skalując sieć Bitcoin do większej liczby użytkowników.

Oprócz zwiększenia przepustowości transakcji Bitcoin, SegWit umożliwia również bardziej złożone transakcje. Wcześniej transakcje zależne od siebie można było unieważnić, wykorzystując błąd plastyczności transakcji. Przy aktywnym SegWit identyfikatory transakcji nie są już zależne od danych, które można później zmienić. W związku z tym transakcje z zależnościami od innych transakcji nie mogą zostać unieważnione. Umożliwia to dodatkowe skalowanie rozwiązań, takich jak Lightning Network.

Format adresu SegWit

Transakcje SegWit wykorzystują jeden z dwóch formatów adresu. Dzięki temu bardzo łatwo jest określić, czy wysyłasz z adresu SegWit, czy przeprowadzasz transakcję za pomocą portfela obsługującego SegWit.

Adresy zaczynające się od „3” są znane jako adresy Pay to Script Hash lub P2SH. Jest to starszy format adresu, który jest zgodny zarówno ze starszymi (lub innymi niż SegWit), jak i transakcjami SegWit. Portfele, które nie obsługują SegWit, nadal mogą odbierać transakcje SegWit przy użyciu tego formatu adresu. Opłaty transakcyjne powinny być nieco niższe niż w przypadku starszych adresów w przypadku transakcji z adresami P2SH.

Tymczasem adresy Bech32 — znane również jako natywne adresy SegWit — zaczynają się od „bc1”. Transakcje wykorzystujące adresy Bech32 zużywają mniej danych niż ich odpowiedniki P2SH. Ten format adresu umożliwia jeszcze więcej transakcji na blok, co skutkuje jeszcze niższymi opłatami transakcyjnymi. Wymaga jednak portfeli używanych do obsługi SegWit, co wymaga aktualizacji oprogramowania.

Dlaczego SegWit jest ważny?

SegWit odnosi się do rosnących kosztów transakcji, które programiści Bitcoin i obserwatorzy branżowi zrozumieli, że ograniczyłyby adopcję sieci. Kiedy bloki Bitcoin są pełne, transakcje czekają w tzw pamięć.

Transakcje pozostają w pamięci, dopóki górnik nie umieści ich w bloku. Górnik wybiera, które transakcje uwzględnić w oparciu o uwzględnioną opłatę transakcyjną. Transakcje obejmujące bardzo niewielką opłatę będą czekać w mempool przez długi czas w okresach dużego przeciążenia łańcucha blokowego Bitcoin, ponieważ górnicy będą faworyzować transakcje z wyższymi opłatami – ponieważ skutkuje to większą rentownością.

Dzięki SegWit górnicy mogą zawierać więcej transakcji na blok, ponieważ dane przechowywane w podstawowym bloku 1 MB są mniejsze dla każdego niż w starszym formacie. Skutkuje to większą pojemnością bloków i mniejszą liczbą transakcji oczekujących w pamięci. Przy mniejszej liczbie oczekujących transakcji istnieje większa szansa na umieszczenie transakcji w bloku z niższą opłatą. W związku z tym spadnie średnia opłata transakcyjna w całej sieci.

Dodatkowo SegWit umożliwia dodatkowe skalowanie rozwiązań zbudowanych na warstwach powyżej głównego łańcucha blokowego Bitcoin. Pierwszą i najbardziej znaną dzisiaj jest Lightning Network. Lightning Network umożliwia przeprowadzanie transakcji poza łańcuchem w kanałach płatności. Ponieważ transakcje te nie wymagają już natychmiastowego wydobywania w bloku, mniej transakcji czeka na wydobycie, co jeszcze bardziej zmniejsza presję na użytkowników, aby zwiększali opłaty transakcyjne.

Dla tych, którzy obsługują SegWit, aktualizacja jest korzystniejsza niż zwiększenie limitu rozmiaru bloku przez hard fork. Po pierwsze, soft fork nie grozi podziałem sieci, co mogłoby spowodować zamieszanie wśród użytkowników Bitcoina.

Po drugie, aktualizacja nie wymusza na operatorach węzłów dodatkowych wymagań sprzętowych. Jedną z ważniejszych cech Bitcoina jest to, że każdy może obsługiwać sprzęt wymagany do odwoływania się do łańcucha bloków Bitcoin i samodzielnego potwierdzania ważności transakcji. Zwiększenie limitu rozmiaru bloku wymagałoby od operatorów węzłów korzystania z droższego sprzętu z dodatkowymi zasobami pamięci, zwiększając centralizację sieci.

Czy SegWit odniósł sukces?

Ponieważ jest to opcjonalna, kompatybilna wstecz aktualizacja, SegWit potrzebował trochę czasu, aby naprawdę wpłynąć na sieć. Chociaż został aktywowany w sierpniu 2017 r., opłaty nadal osiągały poziomy, które przeceniały potencjalne przypadki użycia Bitcoin. W szczytowym momencie w 2017 roku średnia opłata transakcyjna osiągnęła ponad 55 USD, co sprawiło, że małe transakcje lub płatności stały się ekonomicznie nieopłacalne.

Średnia opłata transakcyjna BTC wzrosła powyżej 55 USD w 2017 roku po aktywacji SegWit. Źródło: Glassnode

Chociaż niektórzy uczestnicy ekosystemu wdrożyli aktualizację niemal natychmiast, wdrożenie SegWit zajęło dostawcom portfeli i innym usługodawcom, takim jak giełdy, dużo czasu. Pod koniec 2019 r. tylko połowa wszystkich transakcji korzystała z nowego formatu. Dziś ponad 80% transakcji posługiwać się SegWit.

Powyższy wykres pokazuje, że dzienne opłaty transakcyjne płacone w BTC znacznie spadły po przyjęciu SegWit. Chociaż liczba transakcji on-chain przetwarzanych dziennie osiągnęła około 7% poniżej wartości szczytowej z 2017 r., uiszczone opłaty pozostały niewielkim ułamkiem 1,500 BTC wpłaconych do sieci 22 grudnia 2017 r. Łączne opłaty uiszczone w ciągu jednego dnia nie przekroczyły 300 BTC podczas ostatnich skoków.

Oceniając wpływ SegWit, należy pamiętać, że aktualizacja umożliwiła Lightning Network. Uruchomiony jako wersja beta w 2018 roku, Lightning Network odnotował ogromny wzrost. Na początku 2021 r. skalowalne rozwiązanie miało łączną pojemność nieco ponad 1,000 BTC. Do kwietnia 2022 r. całkowita pojemność sieci wzrosła do ponad 3,650 BTC.

Ogólna pojemność Lightning Network wzrosła do ponad 3,650 BTC od czasu jej uruchomienia w 2018 roku. Źródło: Glassnode

Liczba kanałów Lightning Network również wzrosła w tym samym okresie. Z 37,100 2021 na początku 86,500 r. kanały osiągnęły najwyższy poziom 2022 XNUMX w marcu XNUMX r. Oba wskaźniki pokazują silny wzrost aktywności Lightning, który był możliwy tylko dzięki SegWit.

Najwyraźniej SegWit odniósł sukces zarówno pod względem wpływu na opłaty sieciowe, jak i obsługi bardziej złożonych typów transakcji. Oprócz Lightning Network, nowsze aktualizacje sieci Bitcoin, jak Taproot, opierać się na SegWit, aby dalej optymalizować sieć – a dzięki uwzględnieniu plastyczności transakcji soft fork umożliwi innowacje, które jeszcze nie zostały opracowane.


Nie jesteś traderem OKX? Zapisz się i dołącz do nas już dziś.

Źródło: https://www.okx.com/academy/en/what-is-segregated-witness