Какво е SegWit? Въведение в подхода за мащабиране на биткойн във веригата | Речник на блокчейн| OKX академия

Удобно за начинаещи въведение в SegWit на Bitcoin, включително какво представлява SegWit, защо е важен и какво постига

SegWit е името на надграждане на биткойн, реализирано чрез soft fork през август 2017 г. То имаше за цел да увеличи броя на транзакциите на блок, който биткойн мрежата може да обработи. Освен това, той адресира рядка експлойт, свързан с гъвкавостта на транзакциите и добави по-голяма програмируемост към биткойн, позволявайки по-нататъшни решения за мащабиране като Lightning Network на Bitcoin.

В това удобно за начинаещи въведение в SegWit, ние обясняваме какво представлява SegWit, значението му и фона на надстройката. Ние също така оценяваме въздействието на SegWit след приемането му.

Съдържание:

Какво е SegWit на Bitcoin?

SegWit — съкратено от „сегрегиран свидетел (консенсусен слой)“ — е механизъм за мащабиране, внедрен в мрежата на Биткойн през август 2017 г. Той имаше за цел да намали размера на данните за транзакциите, така че повече транзакции да могат да бъдат включени във всеки блок, без да се увеличава размера на блока ограничение чрез хард форк.

В допълнение към увеличаването на пропускателната способност на транзакциите на биткойн, SegWit адресира и няколко други проблема в мрежата. Първо, надстройката смекчава рядка експлойт, при която нападателят може да създаде нов идентификатор на транзакция, преди транзакцията да бъде копана. След това те могат да твърдят, че никога не са получавали средствата си, защото подателят няма да разпознае транзакцията им, тъй като тя се появява под различен идентификационен номер. При SegWit изчисляването на идентификатора на транзакцията не изисква данни за подпис на транзакцията. Следователно, ако лош актьор промени данните за подписа, идентификаторът остава същият.

Друго подобрение, което SegWit донесе на Bitcoin, беше повишената гъвкавост на програмирането. Това ефективно активира решения за мащабиране на Layer-2 като Lightning Network. Lightning Network изисква по-сложни транзакции, които зависят една от друга. Без корекцията за гъвкавост на транзакциите, транзакциите, зависещи от други, могат да станат невалидни чрез промяна на данните за подписа и следователно на идентификатора на транзакцията. Тъй като SegWit разделя подписите на транзакциите от данните за транзакциите и изчислява идентификатора от последните, промяната в данните за подписа не може да обезсили бъдещите транзакции.

Биткойн индустрията не поддържаше универсално SegWit. Преди активирането му някои се застъпиха за мащабиране на мрежата чрез увеличаване на ограничението за размера на блока чрез хард форк. В крайна сметка тази фракция ще въведе увеличение на размера на блока. Полученият хард форк създаде мрежата Bitcoin Cash и нейния роден крипто актив, BCH.

Въпреки че не всички заинтересовани страни в мрежата на биткойн надстроиха незабавно до SegWit, фактът, че тя беше внедрена като обратна съвместима промяна, означаваше, че нейното собствено активиране не разделя мрежата. За разлика от хард вилица, такава промяна е известна като мека вилица, която рискува да раздели мрежата.

Кратка история на SegWit

Кодът на SegWit беше публикувани като Предложение за подобряване на биткойн 141 през декември 2015 г. Автори на BIP са разработчиците Ерик Ломброзо, Джонсън Лау и Питър Вуил. По-късно беше въведен в клиента на Bitcoin Core през октомври 2016 г. Въпреки това, малко биткойн копачи одобриха промяната и не дадоха сигнал за поддръжка на SegWit.

Доклад в списание Bitcoin подсказва че фракция от миньори се противопоставиха на SegWit, защото се възползваха от експлойт, известен като „AsicBoost“, който им даде 20% подобрена ефективност, правейки ги по-печеливши.

През май 2017 г. група от най-мощните биткойн миньори и компании се срещнаха и изготвиха това, което по-късно ще бъде наречено Нюйоркското споразумение. Те се съгласиха да активират SegWit и да увеличат ограничението за размера на блока като част от промяната – надстройка, наричана „SegWit 2X“. За разлика от версията на SegWit, внедрена в софтуера Core предходната година, промяната не беше обратно съвместима с предишните версии на софтуера на Bitcoin и рискуваше да раздели мрежата.

Нюйоркското споразумение предвиждаше активирането на SegWit 2X за ноември 2017 г. Въпреки това мнозина в биткойн общността смятаха, че тайна среща на компании не ги представлява и възприемаха SegWit 2X като заплаха за цялостния децентрализиран етос на крипто.

Псевдонимният разработчик на биткойн Шаолин Фрай излезе с решение, известно като активиран от потребителя soft fork или UASF. По същество операторите на възли и портфейли ще активират SegWit и ще отхвърлят не-SegWit блокове. Това ще притисне миньорите да активират надстройката, тъй като без потребителска поддръжка, копането на биткойн бързо се превръща в безполезна операция.

В крайна сметка UASF не беше необходим, тъй като заплахата от него беше достатъчна, за да убеди миньорите да сигнализират за поддръжка на SegWit. Миньори, заключени в SegWit на 9 август 2017 г.

Преди активирането на SegWit обаче, тези, които са най-отдадени на мащабиране на биткойн чрез увеличаване на размера на блока, тръгнаха по различни начини. Промяната в размера на блока на мрежата, реализирана от група от така наречените „големи блокери“ – т.е. миньори, които предпочитат мащабирането чрез увеличаване на размера на блоковете по начин, който не е обратно съвместим – доведе до хард форк, който създаде Bitcoin Cash .

Периодът беше бурен за биткойн мрежата и след като прахът около твърдите и меки форк се уталожи, цената на BTC прекара остатъка от 2017 г., като се повиши до тогавашния връх от почти 20,000 XNUMX долара.

След активирането на SegWit през август 2017 г., BTC се повиши до най-високото си ниво от 2017 г. Източник: CoinGecko

Как работи SegWit?

SegWit функционира от сегрегиране транзакция свидетелски данни от данните за транзакцията. В наследената система блоковете съдържаха входове за транзакции (подаватели), изходи (получатели) и данни за подпис на транзакции. При активен SegWit блоковете се разделят на основен блок от 1 MB и допълнителна секция, която съхранява данни за транзакциите. Другият раздел може да съхранява до 3 MB свидетелски данни.

Следователно, противно на общоприетото схващане, SegWit всъщност е увеличение на ограничението на размера на блока. Увеличението обаче беше въведено по такъв начин, че да не рискува да се раздели мрежата. Тези, които не искат да надстроят своите възли до SegWit, все още могат да участват в мрежата на Bitcoin.

В наследените транзакции данните за транзакциите и подписите формират едно дърво Merkle – т.е. структура от данни, образувана чрез хеширане на различни части от данни заедно – от която е създаден идентификатор на транзакцията. Това означаваше, че промяната на данните за подписа, която е възможна преди да бъде извлечена транзакция, води до различен идентификатор на транзакцията.

При SegWit идентификаторът на транзакцията не зависи от данните за подписа. Следователно, дори ако злонамерен обект успее да промени подписа на транзакция, това няма да повлияе на нито един идентификатор на транзакция или да направи невалидна транзакция, зависима от предишна.

Въпреки че базовият блок все още е 1 MB, той може да включва данните от повече транзакции на блок, тъй като без свидетелските данни транзакциите са до 65% по-малки. Това ефективно позволява на миньорите да включват по-голям брой транзакции във всеки блок, като мащабират мрежата на биткойн до повече потребители.

В допълнение към увеличаването на пропускателната способност на транзакциите на Bitcoin, SegWit също така позволява по-сложни транзакции. Преди това транзакциите, зависещи една от друга, можеха да бъдат анулирани чрез използване на грешката в гъвкавостта на транзакциите. При активен SegWit идентификаторите на транзакции вече не зависят от данни, които могат да бъдат променени впоследствие. Следователно транзакции със зависимости от други транзакции не могат да бъдат анулирани. Това позволява допълнителни решения за мащабиране, като Lightning Network.

Адресен формат SegWit

SegWit транзакциите използват един от двата адресни формата. Това прави много лесно да се определи дали изпращате от адрес на SegWit или извършвате транзакции с портфейл, поддържащ SegWit.

Адресите, които започват с „3“, са известни като Pay to Script Hash или P2SH адреси. Това е по-стар формат за адрес, който е съвместим както с наследени (или не-SegWit), така и с транзакции SegWit. Портфейлите, които не поддържат SegWit, все още могат да получават транзакции на SegWit, използвайки този адресен формат. Таксите за транзакции трябва да са малко по-ниски от наследените адреси, когато извършвате транзакции с P2SH адреси.

Междувременно адресите на Bech32 – известни също като собствен адрес на SegWit – започват с „bc1“. Транзакциите, използващи Bech32 адреси, използват по-малко данни от техните P2SH колеги. Този адресен формат позволява още повече транзакции на блок, което води до още по-ниски такси за транзакции. Той обаче изисква портфейлите, използвани за поддръжка на SegWit, което изисква надграждане на софтуера.

Защо SegWit е важен?

SegWit се занимава с нарастващите транзакционни разходи, които разработчиците на биткойн и наблюдателите на индустрията разбират, че биха ограничили приемането на мрежата. Когато биткойн блоковете са пълни, транзакциите изчакват в това, което е известно като мемпул.

Транзакциите остават в мемпула, докато миньорът ги включи в блок. Миньорът избира кои транзакции да включи въз основа на включената такса за транзакция. Транзакциите, включващи много малка такса, ще чакат в mempool за дълго време по време на периоди на тежки претоварвания на блокчейна на Bitcoin, тъй като миньорите ще предпочитат транзакции с по-високи плащания на такси - тъй като това води до по-голяма рентабилност.

Със SegWit миньорите могат да включват повече транзакции на блок, тъй като данните, съхранявани в основния блок от 1 MB, са по-малки за всеки от тях, отколкото в наследения формат. Това води до по-голям капацитет на блокове и по-малко чакащи транзакции в mempool. С по-малко чакащи транзакции има по-голям шанс транзакцията да бъде включена в блок с по-ниска такса. Следователно средната такса за транзакция в мрежата ще падне.

Освен това, SegWit позволява допълнителни решения за мащабиране, изградени върху слоеве над основния блокчейн на Bitcoin. Първата и най-известна днес е Lightning Network. Lightning Network позволява транзакциите да се извършват извън веригата в платежните канали. Тъй като тези транзакции вече не се нуждаят от копаене в блок незабавно, по-малко транзакции чакат да бъдат копани, което допълнително облекчава натиска за потребителите да увеличат таксите за транзакции.

За тези, които поддържат SegWit, надстройката е по-благоприятна от увеличаването на ограничението за размера на блока чрез хард форк. Първо, soft fork не рискува да раздели мрежата, което може да доведе до объркване сред потребителите на биткойн.

Второ, надстройката не налага допълнителни хардуерни изисквания към операторите на възли. Едно от по-важните качества на биткойн е, че всеки може да управлява хардуера, необходим за справка с биткойн блокчейн и да потвърди валидността на самите транзакции. Увеличаването на ограничението на размера на блока ще изисква от операторите на възли да използват по-скъп хардуер с допълнителни ресурси на паметта, увеличавайки централизацията на мрежата.

Успешен ли беше SegWit?

Тъй като това е незадължително, обратно съвместимо надграждане, SegWit отне известно време, за да повлияе наистина на мрежата. Въпреки че беше активиран през август 2017 г., таксите все още достигаха нива, които оскъпяваха потенциалните случаи на използване на биткойн. В разгара си през 2017 г. средната такса за транзакция достигна повече от 55 долара, което прави малки транзакции или плащания икономически неосъществими.

Средната такса за транзакция на BTC нарасна над $55 през 2017 г. след активирането на SegWit. Източник: стъклен възел

Въпреки че някои участници в екосистемата внедриха надстройката почти веднага, на доставчиците на портфейли и други доставчици на услуги като борси им отне много време, за да внедрят SegWit. До края на 2019 г. само половината от всички транзакции използваха новия формат. Днес повече от 80% от транзакциите употреба SegWit.

Графиката по-горе показва, че дневните такси за транзакции, плащани в BTC, са намалели значително с приемането на SegWit. Въпреки че броят на транзакциите във веригата, обработвани на ден, достигна около 7% под пика от 2017 г., платените такси остават малка част от 1,500 BTC, платени към мрежата на 22 декември 2017 г. Общо платени такси за един ден не са надхвърлили 300 BTC по време на по-скорошни пикове.

При оценката на въздействието на SegWit е важно да запомните, че надстройката направи възможна Lightning Network. Стартирана като бета версия през 2018 г., Lightning Network отбеляза огромен растеж. В началото на 2021 г. решението за мащабиране имаше общ капацитет от малко над 1,000 BTC. До април 2022 г. общият капацитет на мрежата нарасна до повече от 3,650 BTC.

Общият капацитет на Lightning Network се е увеличил до повече от 3,650 BTC след стартирането му през 2018 г. Източник: стъклен възел

Броят на каналите на Lightning Network също се е увеличил през същия период. От 37,100 2021 в началото на 86,500 г., каналите достигнаха връх от 2022 XNUMX през март XNUMX г. И двата показателя показват силен растеж на Lightning активността, което стана възможно само от SegWit.

Очевидно SegWit е бил успешен както по отношение на въздействието си върху мрежовите такси, така и по отношение на поддръжката на по-сложни типове транзакции. В допълнение към Lightning Network, по-скорошни надстройки на мрежата на Bitcoin, като Taproot, надграждане на SegWit за по-нататъшно оптимизиране на мрежата — и като се обърне внимание на гъвкавостта на транзакциите, soft fork ще даде възможност за иновации, които тепърва ще бъдат разработени.


Не сте търговец на OKX? Регистрирай се и се присъединете към нас днес.

Източник: https://www.okx.com/academy/en/what-is-segregated-witness