Глоссарий

Segregated Witness (SegWit)

Сложность: высокая

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

Что такое Segregated Witness (SegWit)?

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

SegWit был активирован в августе 2017 года, через два года после того, как был предложен разработчиком Биткоина Питером Виулле (Peter Wiulle) во время конференции Scaling Bitcoin в 2015 году. Его буквальное значение - "сегрегация подписей транзакций", а реализованное обновление породило на свет концепцию UASF, что означает активированный пользователями софтфорк (англ. "user-activated soft fork").

Причина внедрения SegWit была проста. Блокчейн Bitcoin был очень медленный по современным стандартам, обрабатывая в среднем всего по семь транзакций в секунду (TPS). Когда цены на Bitcoin растут, активность в сети возрастает, что приводит к перегрузке сети, повышению комиссий и очень длительным периодам обработки подтверждений.

Чтобы ускорить подтверждения, SegWit модифицирует механизм, чтобы не включать подписи, которые занимают до 60% транзакции.

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

Это также обеспечивает исправление безопасности, так как входной идентификатор транзакции может быть изменен, чтобы обманным путем получить Биткоин от отправителя. Поскольку подпись перемещается, по сути, в конец транзакции, транзакция теперь не может быть подделана.

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