В сообществе разработчиков биткоина вновь всплыл вопрос о том, как лучше обновить программное обеспечение децентрализованной сети. Обсуждение связано с подготавливаемым на протяжении нескольких лет софт форком Taproot/Schnorr. Недавно он был оформлен в качестве предложения по улучшению биткоина (BIP), что стало важным шагом на пути к его запуску.
Само по себе обновление не вызывает особых споров среди разработчиков, чего нельзя сказать о механизме его активации, пишет CoinDsk. Как обновить всю сеть так, чтобы обеспечить обратную совместимость, где пользователи с более старыми версиями ПО смогут взаимодействовать с обновлёнными клиентами? Как лучше внедрить необходимые изменения, чтобы не нарушить работоспособность сети?
Необходимо прояснить, что код биткоина обновляется почти каждый день проектами с открытым кодом в глобальной сети разработчиков. Однако «консенсусные» изменения, которые распространяются на более глубинные уровни протокола, требуют софт форка, который, в свою очередь, должен проводиться при определённом уровне участия со стороны представителей экосистемы.
Для активации софт форка рассматривается два основных варианта. 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 и последующих обновлений.
Разработчик Lightning Labs Алекс Босворт выразил похожее мнение, сославшись на недавние события, окружающие сеть Bitcoin Cash. Крупная группа майнеров Bitcoin Cash предложила взимать часть наград с каждого добываемого блока в пользу фонда развития криптовалюты, что стало ещё одним примером негативного влияния майнинг-пулов на децентрализацию сети.
Гибридный подход
Прочие призывают с осторожностью подходить к UASF, поскольку активация софт форка на основе одного лишь этого метода может привести к внедрению в биткоин нежелательных изменений.
Например, BIP 9 и необходимая для активации через него поддержка 95% майнеров может предоставить своеобразную систему защиты. Если проблема возникнет на этапе, когда майнеры будут обновлять своё ПО, пулы смогут остановить изменения. При активации через UASF это будет сделать сложнее.
Коралло предлагает использовать гибридный подход. По его мнению, запуск софт форка необходимо начать с BIP 9, а затем, если это не удастся сделать на протяжении года из-за «необоснованных возражений», пользователи смогут обсудить дальнейшие сценарии в течение 6 месяцев и, если они решат, что действительно хотят провести обновление, организуются для активации в течение ещё одного года.
Разработчик призывает к терпению, поскольку оценка «необоснованности» возражений потребует времени.
Хотя Рассел возражал против BIP 9 в 2017 году, теперь он тоже поддерживает гибридный подход.
Тем временем, разработчики продолжают скрупулёзно проверять код Taproot/Schnorr на наличие возможных проблем, поэтому время для обсуждения способов активации ещё есть, но в конце концов какое-то решение принять всё же придётся.
Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram.
Обсудить актуальные новости и события на Форуме