Розробка системи захисту від ліквідації

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

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

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

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

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

Розробка системи захисту від ліквідації

Позиція на $500k в Aave, health factor падає з 1.8 до 1.05 за 40 хвилин під час flash crash. Користувач спить. Ліквідатор бачить позицію з health factor 1.02 у mempool, відправляє транзакцію з liquidationCall, отримує 5% бонус від колатералю. $25k йде ліквідатору за одну транзакцію.

Системи автоматичного захисту від ліквідації вирішують саме цю ситуацію: моніторинг health factor у real-time, автоматичне поповнення колатералю або часткове погашення боргу до того, як позиція стане вразливою.

Архітектура захисту: три підходи

On-chain автоматизація через Gelato або Chainlink Automation

Найнадійніший підхід для критичних позицій. Smart contract реєструє завдання в Gelato Network або Chainlink Automation. Keeper-нода перевіряє checkUpkeep кожен блок. Якщо health factor впав нижче порогу — автоматично викликається performUpkeep, який поповнює колатераль або погашає частину боргу.

Ключові параметри:

Параметр Описання Типова значення
triggerThreshold Health factor для тригера 1.3–1.5
targetThreshold Health factor після захисту 1.8–2.0
maxGasPrice Максимальна ціна газу 100–200 gwei
cooldownPeriod Пауза між виконаннями 10–30 хвилин

Вузьке місце: вартість Gelato/Chainlink Automation. При $0.05 за виконання та моніторингу кожні 30 секунд — $144/місяць на одну позицію. Для позицій з колатералем >$50k це обґрунтовано; для дрібних — ні.

Flash loan-based реbалансування

Якщо у користувача немає вільних коштів для поповнення колатералю, захист може використовувати flash loan. Алгоритм:

  1. Позичити flash loan з Aave/Balancer у collateral токен
  2. Поповнити колатераль у захищаному протоколі
  3. Позичити debt token під новий, вищий колатераль
  4. Повернути flash loan з позичених коштів
  5. Чистий результат: позиція переважена, flash loan повернений, мала комісія протоколу утримана

Це працює тільки якщо цільовий health factor досяжний з поточним LTV та цінами на ринку. Контракт повинен перевірити це перед виконанням — інакше транзакція зареверується після списання газу.

Моніторинг через The Graph + off-chain сервіс

Off-chain компонент: сервіс підписується на события Aave Borrow, Withdraw, LiquidationCall через WebSocket до ноди (Alchemy/Infura). Для кожної события, яка впливає на відстежувані адреси — перерахунок health factor через multicall до getAccountData. При перетині порогу — відправка захисної транзакції.

Проблема цього підходу: liveness залежить від off-chain сервісу. Якщо сервер впав — позиція не захищена. Для production: кілька екземплярів у різних регіонах, моніторинг через UptimeRobot/Grafana, circuit breaker при аномальних цінах газу.

Глибше: як влаштована ліквідація в Aave v3

Розуміння механізму ліквідації критично для правильного налаштування захисту. У Aave v3 ліквідація можлива коли:

healthFactor = sum(collateral_i * price_i * liquidationThreshold_i) / totalDebt
healthFactor < 1.0

Ліквідатор може погасити до 50% боргу (close factor) за одну транзакцію та отримати колатераль з liquidation bonus (5–15% залежно від активу). Для ETH-колатералю бонус 5%, для менш ліквідних активів — вищий.

Важливий нюанс: при health factor < 0.95 у Aave v3 активується режим bad debt — ліквідатор може взяти весь колатераль без повного погашення боргу. Це сценарій, при якому протокол несе збитки. Система захисту повинна запрацювати задовго до цього порогу.

Ціновані маніпуляції та oracle lag

Flash crash на Binance не завжди негайно відображається у Chainlink price feed — медіана з 31 джерела оновлюється з затримкою, deviation threshold зазвичай 0.5–1%. У цьому вікні: реальна ціна ETH $1800, оракул все ще показує $1900. Ліквідацій немає. Через 2 блока оракул оновився — $100 різниця за секунди, сотні позицій одночасно стають ліквідовані.

Система захисту повинна враховувати цей lag: якщо spot price (DEX TWAP) відхилився від oracle price більше ніж на 5% — це сигнал для превентивного захисту, не чекаючи оновлення оракула.

Контракт захисту: критичні деталі

Access control для автоматичних операцій

Захисний контракт діє від імені користувача (додає колатераль, погашає борг). Користувач повинен видати дозвіл через approve або використовувати ERC-4337 Account Abstraction, де захисний модуль — validating plugin для smart wallet.

Без AA-підходу є ризик: контракт має approve на токени користувача. Якщо у контракті є уразливість — це attack surface для drain. Весь access control проходить review на privilege escalation.

Slippage при автоматичному своп

Якщо захист вимагає своп токена (продати частину колатералю → погасити борг), slippage tolerance критична. Занадто м'яка (5%) — sandwich атака з'їсть додаткову частину позиції. Занадто жорстка (0.1%) — транзакція зареверується при волатильності. Оптимум: динамічний slippage через Chainlink volatility feed або fixed 0.5% з retry logic.

Процес роботи

Аналітика (2–3 дня): аудит цільового протоколу (Aave v3 / Compound v3 / Morpho), визначення доступних векторів захисту, аналіз ліквідаційних сценаріїв через fork-симуляцію.

Розробка смарт-контракту (4–6 днів): protection logic, flash loan інтеграція, access control, события для моніторингу.

Off-chain моніторинг (3–4 дня): сервіс tracking health factor, інтеграція з Gelato/Chainlink Automation, alerting.

Тестування (3–4 дня): fork-тести на Ethereum mainnet з реальними позиціями, fuzz-тести на граничні значення health factor, симуляція flash crash сценаріїв.

Деплой та моніторинг (1–2 дня): Foundry script, верифікація, налаштування Grafana дашборду.

Итого: 1–2 тижні залежно від кількості підтримуваних протоколів та складності rebalancing стратегії. Вартість розраховується індивідуально.