Что такое SegWit?

SegWit (сокращение от Segregated Witness) - это обновление протокола, которое изменяет способ хранения данных. Он был активирован на litecoin 10 мая 2017 года и на биткоине 23 августа 2017 года.

Разработчик Pieter Wiulle впервые представил эту идею на конференции Scaling Bitcoin в декабре 2015 года.

Многие приветствовали эту идею как долгожданное решение проблемы масштабирования биткоина. Максимальный размер блока в основном протоколе составляет 1 МБ, это ограничивает количество транзакций, которые биткоин может обрабатывать, около 7-ми в секунду. Это могло сильно сдержать потенциальный рост первой криптовалюты и помешать стать широко используемой платежной системой.

Хотя обновление делает возможным проведение большего количества транзакций в блоках биткоина, первоначальное намерение SegWit состояло в том, чтобы исправить ошибку в коде биткоина, называемом транзакционной податливостью. Этот недостаток позволял кому-либо изменять мелкие детали, которые изменяли идентификатор транзакции (и последующий хеш), но не содержание. Хотя это и не является критичной проблемой для биткоина, это препятствовало разработке более сложных функций, таких как протоколы второго уровня и интеллектуальные контракты.

SegWit фиксирует транзакционную податливость, удаляя информацию подписи (иначе известную как информация о свидетеле) и сохраняя ее за пределами базового блока транзакций. При этом подписи и скрипты могут быть изменены без влияния на идентификатор транзакции.

Уменьшение

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

SegWit представила новую концепцию «вес блока». Это уменьшение размера блока с данными подписи и без них, что ограничено 4 МБ, тогда как ограничение размера блока для базовых транзакций остается на уровне 1 МБ. Это означает, что обновление SegWit совместимо с предыдущим протоколом, и отпадает необходимость в проведение хардфорка (hardfork).

Таким образом, SegWit не увеличивает ограничение размера блока, но позволяет включить большее количество транзакций в пределах блоков 1 МБ. Объем 4MB включает в себя данные SegWit, которые технически не составляют часть базового блока транзакций 1 МБ.

Lightning Network

(Еще один большой шаг вперед, сделанный SegWit, заключается в том, что он поддерживает разработку протоколов второго уровня, таких как Lightning Network (LN).

Lightning Network еще больше увеличит транзакционную способность биткоина, приняв частые мелкие транзакции вне сети. С помощью специального трекера есть возможность отслеживать появление новых нод LN.

Активация SegWit также способствовала развитию работы над другими функциями, такими как MAST (что позволяет создавать более сложные биткоин-смарт-контракты), подписи Schnorr (что позволит повысить производительность транзакций) и TumbleBit (анонимная сеть верхнего уровня).

Не все счастливы

Не все в крипто-сообществе согласны с тем, что SegWit - это решение, которое необходимо биткоину. Некоторые считают, что это в лучшем случае временное исправление.

Устойчивость к SegWit была одним из факторов, лежащих в основе разработки BitcoinCash, форка биткоин-сети, в котором решили реализовать более крупный размер блока, а не полагаться на новую структуру транзакций.

Где мы сейчас?

Несмотря на очевидные преимущества, обновление идет медленно. Всего 14% транзакций использовали новый формат. По мере увеличения количества кошельков, связанных с обновлением, процент транзакций, использующих структуру SegWit, будет увеличиваться, а плата должна снижаться, поскольку блоки содержат большее количество транзакций. Кроме того, разработка Lightning Network и аналогичных протоколов второго уровня должна стать более стимулирующей, увеличивая масштабы и потенциал биткоина. Это вряд ли произойдет в одночасье, но изменение является важным и представляет собой большой шаг вперед.