Децентрализованный кредитный протокол Aave 11 марта рано утром столкнулся с редким случаем принудительной ликвидации. Причиной послужила не резкая рыночная паника или внешняя атака, а внутренний модуль защиты от манипуляций CAPO, неправильно настроенные параметры которого привели к систематической недооценке стоимости wstETH на 2,85%. В результате 34 аккаунта, около 10 938 wstETH, были ликвидированы принудительно.
Источник: данные ликвидации CHAOS LABS
Партнер по управлению рисками Aave — Chaos Labs — первым отреагировал в X, заявив: «Без возникновения просроченных долгов, все пострадавшие пользователи получат полное возмещение». Основатель Aave Labs Стани Кулечов также написал в X: «Сам протокол Aave не пострадал».
В отличие от большинства случаев ликвидации, здесь не было рыночного краха, внешней атаки или искажения данных о ценах. В отчёте о постмортеме, опубликованном Chaos Labs на форуме управления, прояснена истинная причина.
Ценовые данные о предсказателе, лежащие в основе, были точными. Истинным виновником стал внутренний модуль безопасности CAPO (Capped Asset Price Oracle). Это механизм, предназначенный для предотвращения манипуляций ценами, который в этот раз, выступая в роли «стража», неожиданно стал триггером ликвидации пользователей.
При работе с доходными токенами, такими как wstETH, который постоянно накапливает доход от стекинга, протокол вводит ограничение на скорость изменения цены, чтобы предотвратить искусственное завышение стоимости залога.
CAPO использует два параметра: snapshotRatio (коэффициент снимка, ограничен на цепочке — максимум 3% роста за 3 дня) и snapshotTimestamp (время снимка, без ограничения скорости). Эти параметры должны обновляться синхронно. При рассинхроне вычисляемый «максимально допустимый курс» отклоняется от реальной рыночной цены.
Именно так и произошло в этот раз. Система пыталась обновить курс с примерно 1.1572 до целевого значения 1.2282, но из-за ограничения скорости смогла повысить его только до 1.1919; одновременно временная метка прыгнула на 7 дней назад, к старому значению, без препятствий.
Несогласованность двух параметров привела к тому, что CAPO установил максимально допустимый курс для wstETH около 1.1939, что на 2.85% ниже реальной рыночной цены.
Источник: постмортем Chaos Labs на форуме управления
В обычных позициях такая разница в 2.85% могла бы считаться незначительной; однако в режиме высокой эффективности (E-Mode) Aave пользователи могут занимать с гораздо большим кредитным плечом, а их позиции — очень чувствительны к ценовым отклонениям.
Системная недооценка wstETH привела к тому, что ряд позиций, находившихся чуть выше уровня ликвидации, были принудительно ликвидированы, а на цепочке роботы завершили остальное.
По прибыли: ликвидатор получил около 116 ETH в виде стандартной награды за ликвидацию; дополнительно около 382 ETH — за арбитраж между заниженной оценкой протокола и реальной рыночной ценой.
Всего из пострадавших позиций было выведено примерно 499 ETH (около 1,27 миллиона долларов). Итог для протокола — без убытков: фонд ликвидирован полностью, средства в пуле сохранены, ущерб затронул только 34 аккаунта.
Самое очевидное пострадавшее лицо — Chaos Labs. Генеральный директор Omer Goldberg заявил в X: «Все пострадавшие пользователи получат полное возмещение». Он также признал, что сбой в настройке предсказателя цен — серьёзный урок для команды, которая планирует пересмотреть процессы обновления параметров.
Источник: твит Omer Goldberg
В рамках компенсационных мер Chaos Labs уже вернул около 141.5 ETH через BuilderNet, а за счёт резервов DAO Aave сумма выплат может достигнуть примерно 345 ETH (около 870 000 долларов), чтобы покрыть все пострадавшие аккаунты.
В экстренном режиме команда временно снизила лимит заимствований по wstETH для пострадавших позиций (Core и Prime) до 1, затем вручную скорректировала параметры снимка через механизм Risk Steward. После исправления лимиты были восстановлены: 180 000 для Core и 70 000 для Prime.
Это не первый случай, когда сбой предсказателя цен приводит к проблемам в DeFi. Например, 18 февраля протокол Moonwell из-за ошибки в предсказателе временно оценил cbETH примерно в 1 доллар (при рыночной цене около 2200 долларов), что привело к убыткам почти на 1,8 миллиона долларов. Ранее также имели место случаи манипуляций с Mango Markets и уязвимости Euler Finance, оставившие миллиарды долларов убытков.
Однако этот случай уникален: причина сбоя — не внешние данные, а внутренний механизм защиты, созданный для противодействия манипуляциям. В определённых условиях эта «защита» превратилась в орудие вреда.
«Код — это закон» — девиз децентрализованных финансов. Автоматизация смарт-контрактов исключает человеческое вмешательство, но каждая ошибка в настройке параметров может привести к необратимым последствиям, зачастую незаметным для пользователя.
Обещание Chaos Labs о компенсации, возможно, поможет устранить экономический разлом, но более важным является техническое исправление: проверка обновлений параметров, согласованность цепочных ограничений и системы мониторинга, которая сможет предупредить о возможных ошибках ещё до их возникновения.