Segregated Witness (сокращенно SegWit) — это обновление протокола Биткоина, разработанное для повышения масштабируемости и безопасности сети.
SegWit — это обновление, разделяющее данные транзакции и данные «свидетелей», в которые входят цифровые подписи.
Внедрение SegWit изменило формат транзакции: в нем появилось новое поле «свидетель». Оно содержит цифровые подписи, публичные ключи и другие элементы. Эти данные отделяются от остальной части транзакции и не учитываются при определении размера блока, за счет чего SegWit освобождает дополнительное место в блоке.
SegWit был создан в 2015 году разработчиком Биткоина Питером Уилле в партнерстве с другими участниками Bitcoin Core. В августе 2017 года обновление было реализовано в виде софтфорка в сети Биткоина.
Без SegWit данные подписи могут занимать до 65% всего блока. SegWit позволяет удалять подписи из входных данных о транзакциях, увеличивая вместительность блока с 1 МБ до почти 4 МБ.
Поскольку благодаря SegWit блоки вмещают больше транзакций, их скорость тоже увеличилась. В результате повысилось TPS сети (число транзакций в секунду).
Обновление SegWit вызвало немало споров в сообществе Биткоина. Внедрение этого обновления даже стало одним из причин создания Bitcoin Cash — форка Биткоина с увеличенным размером блока без использования SegWit.
Некоторые считают SegWit слишком сложным обновлением, которое подвергает сеть потенциальным рискам и угрозам. Критики указывают на потенциальные проблемы такого решения, в том числе вероятность, что некоторые транзакции сможет потратить кто угодно.