Курс эфира в понедельник остался спокоен, хотя новость за кулисами была из разряда "могло бы быть очень плохо". Разработчики Ethereum в последний момент закрыли уязвимость в готовящемся обновлении Glamsterdam, которая теоретически позволяла оператору увести ETH, предназначенные совсем для других целей - для запуска новых валидаторов. Убытков никто не зафиксировал, но сценарий был настолько неприятным, что команда сначала отвергла предложенный фикс, а через неделю всё же его приняла.
Баг, который мог увести депозиты стейкеров
Суть проблемы в том, что депозиты билдеров и валидаторов могли оказаться привязаны к одному и тому же публичному ключу - уникальному идентификатору, которым в сети Ethereum помечают и валидаторов, и билдеров. Исследователь под ником Avsetsin, числящийся в GitHub-организации Lido, обнаружил сценарий, при котором оператор сначала регистрируется как билдер с определённым ключом. Если после этого какой-нибудь стейкинг-сервис отправляет депозит для запуска валидатора под тем же ключом, черновые правила Glamsterdam засчитывали оба депозита билдеру.
The operator can withdraw the protocol's funds
Валидатор при этом так и не создавался, а значит, стейкинг-сервис не мог сформировать доказательство, необходимое для возврата своих денег. Avsetsin проверил, как подобный сценарий мог затронуть Lido, Origin и Rocket Pool, назвав это "быстрым исследованием с помощью ИИ". Исследователь сразу оговорился, что речь идёт об условных находках в коде, а не о подтверждённых реальных атаках - существующие проверки, отклоняющие более ранний депозит билдера, могли и остановить потенциальную атаку.
Сначала отказали, потом всё же приняли
19 октября предложенный фикс закрыли без принятия. Джастин Траглиа, который отвечает за поддержку консенсусных спецификаций Ethereum, объяснил это так:
There was not enough support from clients to make this change at this time
Но решение не стало окончательным. После дополнительного анализа и тестов, которые Avsetsin добавил 23 октября, фикс вернули на рассмотрение, и в понедельник Траглиа всё же его смержил. По новым правилам ожидающие обработки депозиты теперь сортируются по учётным данным для вывода средств - настройке, которая определяет, куда в итоге могут уйти деньги с депозита. Депозит валидатора остаётся закреплённым за валидатором, даже если тот же публичный ключ параллельно использует билдер.
Почему вообще разделили роли билдера и валидатора
Чтобы понять, откуда взялась эта дыра, нужно вспомнить, зачем Glamsterdam вообще разделяет то, что сегодня идёт в одном флаконе. Сейчас билдеры собирают транзакции в блоки, а валидаторы, которые застейкали ETH ради безопасности сети, выбирают и подтверждают эти блоки. Обе роли умеют вносить депозиты, и предполагалось, что их средства учитываются строго раздельно. Именно на стыке этой логики и завёлся баг с общим публичным ключом.
Это уже не первая задержка на пути Glamsterdam к мейннету. Ранее сеть уже отменяла тестнет из-за рисков форка, а затем притормаживала обновление на тестовой сети Hoodi после обнаружения новых дыр в безопасности. Был и эпизод, когда под вопросом оказались сами смарт-контракты, которым грозила угроза из-за переноса обновления. Схожая история недавно произошла и в другой экосистеме - проект Initia был вынужден полностью остановить блокчейн после того, как злоумышленник напечатал токены на 2,6 миллиона долларов, пользуясь похожей логической дырой в протоколе.
Курс эфира и немного истории эфириума
Любопытно, что на фоне всей этой технической драмы курс эфира вёл себя абсолютно буднично. Рынок давно привык, что эфириум регулярно откладывает и дорабатывает крупные обновления, и каждая такая новость сама по себе не превращается в распродажу. Тем не менее тема безопасности сети напрямую связана с доверием к ней, а доверие рано или поздно отражается на котировках.
Сам эфириум появился в 2015 году как площадка для запуска децентрализованных приложений, и с тех пор каждый смарт контракт эфириум в сети так или иначе завязан на корректность консенсусных правил, которые сейчас дорабатывают разработчики. За годы существования курс эфира за все время проходил через впечатляющие взлёты и болезненные просадки. Максимальная цена эфириума была зафиксирована в 2021 году, когда монета эфириум цена пробивала отметку почти в пять тысяч долларов, и с тех пор эфириум курс за все время служит ориентиром для оценки текущих циклов.
Если смотреть на курс эфира сейчас и курс эфириума сейчас в целом, заметно, что рост эфириума в последние годы куда менее взрывной, чем в первые годы существования проекта, зато сеть стала заметно более зрелой инфраструктурно. Эфир курс к доллару, как и курс эфира к рублю, традиционно сильно коррелирует с общим настроением крипторынка и действиями крупных институциональных игроков, а не только с внутренними апгрейдами вроде Glamsterdam. Вопрос, стоит ли покупать эфириум именно сейчас, каждый инвестор решает сам, но история с багом в стейкинге лишний раз напоминает, что курс криптовалюты эфир зависит не только от спекулятивного спроса, но и от банальной надёжности кода, который держит на себе триллионы долларов активов.
Что дальше ждёт Glamsterdam
Исправление уже внесено в консенсусные спецификации Ethereum, но командам, которые разрабатывают клиентские программы для валидаторов, ещё предстоит реализовать его у себя в коде. Glamsterdam уже успешно отработал на тестовой сети Sepolia, однако его запуск на второй тестовой сети Hoodi, намеченный на 26 октября, перенесли. Теперь разработчикам нужно согласовать новую дату для Hoodi, прежде чем вообще появится шанс назначить дату запуска в основной сети.
История с общим публичным ключом для билдеров и валидаторов хорошо показывает, насколько сложной стала архитектура Ethereum после всех апгрейдов последних лет. Чем больше ролей и подсистем появляется внутри протокола, тем выше цена ошибки в их взаимодействии, даже если каждая отдельная часть кода выглядит логичной. Похожая история недавно случилась и в индустрии аппаратных кошельков, когда производитель Keystone был вынужден признать утечку данных со своего сайта с адресами покупателей - разные уголки криптоиндустрии продолжают регулярно напоминать, что безопасность остаётся самой дорогой статьёй расходов для любого протокола и компании в этой сфере.


