Активация обновления Taproot в сети биткоина может растянуться на несколько лет

Активация обновления Taproot в сети биткоина может растянуться на несколько лет

19.02.2020
0
Евгений Петлин

В сообществе разработчиков биткоина вновь всплыл вопрос о том, как лучше обновить программное обеспечение децентрализованной сети. Обсуждение связано с подготавливаемым на протяжении нескольких лет софт форком Taproot/Schnorr. Недавно он был оформлен в качестве предложения по улучшению биткоина (BIP), что стало важным шагом на пути к его запуску.

Само по себе обновление не вызывает особых споров среди разработчиков, чего нельзя сказать о механизме его активации, пишет CoinDesk. Как обновить всю сеть так, чтобы обеспечить обратную совместимость, где пользователи с более старыми версиями ПО смогут взаимодействовать с обновлёнными клиентами? Как лучше внедрить необходимые изменения, чтобы не нарушить работоспособность сети?

Необходимо прояснить, что код биткоина обновляется почти каждый день проектами с открытым кодом в глобальной сети разработчиков. Однако «консенсусные» изменения, которые распространяются на более глубинные уровни протокола, требуют софт форка, который, в свою очередь, должен проводиться при определённом уровне участия со стороны представителей экосистемы.

«Существует несколько моделей софт форков, движущихся к практической имплементации и распространению в будущем. Тем не менее, по различным причинам методы активации обсуждаются в ограниченном объёме», – написал контрибьютор Bitcoin Core Мэтт Коралло в email-рассылке для разработчиков биткоина в прошлом месяце, таким образом возобновив обсуждение этого вопроса.

Для активации софт форка рассматривается два основных варианта. BIP 9 использовался при запуске нескольких обновлений в прошлом. Он позволяет майнерам заблаговременно подготовиться к софт форку, чтобы избежать нарушений в работе сети. Главным возражением против этой модели является предоставление майнерам чрезмерно широких полномочий.

Альтернативный метод BIP 8 также известен как активируемый пользователями софт форк (UASF) – он запускается независимо от готовности майнеров. При определённых условиях этот метод может вызвать дополнительные трудности, предупреждает Коралло.

Уроки истории

Активное обсуждение этого вопроса протекало в 2017 году, когда BIP 9 использовался для активации софт форка Segregated Witness (SegWit). Чтобы избежать ситуации, когда майнеры могли бы добывать недействительные блоки и терять из-за этого деньги, было решено не запускать обновление, пока о своей готовности не сообщат 95% из них.

Большинство майнинг-пулов заявило, что они не станут поддерживать SegWit, если одновременно с ним не будет повышен лимит на размер блока. Создатель биткоина Сатоши Накамото установил его на уровне 1 Мб, таким образом строго ограничив объём данных, который может попадать в сеть с выпуском каждого блока раз в 10 минут.

Участники экосистемы биткоина встретили это требование в штыки, посчитав, что оно приведёт к централизации сети и не может быть выполнено, если сеть уже не является слишком централизованной.

В ходе разгоревшегося конфликта разработчик под ником Shaolinfry порекомендовал пользователям биткоина самим провести обновление. Согласно его предложению, пользователи и биржи должны были решить, какие изменения внедрять с софт форком, а майнеры последовали бы за ними, но не наоборот.

Множество пользователей биткоина в социальных сетях выразило готовность поддержать запуск SegWit через UASF и начало устанавливать необходимое ПО. Желаемый эффект был достигнут. За день до активации UASF майнеры начали сигнализировать в поддержку SegWit.

Разработчик биткоин-стартапа Blockstream Расти Рассел тогда извинился за то, что принимал участие в подготовке BIP 9. «Я не ожидал, что это достижение будет использоваться для шантажа сети. Это существенно меняет модель риска. BIP 8 теперь является гораздо более превосходным методом обновления сети, где майнеры могут лишь ускорить процесс, но не заблокировать его», – написал он.

Долгая память

Памятуя об этих событиях, некоторые разработчики хотят избежать использования BIP 9 при активации Schnorr/Taproot и последующих обновлений.

«Думаю, BIP 9 – это подтверждённый провал», – заявил разработчик Bitcoin Core Люк Dashjr, отвечая Коралло. Dashjr являлся одним из активных сторонников применения UASF для продвижения SegWit.

Разработчик Lightning Labs Алекс Босворт выразил похожее мнение, сославшись на недавние события, окружающие сеть Bitcoin Cash. Крупная группа майнеров Bitcoin Cash предложила взимать часть наград с каждого добываемого блока в пользу фонда развития криптовалюты, что стало ещё одним примером негативного влияния майнинг-пулов на децентрализацию сети.

«Мне известно, что о запуске софт форка принято говорить с дружественной к майнерам позиции. Но добрая треть текущего хеш-рейта только что организовала картель, чтобы украсть награды за блоки, – написал он. – Вялотекущий UASF мне кажется более уместным».

Гибридный подход

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

Например, BIP 9 и необходимая для активации через него поддержка 95% майнеров может предоставить своеобразную систему защиты. Если проблема возникнет на этапе, когда майнеры будут обновлять своё ПО, пулы смогут остановить изменения. При активации через UASF это будет сделать сложнее.

Коралло предлагает использовать гибридный подход. По его мнению, запуск софт форка необходимо начать с BIP 9, а затем, если это не удастся сделать на протяжении года из-за «необоснованных возражений», пользователи смогут обсудить дальнейшие сценарии в течение 6 месяцев и, если они решат, что действительно хотят провести обновление, организуются для активации в течение ещё одного года.

Разработчик призывает к терпению, поскольку оценка «необоснованности» возражений потребует времени. «Если [первый вариант] действительно провалится, процесс BIP 9 станет хорошей возможностью получить знания об уровне готовности сообщества и желании определённых изменений, – заявил он. – Разработка биткоина – это не гонка. Если придётся, ожидание в 42 месяца позволит избежать негативного прецедента, из-за которого нам пришлось бы сожалеть в дальнейшем».

Хотя Рассел возражал против BIP 9 в 2017 году, теперь он тоже поддерживает гибридный подход. «Поскольку попытка майнеров изменить блоки не сработала и мы не слишком пострадали от задержки, я не против активации через BIP 9, – сообщил он, но предложил ускорить процесс. – Возможно, год ожидания для BIP 9 – это слишком много. Лучше установить срок в 6 месяцев».

Тем временем, разработчики продолжают скрупулёзно проверять код Taproot/Schnorr на наличие возможных проблем, поэтому время для обсуждения способов активации ещё есть, но в конце концов какое-то решение принять всё же придётся.


Подписаться
Уведомить о
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x