Crypto Prices

Ethereum меняет курс: исправление ошибки с депозитами валидаторов в обновлении Glamsterdam

2 часа назад
1 мин. чтения
2 просмотров

Исправление ошибки обработки депозитов в Ethereum

Разработчики Ethereum внедрили исправление для ошибки обработки депозитов в предстоящем обновлении Glamsterdam. Эта ошибка могла позволить строителям блоков получить ETH, предназначенный для новых валидаторов, после первоначального отклонения предложенного изменения. Согласно спецификациям консенсуса Ethereum, куратор Джастин Траглия объединил исправление 26 октября, после того как разработчик avsetsin выявил проблему с обработкой ожидающих депозитов во время форка Gloas.

Изменения в обработке депозитов

Изменение отделяет депозиты строителей от депозитов валидаторов в зависимости от их учетных данных для вывода, предотвращая попадание средств на неправильный счет, когда оба используют один и тот же публичный ключ. Уязвимость касалась правил, находящихся в разработке, а не подтвержденной кражи из основной сети Ethereum. Разработчики включили исправление в спецификации, хотя отдельные клиенты консенсуса все еще должны реализовать и протестировать измененное поведение.

Причины возникновения проблемы

Проблема возникла из изменений, запланированных в рамках закрепленного разделения предложений и строителей Glamsterdam, которое назначает разные роли для построения блоков и предложения блоков. Строители собирают полезные нагрузки транзакций, в то время как валидаторы участвуют в предложении и подтверждении блоков через систему proof-of-stake Ethereum. Исследователь avsetsin описал ошибку 12 октября, выявив проблему в правилах, используемых для обработки депозитов, ожидающих обновления сети.

«Оператор может вывести средства протокола,» — предостерег avsetsin в отчете на GitHub.

Исследователь изучил потенциальные риски, связанные с Lido, Origin и Rocket Pool, через предварительное исследование кода. Эти выводы были условными в зависимости от того, как отдельные протоколы обрабатывали депозиты, и отчет не установил, что проекты подверглись эксплуатации.

Обсуждение и внедрение исправления

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

«Не было достаточной поддержки от клиентов, чтобы внести это изменение в данный момент,» — написал Траглия.

Решение не осталось в силе, и разработчики снова открыли предложение 23 октября после дальнейшего изучения. Впоследствии рецензент potuz одобрил подход, но запросил больше тестов для конкретных комбинаций депозитов. Avsetsin добавил эти тесты 23 октября, охватывающие случаи, когда депозиты строителей и валидаторов используют один и тот же публичный ключ, но требуют отдельной обработки.

Финальное изменение и его последствия

Финальное изменение было объединено в спецификации консенсуса Ethereum 26 октября после дальнейшего обзора клиентами. Оно направляет действительные депозиты валидаторов в очередь валидаторов, позволяя законным депозитам строителей регистрироваться или добавлять средства к существующему строителю. Новые правила различают депозиты по учетным данным для вывода, которые определяют разрешенные схемы вывода.

Обновление спецификации пришло в то время, когда разработчики Ethereum рассматривали другую проблему, касающуюся запланированной активации Glamsterdam на тестовой сети Hoodi. Фонд Ethereum отложил обновление 26 октября после того, как исследователи выявили риски совместимости, связанные с EIP-8037.

Заключение

Glamsterdam уже активировался на тестовой сети Sepolia 6 октября, где разработчики изучали изменения в построении блоков и более высокую пропускную способность обработки транзакций. Последующая репетиция Hoodi остается без расписания, без подтвержденной даты активации в основной сети Ethereum. Объединенное исправление депозитов содержит регрессионные тесты, охватывающие то, как депозиты классифицируются во время перехода Gloas. Команды клиентов должны включить изменение спецификации в свое программное обеспечение и завершить дальнейшее тестирование, прежде чем обновленные правила смогут работать во время будущего обновления сети.

Популярные статьи