Разработка алгоритмического стейблкоина
Terra/LUNA рухнула за 72 часа — $40 млрд испарилось, потому что механизм rebasing опирался на единственный инвариант: спрос на UST будет расти вечно. Когда спрос развернулся, алгоритм начал гиперинфлировать LUNA для восстановления пега, что ускорило бегство из UST, что потребовало ещё больше LUNA. Death spiral. Это не баг имплементации — это баг токеномической модели, которую никто не стрессировал в сценарии «все выходят одновременно».
Алгоритмические стейблкоины — наиболее сложная категория DeFi-протоколов. Здесь экономика и смарт-контракты зависят друг от друга настолько плотно, что ошибка в одном уровне мгновенно разрушает другой.
Почему большинство алгоритмических стейблкоинов не доживают до года
Проблема единственного механизма стабилизации
Протоколы, которые выжили — FRAX, DAI с PSM, crvUSD — используют несколько уровней защиты пега. Чисто алгоритмические системы типа Basis Cash, ESD, DSD умерли, когда рынок не захотел покупать облигации (bonds/coupons) во время contraction фазы. Механизм работает только если в него верят. Как только вера пропадает — автоматика не успевает.
Ключевое отличие выживших: коллатерализованный backstop. FRAX держит часть резервов в USDC. crvUSD использует LLAMMA (Lending-Liquidating AMM Algorithm) — при падении залога система не ликвидирует одним срезом, а постепенно конвертирует залог в стейблкоин через специальную AMM-кривую. Это даёт буфер времени и снижает liquidation cascade.
Oracle manipulation как вектор атаки на peg
Алгоритмический стейблкоин завязан на оракул цены. Если протокол использует spot price из single DEX-пула как ценовой сигнал для expansion/contraction — он уязвим для flash loan манипуляции.
Сценарий: атакующий берёт флеш-займ, создаёт искусственный спрос на стейблкоин (цена летит выше $1), протокол видит expansion сигнал и минтит новые токены, атакующий продаёт позицию и погашает займ. Система расширила предложение на ложном сигнале, после чего цена возвращается ниже $1 и запускает contraction.
Решение — TWAP oracle с достаточным окном (минимум 30 минут для Uniswap V3 TWAP), и лучше Chainlink как второй источник с circuit breaker: если Chainlink и TWAP расходятся более чем на X% — expansion/contraction приостанавливаются.
Rebasing vs seigniorage shares vs CDP
Три основные архитектуры с принципиально разными рисками:
| Архитектура | Примеры | Механизм | Главный риск |
|---|---|---|---|
| Rebasing | AMPL, BASE | Изменение баланса всех кошельков | UX-путаница, интеграция с DeFi сложна |
| Seigniorage shares | Basis Cash, TITAN | Отдельный share-токен поглощает волатильность | Death spiral при потере доверия |
| CDP с алго-элементами | FRAX v2, crvUSD | Частичный коллатерал + алгоритм | Зависимость от качества коллатерала |
| Overcollateralized | DAI | Избыточный залог + PSM | Капиталоёмкость, централизация через USDC |
Для нового проекта чистый seigniorage shares без коллатерала — это риск, который сложно обосновать после Terra. Гибридные модели FRAX-style или системы с ликвидирующим AMM (crvUSD-style) дают лучшее соотношение капиталоэффективности и устойчивости.
Как строим алгоритмический стейблкоин
Моделирование токеномики до написания кода
Первые 2-3 недели — агентное моделирование в Python. Симулируем несколько классов участников: holders (пассивные), arbitrageurs (активно поддерживают пег), speculators (покупают share-токен на expansion), паникёры (выходят при первом депеге). Гоняем сценарии: bank run 30% TVL за 24 часа, oracle failure на 6 часов, flash crash залога на 40%.
Если модель не держит пег при bank run 30% — архитектура меняется, не имплементация.
Контракты: что строим
Stablecoin ERC-20 с контролируемым mintом/burn. Только авторизованные контракты (Policy, PSM, CDP) могут минтить. Никакого owner mint — это вектор ruq pull.
Policy контракт — мозг системы. Читает TWAP oracle, считает deviation от $1, принимает решение об expansion/contraction. Ставки expansion/contraction — параметры governance, не хардкод.
Bond/coupon механизм для contraction (если выбрана seigniorage-архитектура): пользователь сжигает стейблкоин, получает bond с premium, который можно погасить при следующем expansion. Реализуем через ERC-1155 с различными сроками погашения — это даёт вторичный рынок облигаций.
PSM (Peg Stability Module) — прямой своп стейблкоин/USDC по курсу 1:1 с небольшой комиссией (0.1%). Это жёсткий якорь. Да, это частичная централизация. Но без PSM удерживать жёсткий пег на turbulent рынке практически невозможно.
LLAMMA-style AMM (если строим CDP-систему): ликвидации происходят не одним срезом, а через специальную кривую, которая начинает конвертировать залог в стейблкоин при приближении к liquidation price. Контракт сложнее стандартного CDP, зато liquidation cascade невозможен по конструкции.
Тестирование: обязательные сценарии
Обычные unit-тесты недостаточны. Строим fork-тесты на Ethereum mainnet через Foundry vm.createFork и гоняем:
- Flash loan атака на TWAP oracle: берём займ в Uniswap V3, двигаем цену, смотрим реакцию Policy
- Bank run simulation: 50 последовательных крупных redemption в одном блоке
- Oracle failure: Chainlink возвращает stale price (превышен
updatedAtthreshold), система должна встать на паузу - Governance attack через timelock: проверяем, что критические параметры (max expansion rate) защищены минимальным delay
Fuzzing через Echidna с инвариантами: totalSupply >= collateralValue никогда не нарушается, pegDeviation не может превысить X% при нормальных условиях.
Интеграции и инфраструктура
Chainlink price feeds для залоговых активов — обязательно. The Graph для индексации событий (expansion, contraction, bond issuance) — frontend не может полагаться на eth_getLogs для истории. Gnosis Safe с timelock для governance-операций.
Для мониторинга депеггинга — Tenderly alerts на события Policy контракта и on-chain цену в AMM. Если цена уходит за пределы band — триггер для команды до того, как это заметят пользователи.
Процесс работы
Токеномическое исследование (1-2 недели). Выбор архитектуры, агентное моделирование, stress testing модели. Документ с инвариантами системы — основа для аудита.
Проектирование контрактов (1 неделя). Диаграммы взаимодействия, storage layout, интерфейсы. На этом этапе фиксируем все точки входа для governance и убеждаемся, что attack surface минимален.
Разработка (4-8 недель). Policy, stablecoin, bond mechanism, PSM или LLAMMA в зависимости от архитектуры. Параллельно — тесты, включая фuzz и fork-тесты.
Внешний аудит. Для любого стейблкоина с реальными деньгами — обязателен. Минимум одна фирма уровня Trail of Bits, Spearbit, или OtterSec.
Деплой и мониторинг. Сначала ограниченный launch с cap на total supply, постепенное снятие ограничений по мере доказательства стабильности.
Сроки: от 2 месяцев до полугода в зависимости от сложности архитектуры и требований к аудиту. Стоимость рассчитывается после выбора механики и объёма работ.







