Segregated Witness (SegWit). Причины и последствия обновления
Главная
Статьи
Segregated Witness (SegWit). Причины и последствия обновления

Segregated Witness (SegWit). Причины и последствия обновления

Профессионал
Опубликовано Nov 25, 2019Обновлено Jun 13, 2023
6m

Содержание


Что такое SegWit?

Segregated Witness (SegWit) - это обновление протокола, разработанное в 2015 году. Данная концепция была представлена в качестве решения проблем с масштабируемостью, с которой сталкивались и продолжают сталкиваться блокчейн-сети. 

В среднем, сеть биткоина осуществляет валидацию нового блока с транзакциями каждые 10 минут. Таким образом, размер блока влияет на количество транзакций, которые могут быть подтверждены в каждом блоке. В настоящее время блокчейн биткоина способен обрабатывать около 7 транзакций в секунду.

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

Поскольку биткоин может предоставить только около 7 транзакций в секунду, обработка перевода в сети иногда может занимать большой промежуток времени по сравнению с традиционными платежными решениями и финансовыми сетями, которые могут обрабатывать тысячи транзакций в секунду.

SegWit было разработано в 2015 году биткоин-разработчиком Питером Уиллом и другими участниками Bitcoin Core. В августе 2017 года обновление было реализовано как софтфорк в сети биткоина.
На сегодняшний день, существует несколько криптовалютных проектов, использующих SegWit, в том числе Bitcoin и Litecoin. Обновление протокола принесло ряд преимуществ, таких как повышение скорости транзакций и улучшение пропускной способности. Кроме того, SegWit решает так называемую ошибку пластичности транзакций (об этом далее в статье).


Преимущества предусмотренные в SegWit

Увеличение пропускной способности

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

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

Без SegWit данные подписи могут занимать до 65% всего блока. SegWit позволяет удалять подписи из входных данных о транзакциях. Это приводит к увеличению вместительности блока с 1 МБ до примерно 4 МБ.

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

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


Увеличение скорости транзакций

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

Увеличенная скорость транзакций также помогла снизить операционные расходы в сети биткоина. До обновления обычным делом было заплатить более 30$ за транзакцию. SegWit резко снизил стоимость комиссии до менее чем 1$.


Исправление пластичности транзакций

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

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


SegWit и Lightning Network

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

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

Изначально Lightning Network был разработан исключительно для биткоина. Тем не менее, несколько других криптовалют и блокчейн-проектов работают над интеграцией данной технологии для своих сетей. Это может не только сократить время подтверждения транзакций, но и поспособствовать разработке новых решений проблем с масштрабируемостью.


SegWit и SegWit2x

SegWit - это софтфорк предусматривающий обратную совместимость. Другими словами, узлы в сети биткоина, которые не обновились, могут и дальше продолжать обрабатывать транзакции. Однако, также была предложена и другая версия SegWit под названием SegWit2x (S2X), которая подразумевает хардфорк сети.

Основное различие между SegWit и SegWit2x заключается в том, что вариант с хардфорком не только изменяет порядок пакетирования транзакций, но также и увеличивает размер блока (с 1 Мб до 2 Мб). Подобные изменения могут увеличить нагрузку на узлы и майнеров, по причине обработки большего объема данных. 

Еще одно заметное отличие заключается в том, что обновление SegWit было поддержано и реализовано биткоин-сообществом. Такое событие породило концепцию под названием UASF (от англ. user-activated soft fork), которая означает активируемый пользователями софтфорк.

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


Заключение

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

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

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