Децентралізована кредитна платформа Aave 11 березня вранці зазнала рідкісної аномальної ліквідації. Причиною не стали ринкові обвалу чи зовнішні атаки, а внутрішній модуль захисту від маніпуляцій CAPO з неправильними налаштуваннями, що спричинило систематичне недооцінювання wstETH на 2,85%. Це призвело до примусової ліквідації 34 акаунтів, близько 10 938 wstETH. Lido також відреагував на подію ліквідації, заявивши, що причина — помилка ціноутворювального ореклу, яка не має стосунку до протоколу Lido.
(Передісторія: засновник Aave: DeFi зіштовхнеться з ринками сонячної енергії, роботів і космічного фінансування на 200 трлн доларів, у 15 разів більшими за найбільші банки світу)
(Додатково: засновник екосистеми Aave: Aave Labs витратили 86 мільйонів доларів за 8 років, всі шість продуктів зазнали невдачі)
11 березня вранці децентралізована кредитна платформа Aave зазнала рідкісної аномальної ліквідації. Не було ринкових обвалів чи зовнішніх атак, але позиції на суму близько 27 мільйонів доларів були примусово закриті за кілька годин, і 34 акаунти, разом близько 10 938 wstETH, були ліквідовані автоматичними роботами.
Джерело: CHAOS LABS — дані про ліквідацію
Партнер з управління ризиками Aave, Chaos Labs, першими відреагували у X, їхній CEO Omer Goldberg чітко заявив: «Жодних проблемних боргів не виникло, всі постраждалі користувачі отримають повне відшкодування.» Засновник Aave Labs, Stani Kulechov, також написав у 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. CEO Omer Goldberg у X чітко заявив: «Кожен постраждалий користувач отримає повне відшкодування.» Він також визнав, що помилка у налаштуваннях цінового ореклу — серйозне навчання для команди, і вони проведуть повний перегляд процесу оновлення параметрів.
Джерело: Твіт Omer Goldberg
Що стосується компенсацій, Chaos Labs вже повернули через BuilderNet близько 141.5 ETH, а за підтримки казначейства Aave DAO планується виплатити до 345 ETH (близько 870 000 доларів) для покриття всіх постраждалих акаунтів.
На етапі екстреного реагування команда тимчасово зменшила ліміт позик у wstETH для постраждалих позицій (Core і Prime) до 1, і вручну через механізм Risk Steward відкоригувала два параметри швидкості оновлення. Після виправлення ліміт повернули до початкових значень (Core: 180 000, Prime: 70 000).
Це не перший випадок у DeFi, коли проблему викликає орекл. Наприклад, 18 лютого протокол Moonwell через помилку налаштувань ореклу тимчасово оцінив cbETH у 1 долар (при ринковій ціні близько 2200 доларів), що спричинило збитки майже на 1,8 мільйона доларів. Раніше були випадки маніпуляцій з Mango Markets і вразливості Euler Finance, що залишили багатомільйонні збитки.
Але ця ситуація у Aave має особливий характер. Причина — не зовнішні дані, а внутрішній механізм безпеки, створений для запобігання маніпуляціям, — у певних умовах він став причиною збитків.
«Код — це закон» — девіз децентралізованих фінансів. Автоматизація смарт-контрактів усуває людський фактор, але кожна неправильна налаштування може призвести до незворотних дій, які користувачі не помітять.
Обіцянки Chaos Labs щодо компенсацій можуть допомогти відновити довіру, але більш глибока реформа має відбутися на рівні інженерії: перевірка налаштувань, узгодженість ланцюгових обмежень і системи моніторингу в реальному часі, що попереджують про помилки ще до їхнього виникнення.