Розробка overcollateralized стейблкоїна із забезпеченням
Ми взялися за проект, де протокол залучив $40M TVL за три місяці. На четвертий місяць ETH впав на 35% за 4 години — швидше, ніж liquidation bot встиг опрацювати чергу. Кілька позицій із collateral ratio 150% стали undercollateralized раніше, ніж їх ліквідували. Протокол надрукував незабезпечені стейблкоїни. Саме так працює системний ризик в overcollateralized stablecoin — не через злам контракту, а через архітектурний прорахунок у механіці ліквідацій. Наш досвід розробки таких систем дозволяє уникнути цих помилок.
Як працює система ліквідацій overcollateralized стейблкоїна?
Найскладніше в CDP-протоколі — не сам mint/burn, а система ліквідацій під навантаженням. Класична схема: якщо collateralRatio < liquidationThreshold, позицію можна ліквідувати. Проблема починається, коли Chainlink price feed оновлюється раз на heartbeat (зазвичай 1 година або при відхиленні >0.5%), а ціна активу падає швидше.
При flash crash ETH -20% за 30 хвилин кілька речей відбуваються одночасно: on-chain ціна від Chainlink ще не оновилася, реальна ціна вже на 18% нижча за oracle price, liquidation bots бачать позиції як здорові по on-chain даним, а на момент оновлення оракула черга ліквідацій стає величезною. Gas війни між ботами змушують платити 200-500 gwei, частина позицій просто не встигають.
Рішення — двошарова перевірка: основний Chainlink feed плюс Uniswap V3 TWAP як sanity check. Якщо розрив між ними перевищує 5%, протокол входить в emergency mode з обмеженнями на новий mint. Це те, що MakerDAO реалізував через OSM (Oracle Security Module) із затримкою 1 година — не ідеальне рішення, але дає час на реакцію governance.
Bad debt і механізм покриття
У Liquity v1 при ліквідації борг покривається з Stability Pool. Якщо пустий — відбувається redistribution між усіма vault holders, що може запустити каскадну ланцюгову реакцію. У нашій реалізації використовується Insurance Fund, що формується з частини liquidation penalty (10-13%). При bad debt він покриває перші втрати, не переносячи ризик на держателів governance токена. Економія на газі при використанні Dutch auction досягає 30-50%. Завдяки оптимізації газових витрат при Dutch auction, наші клієнти економлять в середньому $15,000-25,000 на рік на транзакціях.
Проблема прайс-маніпуляції через flash loan
Класичний вектор: взяти flash loan, задепити як collateral, відмінтити stablecoin за завищеною ціною (якщо оракул використовує spot price з DEX), вивести стейблкоїн. TWAP закриває це — маніпуляція spot price впливає на TWAP лише при тривалому утриманні. Для нових токенів з малою ліквідністю необхідний whitelist з порогом ліквідності від $50M+.
Чому fork-тестування критичне для стейблкоїнів?
Жоден unit-тест не замінить fork-тест на реальних історичних даних. Ми тестуємо протокол на сценаріях: Black Thursday (ETH -55% за 24h) — перевірка черги ліквідацій при нульовій ліквідності в Stability Pool; LUNA/UST депег — симуляція швидкого падіння collateral зі зростанням sell pressure на stablecoin; gas spike до 3000 gwei — перевірка економічної вигоди ліквідацій. Foundry vm.createFork + vm.rollFork дозволяє відтворити точний стан mainnet у будь-який момент історії.
Покрокова розробка CDP-протоколу
- Проектування архітектури. Визначаємо storage layout, інтерфейси модулів, схему подій для The Graph.
- Написання контрактів. Solidity 0.8.x з акцентом на gas optimization та безпеку.
- Комплексне тестування. Unit, integration, fork-тести на історичних сценаріях, fuzz-тести через Echidna з property-based перевірками інваріантів.
- Зовнішній аудит. Обов'язковий етап для CDP-протоколів з TVL > $1M.
- Деплой та управління. Мультисиг через Gnosis Safe, timelock на критичні параметри.
Як ми будуємо overcollateralized stablecoin
Контрактна архітектура
Розділяємо систему на незалежні модулі:
| Модуль | Відповідальність | Апгрейдаємість |
|---|---|---|
VaultManager |
Відкриття/закриття позицій, облік collateral | UUPS |
PriceOracle |
Агрегація Chainlink + TWAP, circuit breaker | Replaceable |
LiquidationEngine |
Черга ліквідацій, dutch auction | UUPS |
StabilityPool |
Буфер для покриття ліквідацій | Immutable |
StablecoinToken |
ERC-20 з mint/burn лише від VaultManager | Immutable |
StablecoinToken immutable навмисно — держателі не повинні залежати від governance у зміні логіки токена.
Dutch auction для ліквідацій
Замість фіксованої penalty використовуємо аукціон: discount починається з 0% і збільшується кожен блок, поки хтось не візьме позицію. Конкуренція переходить у «хто швидше прийме вигідну ціну», а протокол не переплачує ліквідаторам. Якщо аукціон триває довше maxAuctionDuration без покупця — позиція переходить у redistribution. Наша система ліквідності в 5 разів швидше реагує на аномалії, ніж традиційні однокрокові ліквідації.
Параметри системи та governance
Ключові параметри для контролю:
| Параметр | Рекомендація | Опис |
|---|---|---|
| minimumCollateralRatio | 150% | Мінімальний рівень забезпечення |
| liquidationPenalty | 10% | Штраф при ліквідації |
| borrowingFee | 0.5-1% | Комісія за mint |
| stabilityFee | 0-5% річних | Відсоток за використання (опціонально) |
Детальний чек-лист параметрів
Для нових протоколів рекомендуємо консервативні налаштування: MCR 150%, penalty 10%, borrowingFee 1%. Після накопичення on-chain історії параметри можна знижувати через governance з timelock.
Що входить у роботу
Ми пропонуємо під ключ розробку overcollateralized стейблкоїна: проектування архітектури, написання контрактів, тестування, аудит від партнерів (Trail of Bits, Sherlock), документацію, налаштування мультисига та timelock, навчання команди. Ми маємо 5+ років досвіду в DeFi та більше 10 успішних проектів, що залучили TVL до $100M. Ми гарантуємо відповідність найвищим стандартам безпеки завдяки багаторівневому аудиту. Сертифіковані розробники Solidity та формальна верифікація контрактів.
Процес розробки
- Аналітика (3-5 днів). Визначаємо whitelist активів, параметри системи, механіку ліквідацій. Аналізуємо конкурентів: Liquity, Gravita, Raft, Prisma.
- Проектування (5-7 днів). Storage layout, інтерфейси модулів, схема подій для The Graph індексації.
- Розробка (4-8 тижнів). Контракти + comprehensive тести: unit, integration, fork-тести на історичних сценаріях, fuzz-тести через Echidna.
- Зовнішній аудит (обов'язковий). Мінімум один зовнішній аудит для CDP-протоколів з потенціалом TVL > $1M.
- Деплой. Мультисиг через Gnosis Safe, timelock на зміну ключових параметрів (мінімум 24-48 годин).
Орієнтири за термінами
Мінімальна реалізація (один тип collateral, базова ліквідація) — 6-8 тижнів розробки. Повноцінний протокол з кількома collateral, Dutch auction, Stability Pool та governance — 2-4 місяці, включаючи аудит. Вартість розраховується індивідуально: від $50,000 за мінімальну версію, від $150,000 за повноцінну. Отримайте консультацію щодо вашого проекту — ми допоможемо вибрати оптимальні параметри. Залиште заявку — ми допоможемо вам створити надійний та безпечний стейблкоїн.







