Несмотря на энтузиазм максималистов биткойна, которые считают биткойн идеальным с самого начала, первоначальный дизайн блокчейна не был без недостатков.
Среди наиболее значительных проблем были масштабируемость транзакций и изменчивость**.** Это были самые большие препятствия для реализации потенциала биткойна как глобальной валюты и которые препятствовали его более широкому применению.
Масштабируемость транзакций относится к количеству транзакций, которые может обрабатывать биткойн**.** Биткойн был запрограммирован на обработку 1 МБ транзакций примерно каждые 10 минут. Это составляет около 4,6 транзакций в секунду. Однако по сравнению с Visa, которая обрабатывает около 1700 транзакций в секунду, проблемы масштабируемости, препятствующие более широкому использованию биткоина, очевидны.
Изменчивость транзакции - это возможность изменить идентификатор транзакции до ее подтверждения в блокчейне. Это означает, что злоумышленники могут аннулировать следующую транзакцию, которую делает получатель. Эта особенность биткойна затрудняет создание решений второго уровня, поскольку второй уровень зависит от согласованности базового уровня.
SegWit не только помогает устранить эти две проблемы с исходной сетью биткойна, но и его решение открывает совершенно новый мир вариантов использования для биткойна.
В этой статье будет подробно описана история, внутреннее устройство и влияние SegWit на мир биткойна.
SegWit - это предложение, выдвинутое Dr. Pieter Wuille в декабре 2015 года, которое предполагало переформатирование состава биткойн-транзакции.
Обычная биткойн-транзакция представляет собой комбинацию адреса отправителя, адреса получателя и цифровой подписи, подтверждающей, что отправитель владеет необходимым количеством биткойнов.
https://medium.com/@lorenzoprotocol/a-beginners-guide-to-bitcoin-02f6e5e79cf6
Доктор Вюйле предложил «отделить» данные подписи, также известные как данные свидетеля, от основной транзакции. Отсюда и название SegWit — отделение данных свидетеля.
Это обновление — гениальный способ хранить больше транзакций в пределах ограничения размера блока биткойна в 1 мегабайт. Вот как это делается.
SegWit перемещает данные подписи/свидетеля из основной транзакции в отдельную структуру. Эти данные по-прежнему передаются, но только в качестве вложения в конце транзакции.
Оставляя данные свидетеля пустыми в основной транзакции, можно разместить больше транзакций в оставшемся пространстве, не превышая первоначального ограничения в 1 МБ.
SegWit может это сделать, введя новый формат транзакции, совместимый с исходным форматом. Новый формат блока включает расширение блока на 3 МБ - новое местоположение данных свидетеля. Это переформатирование означает, что размер блока становится 4 МБ, в то время как размер основной транзакции остается всего 1 МБ.
При трансляции транзакции SegWit узлы, которые были обновлены для поддержки SegWit, распознают новый формат и могут обрабатывать транзакцию с данными свидетеля отдельно. Нет необходимости в хардфорке, так как размер основной транзакции остается точно таким же.