Segregated Witness – обновление протокола блокчейна, впервые имплеменитрованное разработчиками Bitcoin Core в августе 2017 года. Обновление вызвало бурные дискуссии, в результате которых путём хардфорка был создан Bitcoin Cash.
Рассмотрим блокчейн биткоина:
Блоки устроены следующим образом:
Здесь Header – заголовок блока, состоящий из 6 элементов:
Здесь же Body – тело блока. Оно содержит список всех транзакций.
Сами транзакции состоят из двух элементов, входа и выхода:
Цифровая подпись отправителя очень важна, так как подтверждает наличие требуемой суммы на его счёте. Она записана во входных данных транзакции. Проблема с цифровой подписью заключается в том, что она занимает 65% веса транзакции. Соответственно, ими заполнены около 65% размера каждого блока (объём которого равен 1 Мбайт).
Segregated Witness был предложен для уменьшения размера каждой отдельно взятой транзакции с целью увеличения пропускной способности блокчейна. Идея заключается в том, что данные о цифровых подписях будут перенесены в отдельный, дополнительный блок.
SegWit: преимущества и недостатки
Преимущества:
- В блок помещается больше транзакций
- Уменьшается размер отдельно взятой транзакции
- Ускоряется процесс верификации
- Обновление частично решает проблему ограниченной масштабируемости
- Увеличивается суммарное вознаграждение за майнинг блока (за счёт увеличения числа транзакций в блоке)
Недостаток:
- Все кошельки и майнеры должны были самостоятельно установить обновление