Эта статья составлена и организована BlockWeeks
Merge — это переход Ethereum от консенсуса proof-of-work (PoW) к proof-of-stake (PoS), а также самое сложное и радикальное изменение кода в истории Ethereum. Процесс его активации отличается от любого предыдущего хард форка: он состоит из трех основных этапов и требует, чтобы операторы узлов перешли от запуска только одного программного клиента к одновременному запуску двух клиентов. Как крупнейший в мире универсальный блокчейн по рыночной капитализации и общей заблокированной стоимости, Ethereum ставит на карту огромную ценность и репутацию в ходе этого перехода.
Что должен решить Merge: слияние двух цепей
В настоящее время транзакции Ethereum финализируются через протокол консенсуса PoW под названием ethash. Параллельно с этой PoW-цепью работает Beacon Chain — независимый блокчейн, который с декабря 2020 года самостоятельно запускает новый протокол консенсуса Ethereum PoS Gasper.
Цель Merge — слить две цепи: заставить существующий блокчейн Ethereum полностью полагаться на Beacon Chain для достижения сетевого консенсуса и полностью отказаться от proof-of-work. Ethereum, который мы знаем сегодня, больше не будет обрабатывать транзакции через ethash, а будет существовать только как слой исполнения (Execution Layer, EL), чтобы децентрализованные приложения и пользователи могли транслировать транзакции. Виртуальная машина Ethereum (EVM), вычислительный движок Ethereum, продолжит нормально работать на слое исполнения.
Beacon Chain затем становится слоем консенсуса Ethereum (Consensus Layer, CL): транзакции со слоя исполнения принимаются, обрабатываются и финализируются здесь. Упаковка транзакций слоя исполнения в блоки и их финализация через протокол Gasper станет обязанностью валидаторов Beacon Chain. После Merge, чтобы следовать основной цепи Ethereum, все валидаторы и операторы полных узлов должны одновременно запускать два программных клиента — клиент слоя исполнения и клиент слоя консенсуса.
Шаг первый: хард форк Bellatrix
Сначала слой консенсуса Ethereum выполняет хард форк под названием Bellatrix. Bellatrix вводит новую структуру блока Beacon Chain на слое консенсуса, чтобы вмещать блоки, несущие транзакции слоя исполнения. Он также встраивает набор инструкций, чтобы узлы слоя консенсуса не начинали вставлять транзакции слоя исполнения в блоки beacon до тех пор, пока слой исполнения не достигнет определенной «терминальной общей сложности» (Terminal Total Difficulty, TTD). Все узлы слоя консенсуса должны обновиться до Bellatrix до указанной высоты слота (эквивалент высоты блока в PoW-цепи). После завершения Bellatrix узлы слоя консенсуса начинают отслеживать TTD.
Ключевой дизайн: почему используется TTD, а не высота блока
Терминальная общая сложность измеряет совокупную сложность майнинга слоя исполнения Ethereum. Здесь «сложность» означает, насколько трудно майнерам добавить новый блок в блокчейн, отражая, сколько комбинаций майнерам обычно нужно перебрать, чтобы найти правильный хеш, генерирующий следующий блок. По мере роста вычислительной мощности (хешрейта), вносимой майнерами, сложность автоматически возрастает. TTD — это сумма сложности майнинга всех блоков в истории Ethereum.
Исторически активация хард форков слоя исполнения никогда не полагалась на конкретный TTD, а скорее на заранее установленную высоту блока. Merge отказался от этого подхода из-за возможности атаки «быстрого форка»: злоумышленник мог бы использовать меньшинство хеш-мощности, чтобы форкнуть слой исполнения и намайнить до указанного номера блока быстрее, чем основная цепь. Если бы это произошло, слой консенсуса мог бы по ошибке завершить слияние с цепью меньшинства злоумышленника, а не с основной цепью. Поэтому разработчики выбрали TTD в качестве порога для запуска Merge, поскольку злоумышленникам гораздо труднее манипулировать им.
Но использование TTD в качестве порога также имеет свою цену: TTD — это крайне трудно предсказуемое значение, что также делает прогнозирование времени активации Merge после Bellatrix сложным и неточным. Это последствие проявилось, когда основные разработчики впервые попытались активировать Merge в тестовой сети Ropsten — первоначальная настройка TTD была неточной, что привело к отклонению времени активации от ожиданий.
Шаг второй и шаг третий: Париж и переключение уровня исполнения
Когда уровень исполнения достигает порога TTD, запускаются два предложения по обновлению уровня исполнения, одно из которых — EIP-4399: он изменяет способ генерации случайности в сети, больше не полагаясь на сложность майнинга для генерации случайных целых чисел для децентрализованных приложений (dApps). Оба EIP активируются одновременно в момент достижения TTD. В то же время узлы уровня консенсуса, которые ожидали и отслеживали это значение TTD, также начинают с этого момента обрабатывать транзакции от уровня исполнения.
Необходимо подчеркнуть темп выпуска клиентов и коммуникацию с заинтересованными сторонами. Для подготовки к хардфорку Bellatrix Фонд Ethereum, как ожидается, опубликует сообщение в блоге за несколько недель до этого, перечислив версии клиентов, соответствующие обновлениям Париж и Bellatrix, чтобы операторы узлов могли загрузить их заранее. В эти первоначальные версии будет введено необычно большое значение TTD в качестве заполнителя. Поскольку Bellatrix активируется на определенной высоте слота, дата и расчетное время этого обновления также будут сообщены соответствующим сторонам.
После завершения Bellatrix новое значение TTD будет снова сообщено операторам узлов через второе сообщение в блоге. На этот раз полное обновление клиентов уровня консенсуса или уровня исполнения не требуется; как минимум, в каждый из двух типов клиентов нужно добавить только одну строку кода, чтобы вручную переопределить предыдущее значение TTD. В это время также могут быть предложены дополнительные обновления клиентов, но это решение каждой команды клиента и ни в коем случае не обязательный выпуск, необходимый для прохождения финального этапа Слияния.
После объявления переопределенного значения TTD начинается этап ожидания достижения нового порога. Хотя будут приблизительные оценки времени, точную дату и время активации Парижа невозможно заранее узнать точно.
Риски исполнения, которые нельзя игнорировать
1. Операционный вакуум, вызванный непредсказуемостью сроков
Невозможность точно предсказать TTD означает, что все сервисы, зависящие от Ethereum, не могут заранее зафиксировать точное время «момента Слияния». Для бизнесов, которым необходимо приостановить или заморозить депозиты и выводы средств, это создает реальную операционную проблему.
2. Операционное давление двухклиентной архитектуры
После Слияния операторы узлов должны одновременно запускать клиенты уровня исполнения и уровня консенсуса, и любая ошибка конфигурации или несоответствие версий на любой стороне может привести к отставанию узла. Поэтому ранние репетиции в тестовых сетях (Sepolia, Goerli) становятся критически важными.
3. Фундаментальное изменение логики производства блоков и финальности
После Слияния блоки больше не будут финализироваться в единицах высоты блока, а в единицах слотов и эпох. Валидаторы обрабатывают один слот каждые 12 секунд, и 32 слота составляют одну эпоху, то есть одна эпоха каждые 6,4 минуты. Транзакции в Beacon Chain достигают финальности через 2 эпохи, примерно через 12,8 минуты. Для бирж, DEX и других DeFi-приложений, построенных на различных предположениях о финальности транзакций и скорости подтверждения, эти предстоящие изменения должны быть предусмотрены и подготовлены заранее, чтобы избежать перебоев в обслуживании или эксплуатации уязвимостей.
Заключение: малая вероятность, большое влияние
Переход Ethereum от PoW к PoS — это наиболее внимательно отслеживаемое и наиболее далеко идущее обновление блокчейна уровня 1 в истории криптовалют; никогда прежде сеть, сопоставимая по масштабу и значимости с Ethereum, не претерпевала столь радикальных изменений. Поскольку разработчики вложили огромные усилия в тестирование и подготовку, вероятность того, что вышеуказанные риски серьезно повлияют на пользователей и dApps, невысока; но если какой-либо из описанных в этой статье сценариев произойдет в такой степени, что сети потребуется откатить обновление через экстренный хардфорк, ценность и репутация Ethereum как блокчейна общего назначения могут быть подорваны.
Поэтому все заинтересованные стороны должны четко осознавать эти риски и принимать меры для смягчения воздействия потенциальных проблем на их собственное использование сети, например, путем приостановки или замораживания депозитов и выводов средств в критические периоды, когда могут возникнуть перебои. В то же время валидаторы, децентрализованные приложения (dApps) и поставщики услуг должны подготовиться, участвуя в последующих репетициях активации в тестовых сетях Sepolia и Goerli, что может как гарантировать, что операторы узлов освоят лучшие практики для следования обновлению Merge, так и выявить проблемы в процессе до активации в основной сети. Кроме того, бдительность Ethereum Foundation, команд клиентов и доверенных СМИ в отношении дезинформации, связанной с Merge, во время активации особенно важна — включая неверные значения TTD, неверные версии клиентов, неверные ожидания по времени и неверные операционные указания — и им необходимо быстро координировать действия, чтобы четко информировать соответствующие стороны о том, что готовить дальше, пока обновление Merge не будет полностью завершено.






