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

С ростом популярности криптовалюты Биткоин в качестве платежного инструмента, острее становится вопрос скорости его сети. Конец прошлого 2017 года принес пользователям Bitcoin неприятную проблему: система перестала справляться с ростом количества транзакций, что привело к увеличению времени их обработки до нескольких часов, а то и суток. В дополнение к этому выросла комиссия за операции с криптовалютой — с нескольких центов до нескольких десятков долларов.

Для сравнения: система платежного провайдера Visa обрабатывает около 24000 транзакций в секунду, а сеть биткоина — всего 7. Кто захочет использовать платежную систему, пользоваться которой долго и дорого?

Разработчики предвидели возможность возникновения проблем с масштабированием и еще в 2012 году начали искать решение проблемы. Результатом поисков стала идея внедрения в систему биткоина поддержки протокола Segregated Witness (англ.: «отдельный свидетель»), позволяющего оптимизировать блокчейн без необходимости проведения хардфорка.

Первый публичный релиз технологии SegWit состоялся в октябре 2016 года. Но полную поддержку протокола для биткоина ввели только в последней версии Bitcoin Core 0.16, релиз которой состоялся 27 февраля 2018.

Как работает Segregated Witness

Чтобы понять принцип работы SegWit, нам нужно рассмотреть устройство блока блокчейна Bitcoin.

Как работает Segregated Witness

На текущий момент каждый блок биткоина имеет размер 1 мб. Из схемы видно, что большую часть его объема занимает «Дерево Меркла» — реестр хэшей (математических преобразований информации в короткую запись), содержащий записи транзакций (операций передачи либо получения криптовалюты), адреса кошельков отправления и назначения, а также цифровые подписи (они подтверждают право владельца кошелька передавать хранящиеся на нем средства другим участникам обмена).

Есть несколько путей оптимизировать блоки и одновременно увеличить пропускную способность сети:

  • Выпустить хардфорк (необратимое изменение структуры блокчейна, в результате которого появляются две отдельных его ветки, несовместимых друг с другом) для увеличения размеров блока до 2, 4 или 8 мб. Эта идея была предложена в 2015 году Джефом Гарзиком и Гевином Андерсеном. Однако деление биткоина на две новых сети не получило поддержки со стороны сообщества.
  • Оптимизировать внутренне пространство блока, при этом вынести часть информации во внешнюю систему, освобождая тем самым место для записи дополнительных данных. Это можно сделать не изменяя структуру блокчейна — произведя софт-форк (изменение структуры системы, в результате которого новая версия будет совместима со старыми данными и не вызовет разветвления цепочки на две).

Разработчики решили сосредоточиться на втором варианте и придумали простой способ помещать в блок в два раза больше информации без изменения его фактического размера: для этого было предложено вынести цифровые подписи из пространства блока в отдельную «пристройку» к блокчейну, а освободившееся место заполнять транзакциями. Воплощением этой идеи стал протокол Segregated Witness, основная цель которого — передавать на 60% больше данных об операциях в блокчейн, не изменяя при этом размер и структуру блока. После его активации, пропускная способность сети может увеличиться на 60–70%. Больше скорость — меньше комиссия за обработку транзакций.

Возникает вопрос: если не меняется структура блокчейна, почему его так долго не вводили?

Во-первых, чтобы ввести поддержку протокола SegWit в 2016 году необходимо было добиться его поддержки у 95% майнеров. Но в то время, крупные майнинг-пулы отказались от нововведения и разработчикам пришлось искать другой путь. В 2017 году они предложили использовать для активации не мощности майнеров, а добавить поддержку протокола на сами узлы сети (ноды). Подготовка и согласование запуска заняли полгода. Первое включение SegWit в сети биткоин состоялось 8 августа 2017.

Во-вторых, адреса SegWit имеют собственный формат и не совместимы со старым кодом. Не модифицированные узлы сети не могли видеть транзакции, поступающие в блокчейн с нового типа адресов. Разработка, тестирование, настройка и отладка алгоритмов работы заняла у команды Bitcoin Core еще полгода.

Результатом усилий разработчиков стала полная поддержка нового стандарта сетью биткоина. Создать новый тип адреса с поддержкой SegWit и осуществлять транзакции в новом формате теперь можно прямо из кошелька Bitcoin Core версии 0.16.

Всего за сутки с момента релиза количество транзакций в сети биткоина, совершаемых с поддержкой протокола Segregated Witness, выросло на 15% и составило 30% от всех операций.

Плюсы и минусы SegWit

Кроме решения проблемы масштабирования сети, внедрение поддержки SegWit дает и другие «бонусы»:

  • Внедрение SegWit упрощает реализацию других улучшений для блокчейна, таких как сеть Lightning Network, поддержка подписей Шнорра, и т.д. Благодаря этому экосистема сети биткоина получит мощный толчок к развитию.
  • Запуск протокола делает невозможным изменение подписей транзакций третьей стороной. Это значительно упрощает разработку смарт-контрактов, что значительно расширяет функционал блокчейна.

Конечно, есть аргументы и против:

  • Критики технологии SegWit считают, что его внедрение сделает систему более централизованной. Увеличение количества транзакций в блоке — лишь временное решение проблемы если нагрузка на сеть продолжит расти. Без дополнительных мер, типа запуска Lightning Network (еще одна «пристройка» к блокчейну, позволяющая обмениваться биткоинами практически моментально, без задержек на обработку), внедрение протокола может принести больше вреда чем пользы.
  • Вторая группа критиков считает, что надо не оптимизировать блоки, а увеличивать их размер. Отличным примером этих разногласий стало отделение от сети биткоина хардфорка Bitcoin Cash с размером блока, увеличенным до 8 мб.

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

Можно сказать с уверенностью: большинство пользователей видит в SegWit новый виток развития для всей системы Bitcoin, и моментальный рост его использования сразу после релиза — явное тому подтверждение. Он не станет временным решением проблемы масштабирования — сеть Lightning Network уже активно тестируется энтузиастами. О ней мы поговорим в следующей статье.

Совсем плохоПлохоНормальноХорошоСупер (Поставьте, пожалуйста Вашу оценку материалу. Спасибо :))


Загрузка...

Читайте также: