Розробка системи ліквідацій CDP з голландським аукціоном

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1305 послуг
Розробка системи ліквідацій CDP з голландським аукціоном
Складний
~1-2 тижні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1356
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1248
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    953
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1187
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    644
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    925

Інцидент Black Thursday в MakerDAO показав: навіть топовий протокол може втратити мільйони через архітектурну помилку в системі ліквідацій. Англійський аукціон (ставки зростають) вимагав очікування 6 годин і був вразливим для gas wars. У відповідь MakerDAO впровадив голландський аукціон (Clip) — ціна стартує вище ринкової та експоненційно знижується, будь-хто може купити заставу в будь-який момент. Наша команда з 10+ років досвіду в DeFi пропонує розробку під ключ: від проектування параметрів до деплою та моніторингу. При газі 300k units та 50 gwei вартість однієї ліквідації становить 0.015 ETH, а правильне калібрування incentive може заощадити до 0.01 ETH на ліквідацію. Для протоколу з борговим лімітом $10M тонке налаштування параметрів економить до $5000 на місяць на bad debt та gas.

Як працює голландський аукціон в системі ліквідацій CDP?

Collateralization Ratio та момент тригера

CDP — позиція із заставою та боргом у синтетичному активі. Позиція ліквідується, коли:

CR = (collateral_value / debt_value) < liquidation_ratio

Liquidation ratio залежить від активу: для ETH зазвичай 150%, для більш волатильних — 175-200%, для stablecoins — 105-110%. Правильний вибір liquidation ratio — це балансування між захистом протоколу та ризиком bad debt.

Тригер ліквідації відбувається при виклику liquidate() будь-ким (permissionless). Викликаючий отримує kick reward — невелику винагороду за ініціацію аукціону.

Dutch auction (Clip): чому краще англійського

Англійський аукціон (ставки зростають) вимагає очікування кінця аукціону (до 6 годин) і піддається gas wars. Голландський аукціон (Clip) стартує вище ринкової ціни та експоненційно знижується. Параметри аукціону:

Детальні параметри аукціону
Параметр Опис Типове значення
buf Початковий мультиплікатор ціни 1.2 (20% вище ринкової)
tail Максимальна тривалість 3600 секунд
cusp Максимальне падіння ціни 0.4 (40% від стартової)
chip % застави як kick reward 0.02% (2 bps)
tip Фіксований flat incentive 300 DAI

Якщо аукціон досягає tail або ціна падає до cusp без завершення — спрацьовує reset: ціна скидається до ринкової * buf. Це захист від ситуації Liquidations 1.0.

Flash loan ліквідації через take()

Clip.take() підтримує callback: ліквідатор отримує заставу, продає через DEX та повертає борг в одній транзакції — стандартний flash loan патерн.

interface ClipperCallee {
    function clipperCall(
        address sender,
        uint256 owe,    // борг для погашення
        uint256 slice,  // отримана застава
        bytes calldata data
    ) external;
}

Інтеграція з Uniswap V3 або 1inch всередині clipperCall — стандартна практика для ліквідаційних ботів.

Чому модульна архітектура критична для ліквідацій?

Компоненти

Компонент Функція
Dog.sol Реєстр активних CDP, тригер ліквідацій
Clip.sol Двигун голландського аукціону
Abacus.sol Розрахунок ціни (експоненційне/лінійне падіння)
Spotter.sol Оракульний адаптер, подає ціну в Dog
Vat.sol Core accounting, зберігає всі CDP та борги

Ми реалізуємо аналогічну модульну архітектуру, адаптовану під конкретний протокол. Ключове: Vat — єдине місце зберігання балансів; інші контракти лише записують у Vat через авторизовані виклики.

Оракульна безпека

Dog отримує ціну через Spotter з OSM (Oracle Security Module) — із затримкою 1 година, та поточну ціну для emergency liquidations. Затримка дає час користувачам додати заставу при різкому падінні. Для волатильних активів обираємо затримку 30-60 хвилин, для stablecoins — без затримки.

Liquidator incentive калібровка

Оптимальний incentive = gas cost ліквідації + premium за ризик + profit margin. При газі 300k units та 50 gwei = 0.015 ETH. Kick reward покриває gas, chip дає profit margin. Наприклад, для ETH при ринковій ціні $2000 та debt ceiling в 10 млн оптимальний incentive становить 0.02 ETH, що стимулює ліквідаторів без надлишкового дисконту.

Що входить у роботу

  1. Аналітика: параметри аукціону для кожного типу застави, моделювання incentive structure
  2. Розробка: Dog, Clip, Abacus, оракульна інтеграція, Liquidator bot (off-chain)
  3. Тестування: fork-тести стрес-сценаріїв (симуляція Black Thursday), unit-тести граничних випадків
  4. Деплой: спочатку testnet з форком mainnet, потім mainnet з обмеженим debt ceiling
  5. Документація: опис архітектури, параметрів, інструкції для ліквідаторів
  6. Підтримка: 2 тижні моніторингу після запуску, навчання команди

За підсумками ви отримуєте: повну документацію, доступ до репозиторію з кодом, навчання ваших розробників та 2-тижневу підтримку після деплою. Зв'яжіться з нами, щоб обговорити деталі.

Тестування: що не можна пропустити

Симуляція сценарію, аналогічного Black Thursday, через Foundry fork:

forge test --fork-url $ETH_MAINNET_RPC --fork-block-number 9763200 --match-test testBlackThursdayScenario

Тест: застава падає на 40% за 100 блоків. Перевіряємо: всі CDP з CR < LR йдуть на аукціон, аукціони завершуються, bad debt = 0, reset спрацьовує при відсутності ліквідаторів.

Echidna property: totalSystemDebt <= totalSystemCollateralValue * (1 / minimumCR) при будь-якій послідовності операцій.

Орієнтири за термінами

Базова система ліквідацій CDP з dutch auction для 1-3 типів застави — 1-2 тижні. Розширена система з NFT заставою та кастомним auction механізмом — 3-4 тижні. Вартість розраховується індивідуально — зв'яжіться з нами для оцінки вашого проекту. Наш досвід гарантує надійність та захист від bad debt.

Замовте розробку системи ліквідацій CDP — отримайте консультацію інженерів з 10+ років досвіду в DeFi.

Послуги з розробки DeFi-протоколів повного циклу

Ми проектуємо модульні DeFi-протоколи, в яких математика стейблкоїнів, ліквідності та оракулів працює без збоїв. Mango Markets — краш-тест: атакуючий маніпулював spot price через один акаунт, взяв кредит під завищений колатераль і вивів велику суму. Оракул брав ціну з єдиного джерела без TWAP. Не баг у коді — це архітектурне рішення, яке стало вразливістю. Наш досвід показує: будь-який DeFi-протокол — це система ставок на те, що всі компоненти, від розрахунків до економічних стимулів, вибудовані правильно одночасно.

Ми не пишемо код під «якщо все працює, не чіпай». Ми моделюємо стрес-сценарії: каскадні ліквідації, депег, флеш-позики. І тільки після цього — події, які не зламають протокол. Наші послуги з розробки DeFi-протоколів повного циклу охоплюють усі етапи — від архітектури до запуску та підтримки.

Чому оракули є критичним компонентом DeFi?

Більшість великих зломів DeFi починалися з маніпуляції оракулом. Розберемо три шари, які ми використовуємо в кожному проекті.

Spot price як оракул — не варіант. Uniswap v2 spot price можна зсунути flash loan за одну транзакцію. Ціна в кінці блоку — єдине, що потрапляє в state, її і читає оракул. Схема атаки: зайняти через flash loan → купити актив у пул → ціна піднялася → взяти кредит під завищений колатераль → продати актив → повернути flash loan. Одна транзакція.

TWAP як захист. Uniswap v3 observe() усереднює ціну за період (30 хвилин). Маніпуляція вимагає утримувати ціну кілька блоків — це коштує дорого. Але TWAP повільно реагує на легітимні зміни, що відкриває вікно для arbitrage на ліквідації при різких рухах.

Chainlink Price Feeds — агрегація від багатьох data providers з медіаною. Стандарт для lending. Проблема: heartbeat 1–24 години та deviation threshold 0.5%. Якщо ціна не рухається, фід може не оновлюватися добу. У волатильному ринку — lag.

Оракул Механізм Захист від маніпуляції Затримка
Chainlink Медіана від незалежних провайдерів Висока (децентралізація) До 24 год при 0% руху
Uniswap v3 TWAP Середня ціна за N блоків Висока (складно утримувати) 30 хв — 1 год
Pyth Network Cross-chain low-latency Середня (залежність від publisher) Секунди

У продакшені ми використовуємо дворівневу перевірку: Chainlink aggregator + Uniswap v3 TWAP як верифікатор. Якщо розбіжність більша за N% — транзакція відхиляється, система ставиться на паузу.

Як захистити DeFi-протокол від атак флеш-позик?

Flash loan перетворює будь-якого користувача на володаря необмеженого капіталу на одну транзакцію. Тому при проектуванні контрактів ми припускаємо: доступ до необмеженого капіталу є у всіх. Це змінює threat model повністю.

Легітимні застосування flash loan — арбітраж, ліквідація, самоліквідація. Але протокол повинен перевіряти, що позика не використовується для маніпуляції: оракул не повинен читати ціну з пулу, який можна зсунути за одну транзакцію. Ми додаємо перевірки на block.timestamp та мінімальну глибину ліквідності.

Як ми забезпечуємо безпеку DeFi-протоколу?

Ми не покладаємося на один шар захисту. Кожен контракт проходить формальну верифікацію математичної моделі, стресове тестування на форку mainnet та аудит щонайменше двома незалежними командами (серед яких сертифіковані аудитори ConsenSys Diligence). Гарантія — багаторічний досвід розробки та супроводу протоколів із сукупним TVL понад $500M.

Ключові компоненти DeFi-архітектури

Тип протоколу Основна механіка Головний ризик
DEX (AMM) x*y=k або concentrated liquidity impermanent loss, oracle manipulation
Lending collateral ratio, liquidation bad debt при каскадних ліквідаціях
Yield aggregator автокомпаундинг стратегій rug через strategy upgrade
Derivatives / Perps funding rate, mark price liquidation cascades, socialized losses
Liquid staking stETH-style rebasing depegging при mass unstake

AMM: від x*y=k до concentrated liquidity

Uniswap v2 використовує x * y = k. LP-токени ERC-20 — кожен пул випускає свій токен пропорційно частці. Проблема: ліквідність розмазана по всій кривій, більша частина не використовується.

Uniswap v3 та позиції ERC-721: concentrated liquidity — LP надає ліквідність у діапазоні [priceLow, priceHigh]. Capital efficiency до 4000x для стабільних пар. Але ERC-721 ламає vault-стратегії під ERC-20. Управління ranges — окрема інженерна задача: позиція виходить з діапазону при русі ціни, перестає заробляти fees, стає single-asset. Протоколи типу Arrakis Finance автоматично rebalance. Якщо будуєте vault поверх v3, потрібен власний range manager або інтеграція з існуючим.

Slippage у v3 розраховується через sqrtPriceX96 — 96-бітна fixed-point математика. Помилки на фронтенді призводять до розбіжності між видимим і фактичним slippage.

Curve для пар з близькими цінами (stablecoin/stablecoin, stETH/ETH) використовує інваріант, що комбінує constant product і constant sum. Менше slippage в діапазоні peg. Контракти на Vyper, код математично щільний, аудитувати складно.

Lending протоколи: collateral, liquidation, bad debt

LTV визначає максимальний кредит під колатераль. Liquidation threshold — рівень ліквідації. Різниця — буфер для liquidator. Типовий приклад: LTV 75%, liquidation threshold 80%, bonus 5%. Якщо ціна падає на 20%+, позиція відкрита до ліквідації.

Каскадні ліквідації: багато позицій ліквідується одночасно → ліквідатори продають колатераль → ціна падає → наступна хвиля. LUNA/UST — класичний каскад.

Якщо колатераль знецінюється швидше ліквідації, протокол отримує bad debt. Aave використовує Safety Module (застейканий AAVE), Compound — reserves. Без backstop bad debt соціалізується через dilution supply-токена або взаємозалік.

Проектування системи ліквідації вимагає моделювання стрес-сценаріїв: падіння єдиного liquidation bot, високий gas, делістинг колатералю.

Yield farming та incentive mechanics

Liquidity mining — роздача токенів управління LP-провайдерам. Проблема mercenary capital: фармери приходять, продають токени, йдуть. TVL фіктивний.

Стійкі механіки: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking з penalty. Ve-модель при неправильній реалізації створює governance concentration. Потрібен timelock на зміни gauge weights та ліміти на votingPower.

Що входить у нашу розробку DeFi-протоколів

  • Архітектурна документація: діаграми взаємодії контрактів, стрес-тести ліквідацій, розрахунки оракулів.
  • Реалізація на Solidity 0.8.x з OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) та Solmate для gas-optimised base contracts.
  • Foundry fork-тести на реальному mainnet (Uniswap, Chainlink, Aave) — тести до деплою покривають всі сценарії. Завдяки Foundry час тестування скорочується на 80% порівняно з Hardhat.
  • Аудит: мінімум два незалежних аудитори для TVL від значного рівня. Code4rena або Sherlock для bug bounty.
  • Деплой з Gnosis Safe 3/5 multisig + timelock 48–72 години.
  • Моніторинг через Tenderly (alerts, симуляції), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Підтримка після запуску: оновлення, патчі, апгрейди через proxy.

Наші компетенції та досвід

Ми розробляємо DeFi-протоколи з моменту активного розвитку ринку — за цей час реалізували 30+ проектів із загальним TVL понад $500M. Серед клієнтів — протоколи в топ-20 за TVL на Ethereum, Arbitrum та Base. Команда сертифікованих розробників Solidity, які пройшли аудиторські треки ConsenSys Diligence. Гарантія якості підтверджена багаторічним досвідом та відсутністю інцидентів після запуску.

Терміни

  • DEX з AMM (Uniswap v2 fork): 6–10 тижнів
  • Lending protocol (Aave-style, один колатераль): 3–5 місяців
  • Yield aggregator з кількома стратегіями: 2–4 місяці
  • Повноцінний DeFi-протокол з governance: 5–8 місяців включаючи аудит

Вартість розраховується індивідуально — зв'яжіться для оцінки вашого проекту. Отримайте консультацію з архітектури DeFi-протоколу — ми проаналізуємо ризики та запропонуємо оптимальне рішення.