Взлом Balancer и его последствия. Какие выводы можно сделать из всего этого?
3 ноября примерно в 11:00 по Мск появились сообщения, что Хакер взломал Balancer v2 в этот раз без соц-инженерии, скама кошелька, или кражи подписи, похитив свыше $120 млн с сетей Ethereum, Arbitrum, Base, Optimism и Polygon. Среди похищенного — ETH и LST-токены: wstETH, osETH, frxETH и другие.
(ниже есть статистика)
⚙️ Как сработала уязвимость
Balancer v2 построен вокруг единого контракта-хранилища Vault, через который проходят все операции.
Атакующий использовал сочетание двух ошибок:
- Баг в проверке прав функции
manageUserBalance— позволял инициировать внутренний вывод средств от имени чужого пула. - Ошибка округления в расчёте инварианта D — ключевого параметра, отражающего общую «стоимость» пула и влияющего на цену пул-токена BPT. (токен который отражает долю поставщика ликвидности)
🧨 Механика эксплойта
— Атакующий обменивает токен пула (BPT) на базовые активы, чтобы точно подогнать баланс токена cbETH к границе округления (например, до 9 единиц).
Это создаёт условия для ошибки точности (precision loss) на следующем шаге.
(Проще говоря, он подготовил пул так, чтобы следующая операция округлила значения в его пользу.)
— Далее он обменивает токены wstETH и cbETH, используя специально подобранное количество (8).
Из-за округления вниз при пересчёте токенов, фактическое изменение (Δx) получилось чуть меньше — 8.918 округлилось до 8.
Это привело к занижению второго значения (Δy) и, следовательно, уменьшению инварианта D (формула как в модели Curve StableSwap).
Поскольку цена BPT = D / totalSupply, уменьшение D делает цену BPT искусственно заниженной.
(То есть он заставил систему считать, будто пул подешевел, хотя на самом деле нет.)
— На последнем этапе он обратно обменивает активы на BPT, восстанавливая баланс пула.
Но теперь BPT стоит меньше, чем должен — и атакующий получает прибыль на разнице между настоящей и искусственно заниженной ценой.
Итог:
Хакер использовал ошибку округления и неточность в расчёте инварианта в стабильном пуле.
Он смог временно занизить цену токена пула (BPT), купить его «со скидкой» и тут же продать обратно по нормальной цене, извлекая огромную прибыль.
Всё это заняло считанные минуты и затронуло пулы в разных сетях.
🧩 Почему этот хак так критичен в целом для DeFi
Balancer — один из самых “аудированных” AMM-протоколов (не менее 11 аудитов), однако комбинация ошибок осталась незамеченной.
Эксплойт показал, что многослойные уязвимости могут годами скрываться даже в тщательно проверенных проектах.
Из-за общей кодовой базы пострадали и другие протоколы: по данным DeFiLlama, уязвимыми оказались 27 проектов.
Например, BeethovenX потерял около $3 млн.
Команда Berachain пошла дальше всех — приостановила работу сети и провела экстренный хардфорк, чтобы закрыть дыру в своём форке Balancer - "Bex"
Это стало тревожным напоминанием: одна ошибка в открытом коде может парализовать десятки проектов и целые блокчейны.
💸 Что стало с украденными средствами
Сразу после атаки хакер начал дробить активы по множеству свежих адресов.
Далее — последовательная конвертация LST-токенов в ETH: сначала мелкие тестовые обмены, затем крупные. Это минимизировало риск блокировки и ценовых отклонений.
Для скрытия следов использовались:
- CowSwap — агрегатор обменов без прямого взаимодействия с AMM, что снижает утечки MEV;
- Tornado Cash — классический «миксер» для анонимизации;
- Кроссчейновые мосты — для перераспределения средств между сетями и сглаживания цены.
Транзакции дробились по 10–20 адресов, что затруднило трекинг.
Хакер не стал обналичивать всё сразу, действовал осторожно, тестируя каждую цепочку и ликвидность.
По наблюдениям Nansen, Lookonchain и PeckShield, все его адреса занесены в чёрные списки, но в децентрализованных сетях блокировать средства практически невозможно.
💬 Этот случай — не просто очередной взлом, а сигнал о том, что даже идеальный с точки зрения аудита код может разрушиться от сочетания «мелких» ошибок.
DeFi взрослеет, но цена уроков растёт вместе со ставками.
Уязвимость висела на виду четыре года — в контракте, который читали, проверяли и копировали десятки раз.
И это разрушает главное заблуждение DeFi:
“Много аудитов = гарантия безопасности и эталон надежности", на самом деле аудиты снижают риск, не не убирают его и этот случай нам наглядно это демонстрирует.
Но это еще не все...
Данный эксплоит вскрыл еще ряд проблем и продолжил приносить убытки пользователями.
Начнем с 2-ух "героев" Elixir Network (deUSD) и Stream Finance (xUSD) "первоисточник"
Stream Finance (xUSD) и Elixir Network (deUSD) построили вечный двигатель:
чекань deUSD, бери под него заём, чекань xUSD, бери заём под него, бриджь, повторяй цикл и называй это «институциональной доходностью».
Одни и те же $1.9 млн якобы породили $14.5 млн xUSD — математика, от которой бы даже Terra покраснела, только теперь это обёрнуто в слова вроде «рыночно-нейтральные стратегии» и «дельта-нейтральные позиции».
Elixir Network позиционировал deUSD как «единственный доллар DeFi, служащий рельсами для институциональных активов» — обеспеченный стейкнутым эфиром и казначейскими облигациями США, в партнёрстве с BlackRock BUIDL fund и Hamilton Lane.
Stream предлагал «рыночно-нейтральные стратегии с высокой доходностью» через «арбитраж кредитования и incentive farming».
Elixir обещал доходность на якобы стабильном активе через арбитраж по ставкам perpetual-фандинга.
Часть привлечённых средств Stream Finance была передана внешней управляющей команде, которая, по собственным словам, использовала дельта-нейтральные стратегии. Однако 10 октября эта команда получила серьёзный убыток — около 93 млн. Судя по масштабу потерь и тому, что другие участники рынка, применяющие д-н стратегии, не столкнулись с подобными пролетарии, есть основания полагать, что вместо дельта-нейтралок они фактически агрессивно торговали perpetual-дериватами.
Ключевая проблема заключалась не в самом DeFi, а в том, что средства были переданы третьему лицу без должного контроля, и именно этот внешний управляющий их потерял. При этом в Stream, по их утверждению, узнали о случившемся лишь 1 ноября, а уже в воскресенье опубликовали заявление в Twitter о «дырке» в 90 млн. С учётом того, что их общий TVL был около 400 млн, это и спровоцировало последующие события вокруг XUSD.
Каскад событий начатый с взлома Balancer вызвал лавину - пропала ликвиность, основная ее часть была в сети Plasma в пулах Balancer, та же ликвидность хуками закидывалась в лендинг-пулы, таким образом смыло большой пласт ликвидности как для обмена, так и для займов. Дальше из-за общей паники и новости от Stream Finance, что 93 млн. средст "прапали", ситуация начала только накручиваться.
А ниже вы можете увидеть результат
Это не был единичный сбой.
stkscUSD (от Trevee, бывшие Ring в сети Sonic), оказалось что у них тоже была накрученные рекурсивные циклы лупинга активов связанные с xUSD, как итог потеря 92% обеспечения для их доходного стейблкоина.
Вследствие кризиса ликвидности связанного со стейблкоинами deUSD и sdeUSD от Elixir, риск-куратор Gauntlet рекомендовала Compound временно приостановить операции по займам и выводу средств для рынков в Ethereum.
Из-за тогоже deUSD лендинг Yei в сети Sei, так же временно приостанавливал свою работу.
Проблемы затронули и другой доходный стейблкоин — USDx, ранее широко применявшийся в лупинг-стратегиях. Тем же хакером, который ранее атаковал Balancer, была выведена ликвидность из пула USDx. Вскоре после этого несколько кошельков начали активно использовать пару sUSDx/USDx в сети BNB для лупинга.
В результате ListaDAO инициировала принудительную ликвидацию позиций USDx/sUSDx, что, по всей видимости, спровоцировало обвал его цены на вторичном рынке.
Команда проекта USDx поначалу заявляла, что ситуация под контролем, однако спустя некоторое время прекратила коммуникацию. Некоторые участники сообщества предполагают, что кошельки, осуществлявшие лупинг незадолго до депега, могли быть связаны с командой проекта, однако достоверных данных на данный момент нет.
В итоге пользователи которые добавляли ликвидность в разные волты в Euler/Silo/Morpho/Compound/Yei/etc, где как раз присутствовал xUSD/deUSD/USDx/stkscUSD - застряли с плохим долгом и не могут вывести свою ликвидность.
Список пострадавших волтов (не полный)
Список пострадавших пулов Balancer
Чек-лист по выбору стейблов
* Дашборд Proof-of-Reserves в реальном времени
* Регулярные аудиты сторонними компаниями
* Понятная документация по коллатералу
* Глубокая ликвидность на DEX (>$10M в нескольких пулах)
* Низкое проскальзывание на крупные сделки
* Пережил прошлые рыночные кризисы
* Известная, деанонимизированная команда
* Прозрачная юридическая структура
* Отсутствие единственных точек отказа
* Понимание, КАК поддерживается пег
* Избегание сложных рекурсивных стратегий
* Предпочтение сверхобеспеченных моделей алгоритмическим
📈Индикатор риска доходности в стейблкоинах (DeFi)
➡️➡️➡️➡️10% – 20% APY (высокий риск)
Кураторские стейбл-волты, где залогом выступают другие кураторские стейблы; любые схемы, где TVL уходит оффчейн под управление фонда/«риск-куратора».
➡️➡️➡️➡️5% – 20% APY ( повышенный риск)
Синтетические доллары (пример: resolv), волты c basis-стратегиями (пример: hyperbeat), экзотические CDP-стейблы под залог (пример: Lista, DOLA).
➡️➡️➡️10% – 20% APY (повышенный риск, ручные стратегии)
Самостоятельные basis-трейды: покупка спота/шорт равной величины на перпах без автоматических условий выхода (нужны API/автоторговля/боты и навыки); депозиты на лендингах с TVL < $1.5B.
➡️➡️8.5% – 15% APY (средний риск)
Умеренный леверидж через Gearbox на пулах USDT/USDC/USDe; стейблы в Fluid; старшие транши стейблов (InfiniFi iUSD); сверхобеспеченные стейблы (Syrup); покупка и «прокат» краткосрочных PT от Pendle с рейтингом AA (<1 мес).
➡️6% – 8.5% APY (умеренный риск)
Комбо Aave + Pendle на мейннете или Plasma для USDT, sUSDe.
🟢4.5% – 5.5% APY (низкий риск из списка)
Просто использовать Aave на Ethereum: депозиты в USDC/USDT/USDX; ставки по поставке; «не-скам» t-bill-подобные стейблы (frax, usdy, usdb, tusdst, usyc).
Рейтинг стейблкоинов от Serenity
P.S
Если вам понравилась данная статья, то подписка на мой Telegram канал будет лучшей благодарностью!