Что такое СегВит? Введение в подход к масштабированию сети Биткойн | Глоссарий блокчейна| Академия ОКХ

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

SegWit — это название обновления Биткойн, реализованного посредством софт-форка в августе 2017 года. Оно было направлено на увеличение количества транзакций на блок, который может обрабатывать сеть Биткойн. Кроме того, в нем был устранен редкий эксплойт, связанный с пластичностью транзакций, и добавлена ​​большая программируемость Биткойн, что позволяет использовать решения для дальнейшего масштабирования, такие как Lightning Network Биткойн.

В этом введении в SegWit для начинающих мы объясним, что такое SegWit, его важность и предысторию обновления. Мы также оцениваем влияние SegWit с момента его принятия.

Содержание:

Что такое биткойн SegWit?

SegWit — сокращение от «отдельный свидетель (уровень консенсуса)» — представляет собой механизм масштабирования, реализованный в сети Биткойн в августе 2017 года. Он был направлен на уменьшение размера данных транзакций, чтобы в каждый блок можно было включить больше транзакций без увеличения размера блока. лимит через хардфорк.

В дополнение к увеличению пропускной способности транзакций Биткойн, SegWit также решил несколько других проблем в сети. Во-первых, обновление устраняет редкий эксплойт, при котором злоумышленник может создать новый идентификатор транзакции до того, как транзакция будет добыта. Затем они могут правдоподобно утверждать, что никогда не получали свои средства, потому что отправитель не распознает их транзакцию из-за того, что она отображается под другим идентификатором. В SegWit для вычисления идентификатора транзакции не требуются данные подписи транзакции. Поэтому, если злоумышленник изменяет данные подписи, идентификатор остается прежним.

Еще одним улучшением, которое SegWit привнес в Биткойн, стала повышенная гибкость программирования. Это эффективно позволило масштабировать решения уровня 2, такие как Lightning Network. Lightning Network требует более сложных транзакций, которые зависят друг от друга. Без исправления гибкости транзакций транзакции, зависящие от других, могут стать недействительными из-за изменения данных подписи и, следовательно, идентификатора транзакции. Поскольку SegWit отделяет подписи транзакций от данных транзакций и вычисляет идентификатор из последних, изменение данных подписи не может сделать будущие транзакции недействительными.

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

Хотя не все заинтересованные стороны в сети Биткойн немедленно перешли на SegWit, тот факт, что он был реализован как обратно совместимое изменение, означал, что его собственная активация не разделяла сеть. В отличие от хард-форка, такое изменение известно как софт-форк, который рискует разделить сеть.

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

Код SegWit был опубликованный как Предложение по улучшению Биткойн 141 в декабре 2015 года. Авторами BIP были разработчики Эрик Ломброзо, Джонсон Лау и Питер Вуилле. Позже он был представлен в клиенте Bitcoin Core в октябре 2016 года. Тем не менее, несколько биткойн-майнеров одобрили это изменение и не подали сигнал о поддержке SegWit.

Отчет в журнале Биткойн свидетельствуют что фракция майнеров выступила против SegWit, потому что они извлекали выгоду из эксплойта, известного как «AsicBoost», который повысил их эффективность на 20%, что сделало их более прибыльными.

В мае 2017 года группа самых влиятельных биткойн-майнеров и компаний встретилась и разработала то, что позже будет названо Нью-Йоркским соглашением. Они согласились активировать SegWit и увеличить лимит размера блока как часть изменения — обновления, называемого «SegWit 2X». В отличие от версии SegWit, реализованной в основном программном обеспечении в прошлом году, это изменение не было обратно совместимо с предыдущими версиями программного обеспечения Биткойн и могло привести к разделению сети.

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

Разработчик биткойнов под псевдонимом Шаолинь Фрай придумал решение, известное как софт-форк, активируемый пользователем, или UASF. По сути, операторы узлов и кошельков активируют SegWit и отклоняют блоки, не относящиеся к SegWit. Это заставит майнеров активировать обновление, потому что без поддержки пользователей добыча биткойнов быстро становится бесполезной операцией.

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

Однако перед активацией SegWit те, кто больше всех стремился к масштабированию Биткойна за счет увеличения размера блока, разошлись. Изменение размера блока сети, осуществленное группой так называемых «больших блокировщиков» — т. е. майнеров, которые выступали за масштабирование путем увеличения размера блоков способом, который не был обратно совместим, — привело к хард-форку, который создал Bitcoin Cash. .

Этот период был неспокойным для сети Биткойн, и после того, как осела пыль вокруг хард- и софт-форков, цена BTC провела оставшуюся часть 2017 года, поднимаясь до исторического максимума почти в 20,000 XNUMX долларов.

После активации SegWit в августе 2017 года BTC поднялся до максимума 2017 года. Источник: CoinGecko

Как работает СегВит?

Функции SegWit отделяющий сделки данные свидетеля из данных транзакции. В устаревшей системе блоки содержали входы транзакций (отправители), выходы (получатели) и данные подписи транзакций. При активном SegWit блоки делятся на базовый блок размером 1 МБ и дополнительный раздел, в котором хранятся данные транзакций. Другой раздел может хранить до 3 МБ данных свидетеля.

Поэтому, вопреки распространенному мнению, SegWit на самом деле является увеличением ограничения на размер блока. Однако увеличение было осуществлено таким образом, чтобы не было риска расщепления сети. Те, кто не хотел обновлять свои узлы до SegWit, все еще могут участвовать в сети Биткойн.

В традиционных транзакциях данные транзакций и подписи образовывали единое дерево Меркла — т. е. структуру данных, образованную путем хэширования различных фрагментов данных, — из которой создавался идентификатор транзакции. Это означало, что изменение данных подписи, которое возможно до того, как транзакция будет добыта, привело к другому идентификатору транзакции.

В SegWit идентификатор транзакции не зависит от данных подписи. Следовательно, даже если злоумышленнику удастся изменить подпись транзакции, это не повлияет на какие-либо идентификаторы транзакций и не сделает недействительной любую транзакцию, зависящую от предыдущей.

Хотя базовый блок по-прежнему составляет 1 МБ, он может включать данные из большего количества транзакций на блок, поскольку без данных-свидетелей транзакции становятся на 65 % меньше. Это эффективно позволяет майнерам включать большее количество транзакций в каждый блок, масштабируя сеть Биткойн для большего количества пользователей.

В дополнение к увеличению пропускной способности транзакций Биткойн, 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.

Транзакции остаются в мемпуле до тех пор, пока майнер не включит их в блок. Майнер выбирает, какие транзакции включать, основываясь на включенной комиссии за транзакцию. Транзакции, включающие очень небольшую комиссию, будут долго ждать в мемпуле в периоды сильной перегрузки блокчейна Биткойн, потому что майнеры будут отдавать предпочтение транзакциям с более высокими комиссионными платежами, поскольку это приводит к большей прибыльности.

С помощью SegWit майнеры могут включать больше транзакций в блок, потому что данные, хранящиеся в базовом блоке размером 1 МБ, для каждого меньше, чем в устаревшем формате. Это приводит к большей емкости блока и меньшему количеству транзакций, ожидающих в мемпуле. Чем меньше ожидающих транзакций, тем выше вероятность того, что транзакция будет включена в блок с более низкой комиссией. Следовательно, средняя комиссия за транзакцию по сети снизится.

Кроме того, SegWit позволяет использовать дополнительные решения для масштабирования, построенные на уровнях выше основного блокчейна Биткойн. Первой и самой известной на сегодняшний день является Lightning Network. Lightning Network позволяет проводить транзакции вне сети в платежных каналах. Поскольку для этих транзакций больше не требуется немедленный майнинг в блоке, меньше транзакций ожидает майнинга, что еще больше ослабляет давление на пользователей, требующих увеличения комиссий за транзакцию.

Для тех, кто поддерживает SegWit, обновление более выгодно, чем увеличение ограничения размера блока с помощью хардфорка. Во-первых, софт-форк не рискует разделить сеть, что может привести к путанице среди пользователей биткойнов.

Во-вторых, обновление не требует дополнительных аппаратных требований к операторам узлов. Одним из наиболее важных качеств Биткойна является то, что любой может управлять аппаратным обеспечением, необходимым для ссылки на блок-цепочку Биткойн и подтверждения достоверности транзакций. Увеличение предельного размера блока потребует от операторов узлов использования более дорогого оборудования с дополнительными ресурсами памяти, что приведет к увеличению централизации сети.

Был ли SegWit успешным?

Поскольку это необязательное обновление с обратной совместимостью, SegWit потребовалось некоторое время, чтобы реально повлиять на сеть. Несмотря на то, что он был активирован в августе 2017 года, сборы по-прежнему достигали уровней, которые превышали потенциальные варианты использования биткойнов. На пике своего развития в 2017 году средняя комиссия за транзакцию превышала 55 долларов США, что делало небольшие транзакции или платежи экономически невыполнимыми.

Средняя комиссия за транзакцию BTC превысила 55 долларов в 2017 году после активации SegWit. Источник: в Glassno

Хотя некоторые участники экосистемы внедрили обновление почти сразу, поставщикам кошельков и другим поставщикам услуг, таким как биржи, потребовалось много времени, чтобы внедрить SegWit. К концу 2019 года только половина всех транзакций использовала новый формат. Сегодня более 80% транзакций использование СегВит.

На приведенном выше графике показано, что ежедневные комиссии за транзакции, выплачиваемые в 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 году. Источник: в Glassno

Количество каналов Lightning Network также увеличилось за тот же период. С 37,100 2021 в начале 86,500 года количество каналов достигло пика в 2022 XNUMX в марте XNUMX года. Оба показателя показывают сильный рост активности Lightning, который стал возможен только благодаря SegWit.

Очевидно, что SegWit добился успеха как с точки зрения его влияния на сетевые сборы, так и с точки зрения поддержки более сложных типов транзакций. В дополнение к сети Lightning, более поздние обновления сети Биткойн, такие как Taproot, опирайтесь на SegWit для дальнейшей оптимизации сети, а за счет решения проблемы пластичности транзакций софт-форк позволит внедрять инновации, которые еще предстоит разработать.


Не являетесь трейдером OKX? Подписаться и присоединяйтесь к нам сегодня.

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