
Segregated Witness (SegWit) — крупное техническое обновление блокчейна Bitcoin, официально внедренное в августе 2017 г. Оно изменяет структуру блока, отделяя подписи транзакций (witness data) от основной информации, помещая их в отдельную структуру данных. Такой подход эффективно устраняет проблему изменяемости транзакций в сети Bitcoin, увеличивает емкость блоков, повышает эффективность работы сети и закладывает фундамент для решений второго уровня, например, Lightning Network.
Идею Segregated Witness впервые предложил разработчик Bitcoin Core Питер Вюлле в декабре 2015 г. на семинаре Scaling Bitcoin в Гонконге. В тот период сеть Bitcoin сталкивалась с серьезными трудностями масштабирования: ограничение размера блока в 1 МБ вызывало перегрузку транзакциями и рост комиссий. Кроме того, уязвимость изменяемости позволяла изменять идентификаторы транзакций до их подтверждения, что мешало развитию сложных платежных каналов.
На фоне ожесточённых дебатов внутри сообщества Bitcoin о путях решения проблемы масштабирования, SegWit был предложен как обновление типа soft fork, способное увеличить эффективную емкость блока без нарушения консенсуса и устранить изменяемость транзакций. После полутора лет разработки и тестирования SegWit был реализован посредством BIP 141 и успешно активирован в августе 2017 г. после достижения необходимого порога.
Основной принцип SegWit — реорганизация транзакций, включающая:
Разделение данных — данные witness (подписи и скрипты) отделяются от основной информации транзакции и помещаются в отдельную структуру witness.
Изменение расчёта веса — при определении размера блока witness-данные учитываются с пониженным значением: 0,25 weight units (весовые единицы) на байт, тогда как остальная информация сохраняет вес в 1 weight unit. Это позволяет включать больше транзакций в блок, увеличивая лимит размера примерно до 4 МБ.
Новый формат адресов — введены Bech32-адреса, начинающиеся с "bc1", специально предназначенные для транзакций SegWit, обеспечивающие лучшую обнаруживаемость ошибок и компактные QR-коды.
Изменение расчета идентификатора — подписи больше не включаются при вычислении txid (идентификатора транзакции), что устраняет проблему изменяемости и гарантирует неизменность идентификатора после отправки.
Технически SegWit вводит новые версии правил скриптов для системы Bitcoin: транзакции прежнего формата помечаются версией 0, а транзакции SegWit — версией 1. Это обеспечивает обратную совместимость и позволяет не обновленным узлам продолжать валидацию блокчейна.
Несмотря на очевидные преимущества SegWit, его внедрение сопровождалось рядом рисков и вызовов:
Темпы внедрения — как опциональный механизм, SegWit требовал активной интеграции кошельками и биржами, что привело к относительно медленному первоначальному росту использования.
Техническая сложность — внедрение SegWit потребовало глубоких изменений в программном обеспечении кошельков, увеличив нагрузку на разработчиков и вероятность ошибок.
Раскол сообщества — активация SegWit вызвала серьёзные разногласия внутри сообщества Bitcoin, что привело к форку сети и появлению Bitcoin Cash.
Вопросы безопасности — новые правила проверки скриптов (scripts) и формат адреса потребовали тщательных испытаний для предотвращения новых уязвимостей.
Переходный период — до полного перехода на SegWit поддержка обоих типов транзакций увеличивала сложность работы сети.
Тем не менее, успешная активация SegWit стала важной вехой технической эволюции Bitcoin. Это показало, что масштабные обновления можно реализовать посредством soft fork.
SegWit — ключевой этап в развитии технологий Bitcoin: он устраняет критические проблемы и открывает путь для будущих инноваций. Решив проблему изменяемости, SegWit обеспечил развитие масштабируемых решений второго уровня, таких как Lightning Network, и позволил Bitcoin расширять возможности в долгосрочной перспективе. Внедрение через soft fork подчеркнуло сложность управления блокчейном, обновлений и трудности достижения консенсуса в децентрализованных системах. Со временем SegWit получил широкое признание и стал стандартом в сети Bitcoin, подтвердив свою техническую состоятельность и разумность архитектуры.


