Разработка системы стабилизации привязки стейблкоина
UST/LUNA в мае 2022 потерял привязку к доллару за 72 часа — 18 миллиардов долларов испарились. Механизм mint/burn через LUNA не выдержал скоординированной атаки на ликвидность: продажа UST давила на цену, минт LUNA для восстановления peg создавал инфляцию, инфляция давила на LUNA, что снижало эффективность mint/burn — death spiral. Это не баг реализации, это архитектурный провал механизма стабилизации.
Проектировать систему peg stabilization нужно с ответа на вопрос: что происходит при атаке на $100M в течение 24 часов?
Механизмы стабилизации: trade-offs
Overcollateralized (MakerDAO/DAI модель)
Пользователь блокирует ETH на 150% от суммы займа, минтит DAI. При падении ETH ниже liquidation threshold — позиция ликвидируется, DAI выкупается с рынка. Peg держится, пока залог > долга и ликвидации работают быстро.
Уязвимость: при быстром падении цены залога (>30% за несколько часов) ликвидации не успевают — образуется bad debt. MakerDAO решил это через Emergency Shutdown и Stability Fee как автоматический регулятор. Если DAI > $1.00, Stability Fee снижается — занимать дешевле, предложение растёт, цена падает. Если DAI < $1.00, Fee растёт — меньше минтинга, меньше предложения, цена растёт.
Этот механизм работает надёжно, но он медленный (часы, не минуты) и требует активного governance для настройки параметров.
Algorithmic stabilization (Frax модель)
Frax USDC — частично collateralized, частично algorithmic. При peg выше $1.00 система снижает collateral ratio (меньше USDC в обеспечении), при peg ниже $1.00 — повышает. AMO (Algorithmic Market Operations) контроллеры размещают резервы в Curve/Aave для генерации yield и поддержки peg.
Это более капиталоэффективно, чем overcollateralized, но требует точного управления и достаточной ликвидности в базовых пулах. Frax работает потому, что у него глубокий Curve pool и значительные Treasury reserves.
PSM (Peg Stability Module)
Прямой своп стейблкоина 1:1 к другому стейблкоину (например, sUSD к USDC) через PSM без slippage. Арбитражёры поддерживают peg автоматически: если sUSD < $1.00, покупают дёшево, меняют в PSM 1:1 на USDC, прибыль. Если sUSD > $1.00, покупают USDC, меняют на sUSD, продают выше.
PSM — самый эффективный механизм для краткосрочной стабилизации, но требует резервов в USDC/USDT. MakerDAO использует PSM как основной буфер для DAI.
Что строим на практике
Для нового стейблкоин-протокола рекомендуем многоуровневую систему:
Первый уровень — overcollateralization с динамическим Stability Fee. Базовый механизм, доказанный временем. Interest rate controller на основе PI (Proportional-Integral) регулятора: отклонение peg от $1.00 автоматически меняет ставку. Solidity реализация с Chainlink TWAP для измерения peg.
Второй уровень — PSM с ограниченной ёмкостью. PSM с cap на объём USDC-резервов (например, 20% от total supply). При достижении cap PSM отключается — это защита от полного вытеснения collateral-механизма.
Третий уровень — circuit breaker. Если peg отклоняется более чем на 5% за 1 час — автоматическая пауза minтинга. Ликвидации продолжают работать, новые позиции не открываются. Это даёт governance время среагировать без паники.
Ключевые контракты
StablecoinEngine — core logic, vault management
StabilityFeeCollector — accrual и distribution Stability Fee
PegStabilityModule — direct swap 1:1 к reserve token
PriceOracle — агрегатор Chainlink + Uniswap V3 TWAP
LiquidationEngine — ликвидации залоговых позиций
RateController — PI-регулятор Stability Fee
Oracle для измерения собственного peg — отдельная задача. Chainlink не даёт feed для нового стейблкоина. Используем Uniswap V3 TWAP по паре stablecoin/USDC с периодом 30 минут — достаточно долго для защиты от flash loan manipulation, достаточно коротко для реакции на реальное депег.
Риски, которые закладываем в архитектуру
Governance attack. Если governance token сконцентрирован, атакующий может через flash loan набрать voting power и изменить параметры (поднять collateral factor, убрать circuit breaker). Защита: timelock на все критические параметры (минимум 48 часов), snapshot voting вместо on-chain для обсуждений.
Oracle manipulation. Flash loan + манипуляция в Uniswap pool + вызов функций, зависящих от цены. Защита: TWAP не короче 15 минут, secondary oracle как check.
Liquidity crisis. При массовых ликвидациях обеспечение выбрасывается на рынок, его цена падает, что вызывает новые ликвидации. Защита: auction-based liquidation (Dutch auction) вместо немедленной продажи по рынку, surplus buffer как буфер bad debt.
Ориентиры по срокам
Базовая overcollateralized система с Stability Fee и ликвидациями — 4-6 недель. Полный стек с PSM, AMO, PI-регулятором и governance — 8-14 недель. Внешний аудит перед mainnet — ещё 4-6 недель. Для стейблкоин-протоколов аудит не опционален.







