Что такое SegWit простыми словами

При перечислении характеристик Bitcoin принято упоминать, что эту криптовалюту можно использовать как платежный инструмент. Действительно, вы можете купить себе товар или какую-то услугу за биткоин.

Однако покупка эта не будет носить мгновенный характер, как в случае с вашими пластиковыми картами VISA. Потому что сеть Bitcoin в секунду может обрабатывать лишь 3 транзакции, а VISA – 1000.

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

Что такое Сегвит

Segwit logo

Segwit – это сокращение от термина Segregated Witness, который дословно можно перевести как «отделенный свидетель». Понять значение этого термина будет легче после рассмотрения структуры транзакции в сети Bitcoin. Она (транзакция) состоит их двух частей:

  • Основная информация (кто отправляет, кому, сколько)
  • Информация свидетеля или witness, в которой содержится специальный криптографический код (подпись). Этот код является подтверждением того, что участник совершил транзакцию.

Часть witness и являлась/является проблемной для блокчейна, потому что формально эту подпись можно изменить уже после того, как она появилась в блоке. Это не значит, что биткоины не будут переведены от участника к участнику. Но это усложняет все новые транзакции, так как блокчейн – это цепочка блоков. Из-за неподтверждённых транзакций замедляется скорость новых транзакций, так как они «вытягивают» данные с прошлой транзакции.

Проще говоря, в Bitcoin сложно делать быстрые переводы и сложно внедрять масштабные обновления из-за особенностей текущего протокола. Эту проблемную особенность сети часто называют «ошибкой транзакционной пластичности». На фоне этого и началось движение за внедрение SegWit.

Как появился SegWit

О необходимости модернизации прокола Bitcoin начали говорить еще в 2012 году. В частности, о возможных путях решения ошибки транзакционной пластичности говорили разработчики Bitcoin-Core Рассел Оконнор, Люк Дашир, Грегори Максвелл и другие.

В августе 2014 Максвелл, криптограф Адам Бэк и Питер Вуйле запустили компанию Blockstream, которая занималась изучением блокчейна. Именно в этой среде они нашли решение проблемы с Witness. Разработчики решили отделять эту часть данных от Базовой части транзакции. Эту функцию они назвали Segregated Witness.

Хардфорк или софтфорк?

Параллельно появилась еще одна идея по оптимизации блокчейна биткоина – через увеличение размера блока (по умолчанию – 1 мегабайт). Такой «трюк» можно было провернуть только путем хардфорка – жесткого разделения сети путем внедрения несовместимых с нынешним протоколом изменений. В то время как Segwit представлял собой софтфорк, так как протокол обновлялся лишь частично. Одним из главных сподвижников идеи увеличения размера стал Гэвин Андерсон, ранее возглавлявший команду разработчиков Bitcoin-Core.

Но изначально и команда Segwit не знала, как провести модернизацию протокола без хардфорка. В конце 2015 в Монреале и Гонконге прошли две конференции, посвященные проблемам масштабируемости биткоина.

И между этими мероприятими Вуйле, Дашир и некоторые другие разработчики придумали как провести Segwit через софт-форк. Для этого данные о Witness необходимо поместить в новую часть блока. А их якорь (Merkle Root) записывать в транзакцию по раздаче вознаграждения майнерам. Это позволило как бы «сэкономить» место в текущем блоке и увеличить его размер без фактического увеличения. Это позволило бы решить вопрос с масштабируемостью сети. Уже в Гонконге Вуйле и компания впервые презентовали Segwit.

Был создан специальный код BIP141. Одновременно с этим группа майнеров настаивала на хардфорке и увеличении размера блока (до 2 МБ). И между сторонами было подписано компромиссное соглашение, которое включало активацию Segwit и хардфорк с увеличением размера блока.

Уже в октябре 2016 года Сигвит представили в версии Bitcoin Core 0. 13. 1. Для активации функции необходимо было добиться поддержки 95% майнеров, а точнее 95% вычислительной мощности сети. Однако майнеры, в частности пул ViaBTC, отказался активировать Segwit из-за возможных убытков. На время судьба Segregated Witness подвисла в воздухе.

Однако, уже в апреле 2017 было сформировано предложение UASF. Суть его такова: активация Segwit достигается в результате поддержки 95% нодов (узлов), а не 95% майнеров. Автор этой идеи презентовал свой код – BIP148. В чистом виде UASF приняли не все разработчики Bitcoin-Core, поэтому было разработано улучшенное предложение BIP149.

В мае состоялась встреча в Нью-Йорке, где было подписано Нью-Йоркское соглашение. Этот акт должен был стать очередным компромиссом между двумя лагерями: сторонниками Segwit через софт-форк и сторонниками хардфорка. По итогам конференции, было решено уменьшить порог консенсуса для активации Segwit до 80% и провести хардфорк в течение полугода после активации. При этом Вуйле и другие ведущие разработчики Bitcoin-Core не участвовали в этом мероприятии.

Segwit – соглашение о консенсусе

На фоне этого новую волну популярности получило предложение UASF (BIP148). И Bitcoin-сообществу снова потребовался компромисс. Им стало предложение инженера из Bitmain Джеймса Хилларда – BIP91, которое сочетало в себе предложения BIP148 и положения Нью-Йоркского соглашения. В итоге Segwit был активирован именно в формате BIP91 8 августа. За неделю до этого группой майнеров, не согласных с положениями Segwit, был проведен хардфорк, в результате чего появился Bitcoin Cash.

А потом в сети Bitcoin провалилось принятие Segwit2x и был проведен другой хардфорк в результате чего появилась криптовалюта Bitcoin Gold.

Задачи и проблемы, которые решает Segwit

Segregated Witness – это реставрация сети Bitcoin, которая должна решить проблемы пластичности транзакций и адаптировать блокчейн к новым реалиям. Количество и объем операций постоянно растет, поэтому вопрос масштабируемости всегда был одним из ключевых. Segwit оптимизирует процесс транзакций и создаст условия для последующего увеличения размера блока. Вот список «проблем» и «задач», которые должен решить Segwit:

  • Удаление подписи с данными Witness из блока, что способствует увеличению его размера и повышению пропускной способности всей сети;
  • Уменьшение размера транзакции в среднем на 48%. Это значит, что в один блок поместится в два раза больше транзакций даже без увеличения его объема (1 МБ);
  • Уменьшение размера блокчейна, что сэкономит дисковое пространство для полноценных узлов (нодов);
  • На синхронизацию и запуск ноды будет уходить меньше времени, упростится и процесс проверки статуса транзакции;
  • Сеть можно будет подключать к протоколам второго уровня вроде Lightning Network, а в перспективе даже возможна реализация кроссчейновых переводов;
  • Потенциальное введение мгновенных обменов криптовалюты на фиат без задействования бирж и обменных сервисов;
  • Усиленный механизм защиты от спам-атак.
    Так что Segwit затрагивает такие важные для Bitcoin аспекты как масштабируемость, уровень защиты и взаимодействие с новыми протоколами.

Кто поддерживает Segwit

Главными контрибьюторами идеи Segwit все эти годы выступали разработчики основного клиента для Bitcoin – Bitcoin-Core. Позже они также начали работать в новом стартапе Blockstream, о котором мы упоминали выше. Один из продуктов этой компании – это протокол Lightning Network.

Список «основных действующих лиц» в табличном варианте:

Имя/псевдоним Кто это и какой вклад внес в Segwit
Грегори Максвелл Разработчик Bitcoin-Core и BlockStream. Одним из первых начал обсуждать проблему пластичности транзакций в сети в 2012 году. В 2015 предложил план масштабирования. В 2017 обнаружил, что в чипе ASIC от Bitmain используется технология, которая несовместима с майнингом Bitcoin после Segwit.
Люк Дашир Разработчик Bitcoin-Core. С самого начала настаивал на проведении Segwit без хардфорка.
Питер Вуйле Разработчик Bitcoin-Core и Blockstream. Первым презентовал концепцию Segregated Witness осенью 2015 года на конференции «Масштабируя Bitcoin» в Гонконге.
Владимир Ван дер Лаан Разработчик Bitcoin-Core. Первым опубликовал код Segregated Witness на Github.
Shaolinfry Анонимный разработчик, который ранее состоял в команде Litecoin. Предложил компромиссное решение UASF, положения которого потом использовались при подписании Нью-Йоркского соглашения.
Чарли Ли Создатель Litecoin, в мае 2017 активировал Segregated Witness в сеть лайткоина.
Джеймс Хиллард Инженер из Bitmain, ему принадлежит код BIP91, сочетавший в себе предложения разработчиков Core и противников Segwit. В итоге этот протокол и был активирован.

Основные преимущества Segregated Witness

Внедрение Segwit по крайней мере на бумаге способно существенно улучшить сеть Bitcoin. Вот какие основные преимущества приписывают Segregated Witness:

  • Благодаря внедрению нового протокола будут устранены все варианты изменения подписи транзакции третьей стороной. Это в свою очередь упрощает разработку новых смарт-контрактов, например тех, которые используются в Lightning Network.
  • Размер транзакции становится меньшим, при этом количество данных, передаваемых во время транзакции, не меняется. Это стало возможным из-за перемещения подписи данных. В результате этого блоки в Segwit-сети фактически будут иметь объем 1,7-2,0 мегабайта. Это значительно увеличит пропускную способность блокчейна.
  • Будет изменен порядок начисления комиссионных сборов, что приведет к их снижению. То есть транзакции станут дешевле, а «маржа» с них будет определяться сразу.
  • После принятия Segwit имплементация новых софт-форков станет намного проще. Это позволит реализовывать новые идеи по повышению безопасности. Например, изменить подписи ECDSA на более надежный стандарт Schnorr.
  • Изменится функция sighash станет линейной, а не экспоненциальной, что с положительной стороны отобразится на скорости валидации блоков и безопасности транзакций. Это также упростит работу с аппаратными кошельками и создаст улучшенные условия для производителей в этом секторе.
  • Переводы смогут делать и участники, принявшие Segwit, и те, кто отказался это сделать. При этом юзеры с обновленным протоколом будут работать с меньшими комиссиями.

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

Аргументы против Segwit

Segwit все еще не принят полностью сетью. И критики нового протокола считают, что на это могут уйти год, а может и больше. Ведь количество нодов уже сейчас превысило 10 000.

Далеко не все уверены, что предложенные улучшения и нововведения Segregated Witness будут интегрированы. Ведь количество участников и транзакций будет увеличено, и в будущем даже 2 мегабайт реального размера блока будет мало для потребностей экосистемы.

Технологический аспект оспорить очень сложно, потому что не так много программистов на хорошем уровне разбирается в коде. Поэтому большинство аргументов против имеют экономический и политический подтекст.

Противники Segwit считают, что протокол централизует систему, так как количество неподтверждённых транзакций с увеличением размера блока также возрастет. А это в свою очередь оголит сеть и сделает ее уязвимой к хакерским атакам.

Пулы и отдельные разработчики считают, что принятие Segwit продиктовано экономической выгодой компании BlockStream, которой принадлежит протокол Lightning Network. Технически внедрение Lightning Network без Segwit практически невозможно, поэтому группа разработчиков BlockStream, включая Митчелла и Дашира так активно ратовали за активацию обновления.

Кто-то пошел на радикальные меры. Как команда Bitcoin Cash, которая провела хардфорк Bitcoin и создала новую сеть с размером блока в 8 мегабайт. Биткоин кэш ударно дебютировал на криптовалютном рынке и рассматривается многими как потенциальный конкурент BTC в борьбе за лидерство по капитализации.

Совсем оголтелые противники считают, что Segwit может вызвать юридические проблемы. Это мнение ничем не подкреплено.

Что такое SegWit2x и чего от него ожидать?

Один из пунктов Нью-Йоркских соглашений, подписанных в мае 2017 года, подразумевал проведение Segwit2x – хардфорка, после которого размер блока должен был увеличится до 2 мегабайт. Раскол был запланирован на середину ноября и сулил неопределенностью для криптовалютного рынка. Фактически Bitcoin разделился бы на две сети со своей монетой, правилами и стандартами.

Segwit2x с одной стороны решал проблему масштабируемости сети, с другой ставил всю безопасность сети под угрозу. Например, там не было механизма защиты от двойного расходования, а потенциальная активация могла негативно отобразится на инвесторах и даже майнерах. Однако, 8 ноября один из инициаторов Segwit2x и по совместительству руководитель сервиса BitGo Майкл Белш объявил, что запланированный форк отменяется.

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

Почему Segwit2x был отменен? Сообщество разработчиков крайне негативно относилось к этому форку. В Online-среде была запущена кампания NO2X. И даже некоторые майнеры считали, что такой шаг мог подорвать всю сеть. Глава Blockchain.info Питер Смит, который изначально поддерживал идею Segwit2x, высказался следующим образом:

«Мы вздохнули с облегчением, ведь наша цель заключалась в том, чтобы объединить сообщество и сохранить большинство пользователей в рамках одной ветки — хотя бы на какое-то время».

Вероятно, проведение Segwit2x отложено до «лучших времен». Винни Лингхэм, основатель проекта Civic, считает, что отказ от хардфорка спровоцирует рост популярности Bitcoin Cash из-за увеличенного размера блока. Это потенциально и может стать толчком для проведения Segwit2x в будущем. Оно и покажет реальные мотивы сторонников хардфорка: хотят ли они улучшить сеть, или же «по-рейдерски» захватить Bitcoin.

Заключение

Термин Segwit продолжит мелькать в криптовалютных новостях и флеймах еще долгое время, наряду со словами хардфорк, ethereum, блокчейн, биткоин голд и так далее. Теперь вы хотя бы поверхностно знаете, что это такое. Остается верить, что Segwit – это не просто красивый термин, а реальный инструмент улучшения сети Bitcoin.

Бесплатный базовый курс Bitcoin

Узнай больше чем 99% населения о Биткоин и других криптовалютах. Получай короткие и ёмкие Email с обучающими статьями каждый день в течение 7 дней. Каждый урок займет до 10 минут чтения. Отписка в любой момент одним кликом.