Ethereum исправил баг Glamsterdam, перенаправлявший стейкинг-депозиты
Из-за ошибки в спецификации Glamsterdam депозит валидатора мог достаться билдеру с тем же ключом. Как работал баг и как его закрывает принятое исправление.
Редакция CryptoGroup · · 2 мин чтения

Разработчики Ethereum влили исправление бага в грядущем обновлении Glamsterdam, из-за которого при определённых условиях ETH, внесённый для запуска нового валидатора, мог достаться билдеру блоков, сообщает CoinDesk. Изъян был в спецификации, а не в мейннете, и средств никто не потерял.
Контекст: у билдеров и валидаторов раздельный учёт
Сейчас две роли совмещены: билдеры собирают блоки из транзакций, а валидаторы, которые стейкают ETH, предлагают и подтверждают их. Glamsterdam формально разделяет эти роли на уровне протокола, и вносить ETH могут и те, и другие. Их балансы должны учитываться раздельно. (Если стейкинг для вас в новинку, начните с объяснения что такое стейкинг.)
Как работал баг
Проблема возникала в момент обновления, когда Ethereum обрабатывал бы депозиты, ещё стоящие в очереди. Исследователь под ником avsetsin описал такой сценарий:
- оператор регистрируется как билдер под определённым публичным ключом;
- затем стейкинг-сервис вносит ETH, чтобы запустить валидатора с тем же ключом;
- по черновику правил оба депозита зачисляются билдеру.
«Оператор может вывести средства протокола», — написал avsetsin. Поскольку валидатор так и не создаётся, стейкинг-сервис не может предоставить доказательство, необходимое для возврата ETH.
Avsetsin, указанный участником GitHub-организации Lido, провёл, по его словам, «быстрое исследование с ИИ» возможного влияния на Lido, Origin и Rocket Pool. Результат зависел от того, как каждый протокол обрабатывает депозиты, и исследователь подчеркнул, что это «условные находки в коде, а не подтверждённые живые эксплойты»: существующие проверки, отклоняющие более ранний депозит билдера, могли бы остановить атаку.
Отклонили, а затем влили
Впервые разработчики закрыли предложенное исправление 19 октября. «Сейчас у этого изменения недостаточно поддержки со стороны клиентов», — написал Джастин Тралья, который сопровождает консенсусные спецификации Ethereum. После дополнительного рассмотрения его снова открыли, 23 октября avsetsin добавил тесты, а в понедельник, 26 октября, Тралья влил изменение.
По новому правилу депозиты в очереди сортируются по withdrawal credentials — полю, которое определяет, куда в итоге могут уйти средства. Депозит валидатора остаётся за валидатором, даже если билдер использует тот же ключ.
Что дальше
Изменение уже вошло в консенсусные спецификации, но клиентским командам ещё предстоит встроить его в своё ПО. Glamsterdam уже работал в тестнете Sepolia, а форк в Hoodi, намеченный на 26 октября, отложили из-за другого риска, связанного с правилами газа. Прежде чем назначать мейннет, нужна новая дата для Hoodi. Как разворачиваются такие обновления сети, объясняем в материале хардфорк или софтфорк.
Материал носит информационный характер и не является финансовой рекомендацией. Криптоактивы волатильны — принимайте решения самостоятельно. Оговорка
Ещё: Ethereum
Все →Читайте дальше

TRC20 или ERC20: какую сеть USDT выбрать?
TRC20 или ERC20: сравниваем комиссии, скорость, адреса, безопасность и поддержку бирж для USDT в Tron и Ethereum. Как выбрать сеть и не потерять средства.

Сооснователь Zcash предлагает прекратить финансирование ZCG: 5 цифр
Черновик ZIP от Шона Боу остановил бы поток 8% новых ZEC в Zcash Community Grants и направил его в резерв для майнеров. Ключевые цифры плана.

Что такое proof of reserves и как биржи доказывают наличие средств
Что такое proof of reserves: как биржи через дерево Меркла и подписи кошельков доказывают, что держат криптовалюту клиентов, как проверить баланс и пределы метода.