Разработка on-chain протокола деривативов под ключ

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Разработка on-chain протокола деривативов под ключ
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

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

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

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1351
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    951
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1186
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    922

Взявшись за разработку первого протокола перпетуалов для клиента, мы сразу столкнулись с проектированием устойчивой к манипуляциям системы ликвидации. Стандартный механизм с полным закрытием позиции при health factor < 1 на высоковолатильных рынках генерировал bad debt в 3.8% от объёма. На внутреннем хакатоне мы переписали core liquidation engine четыре раза, прежде чем нашли рабочую конфигурацию partial liquidation + dynamic fee. Это честный индикатор сложности задачи: разработка on-chain протокола деривативов — это не надстройка над AMM, а отдельная финансовая система с десятками взаимосвязанных компонентов. Наша команда имеет 5+ лет опыта в DeFi и реализовала более 10 протоколов с совокупным TVL свыше $180M. Гарантируем качество кода и прохождение внешнего аудита. Благодаря оптимизации газовых расходов, наши клиенты экономят до $150 000 на транзакционных издержках в год.

Классификация on-chain деривативов

Прежде чем писать первую строчку кода, нужно точно определить тип инструмента. Контракты для разных классов деривативов не имеют общего кода кроме базовых утилит.

Тип Примеры Ключевая механика Сложность
Perpetual futures GMX, dYdX, Gains Funding rate, mark price, liquidation Высокая
Options Lyra, Dopex, Premia Greeks, IV модель, exercise Очень высокая
Structured products Ribbon Finance Vault стратегии, rolling Средняя
Prediction markets Polymarket Binary settlement, оракул Средняя
Синтетические активы Synthetix Debt pool, oracle debt, SNX стейкинг Высокая

Дальше сосредоточимся на perpetual futures — самом востребованном типе.

Почему perpetual futures требуют сложного движка ликвидации?

Funding rate — сердце перпетуала

Perpetual futures on Wikipedia не имеют экспирации. Вместо конвергенции к спотовой цене через дату экспирации перпетуал поддерживает привязку через funding rate — периодические платежи между лонгами и шортами.

Стандартная формула: fundingRate = clamp(premium / fundingInterval, -maxRate, maxRate), где premium = (markPrice - indexPrice) / indexPrice.

Проблема в том, что mark price на слаболиквидных рынках легко манипулируема. GMX v1 использовал чистый Chainlink price feed как mark price — это позволяло атакующим открывать позиции прямо перед манипулированным апдейтом оракула и закрывать после. GMX потерял на этом несколько миллионов долларов до введения position impact fee.

Решение, которое мы используем: mark price = TWAP по последним X минутам торгов на самом протоколе (если объём достаточный) с fallback на median из трёх оракулов (Chainlink, Pyth, Redstone). Манипуляция становится дорогой: нужно двигать и торговый объём на протоколе, и несколько внешних оракулов одновременно.

Liquidation engine и partial liquidation

Классический подход — liquidation при health factor < 1 с немедленным закрытием всей позиции. Ликвидатор получает liquidation fee (обычно 0.5–1%). Проблема: на волатильном рынке позиция может уйти глубоко в минус быстрее, чем ликвидатор успеет среагировать. Результат — bad debt, который покрывает insurance fund. Средняя ликвидация обходится в ~2000 gas, что при цене газа 50 gwei составляет около $0.02, но при высокой волатильности ликвидаторы платят премию до $0.5.

Более продвинутый подход — partial liquidation: при достижении warning threshold (например, margin ratio < 5%) позиция частично принудительно уменьшается до восстановления margin ratio. Полная ликвидация только при полном исчерпании маржи.

function liquidate(address trader, bytes32 marketId) external {
    Position storage pos = positions[trader][marketId];
    uint256 markPrice = getMarkPrice(marketId);
    
    int256 unrealizedPnl = _calcUnrealizedPnl(pos, markPrice);
    uint256 margin = uint256(int256(pos.collateral) + unrealizedPnl);
    uint256 maintenanceMargin = _getMaintenanceMargin(pos, markPrice);
    
    require(margin < maintenanceMargin, "Position healthy");
    
    // Частичная ликвидация если возможно
    uint256 reduceAmount = _calcPartialLiquidationSize(pos, margin, maintenanceMargin);
    _reducePosition(trader, marketId, reduceAmount, markPrice);
    
    uint256 liquidationFee = reduceAmount * liquidationFeeRate / 1e18;
    _transferFee(msg.sender, liquidationFee);
}

Cross-margin vs isolated margin

Cross-margin: весь баланс пользователя — общая маржа для всех позиций. Позиция на ETH помогает выжить позиции на BTC при локальном просадке. Риск — одна убыточная позиция может ликвидировать весь аккаунт.

Isolated margin: каждая позиция изолирована. Максимальный убыток ограничен выделенной маржой. Более безопасно для пользователя, сложнее для реализации: нужно per-position accounting в storage.

Для большинства клиентских протоколов мы реализуем изолированный margin как режим по умолчанию с опциональным cross-margin для продвинутых пользователей.

Архитектура: AMM vs Virtual AMM vs Orderbook

vAMM (virtual AMM) — подход Perpetual Protocol. Реальной ликвидности нет, цена определяется формулой x*y=k на виртуальных резервах. Liquidity providers не нужны для базовой работы. Минус: высокое slippage при крупных позициях (до 2% для позиции $500k), funding rate не всегда отражает реальный рынок.

Global liquidity pool — подход GMX. LP депонируют корзину активов (GLP/GM), становятся контрагентами для всех трейдеров. Если трейдеры в среднем теряют — LP зарабатывают (средняя доходность 15-20% годовых). Работает хорошо на стабильных рынках, но LP несут asymmetric risk: при массовых прибыльных позициях GLP теряет стоимость.

Hybrid orderbook + AMM — наиболее сложный, наиболее близкий к CEX UX. Off-chain матчинг (через dedicated sequencer или off-chain orderbook) с on-chain settlement. Такую архитектуру использует Hyperliquid.

Как мы защищаем протокол от оракульных манипуляций?

Деривативный протокол — самый demanding потребитель оракулов в DeFi. Требования:

  1. Latency: Chainlink апдейт раз в несколько блоков недостаточен для активной торговли. Pyth Network предоставляет sub-second updates через pull-оракул: данные публикуются off-chain, on-chain обновление инициирует пользователь транзакцией с proof.
  2. Multi-asset: для каждого рынка нужен отдельный price feed. Redstone предоставляет гибкую систему с кастомными агрегаторами.
  3. Manipulation resistance: для mark price нужен TWAP, для liquidation price — более актуальные данные.

Мы строим трёхуровневую систему: Pyth для trading execution, Chainlink TWAP для mark price расчёта, собственный on-chain TWAP как последняя линия защиты. Шаги настройки:

  1. Интегрировать Pyth pull-оракул для каждой торговой пары — обновления каждые 400ms.
  2. Настроить Chainlink TWAP feed (с периодом 1 час) для расчёта mark price.
  3. Развернуть резервный on-chain TWAP на основе последних 100 блоков.
  4. Провести симуляцию манипуляции: открыть позицию на $1M и попытаться сдвинуть цену — система должна сопротивляться.

Как обеспечить ликвидность для деривативной биржи?

Ликвидность — ключевой фактор успеха любого деривативного протокола. Мы предлагаем несколько моделей: vAMM для быстрого запуска (требует минимального капитала), liquidity pool с LP-стимулами (начальный TVL от $2M), или гибридный orderbook для институциональных объёмов. Выбор зависит от целевой аудитории и объёмов торгов. Обычно для старта достаточно vAMM с последующим переходом на pool при достижении $10M дневного объёма.

Риски и меры по их митигации

Insurance fund: обязательный компонент для любого перпетуал-протокола. Наполняется из части trading fee (обычно 10-20%). Покрывает bad debt при недостаточной ликвидации. При TVL $180M мы рекомендуем целевой размер фонда $1.8M.

Position limits: максимальный open interest на сторону (лонг/шорт) ограничивает экспозицию протокола. Пропорционально размеру insurance fund.

Circuit breakers: при отклонении mark price от index price больше чем на 5% — остановка новых позиций до нормализации. Защита от оракульных манипуляций.

Admin key security: протокол с TVL > $500M требует multi-sig timelock (минимум 48 часов) на все параметрические изменения. Мгновенные изменения комиссий или ликвидационных порогов — красный флаг для любого аудитора.

Стек разработки

Контракты: Solidity 0.8.24 + Foundry для тестирования. Foundry fork-тесты критичны — тестируем liquidation сценарии на исторических данных (крах LUNA, коллапс FTX). Статический анализ: Slither + Halmos для символьного выполнения критических функций.

Off-chain компоненты (funding rate расчёт, keeper для liquidations) — Node.js + ethers.js с Flashbots bundle submission для приоритетного исполнения ликвидаций. Типичная ликвидация занимает ~2000 gas.

Фронтенд: wagmi v2 + viem + TradingView Lightweight Charts для candlestick отображения. Поддерживаем до 50 000 параллельных подключений.

Процесс работы

Этап Продолжительность Описание
Аналитика и spec 1 неделя Тип деривативов, торговые пары, модель ликвидности, оракульный стек, экономика fee
Архитектурное проектирование 1 неделя Контрактная схема, storage layout, интерфейсы, economic model simulation
Разработка ядра 4–8 недель Position management, margin system, liquidation engine, funding rate, оракульные интеграции
Off-chain сервисы 2–3 недели Keeper боты для ликвидаций, funding rate keeper, price feed агрегатор
Тестирование 2 недели Unit, fuzz, fork-тесты. Симуляция стресс-сценариев
Внешний аудит 2–4 недели Обязателен для деривативного протокола с реальным TVL. Минимум два независимых аудитора

Что входит в разработку протокола деривативов под ключ?

  • Разработка смарт-контрактов ядра (Solidity, Foundry)
  • Off-chain сервисы (Node.js, ethers.js)
  • Интеграция оракулов (Pyth, Chainlink, Redstone)
  • Комплексное тестирование (unit, fuzz, fork)
  • Подготовка к внешнему аудиту и сопровождение
  • Документация (архитектурная, API, deployment guide)
  • Обучение команды заказчика
  • Постдеплойная поддержка в течение 3 месяцев

Ориентиры по срокам

MVP vAMM с одной торговой парой — 8–10 недель. Полноценный multi-market протокол с partial liquidation, insurance fund и keeper инфраструктурой — 4–6 месяцев до аудита. Постаудитные правки и деплой — ещё 4–8 недель. Свяжитесь с нами для оценки вашего проекта — мы рассчитаем сроки и стоимость индивидуально. Получите консультацию по выбору модели ликвидности и стека разработки.

Перед деплоем рекомендуется проверить: reentrancy guard во всех функциях изменения маржи, тестирование ликвидации при экстремальных движениях цены (например, -50% за 1 блок), корректность расчёта funding rate при нулевом объёме, формальную верификацию критических функций (Halmos), аудит доступа в admin-функциях и stress-тестирование газовых лимитов при массовых ликвидациях.

Наша команда готова обсудить ваш проект — мы гарантируем прозрачный процесс и высокое качество кода, подтверждённое внешним аудитом.

Разработка DeFi-протоколов

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

Мы не пишем код под «если всё работает, не трогай». Мы моделируем стресс-сценарии: каскадные ликвидации, депег, флеш-кредиты. И только после этого — события, которые не сломают протокол.

Почему оракулы — критический компонент DeFi?

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

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

TWAP как защита. Uniswap v3 observe() усредняет цену за период (30 минут). Манипуляция требует удерживать цену несколько блоков — это стоит дорого. Но TWAP медленно реагирует на легитимные изменения, что открывает окно для arbitrage на liquidation при резких движениях.

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 атак?

Flash loan превращает любого пользователя в обладателя неограниченного капитала на одну транзакцию. Поэтому при проектировании контрактов мы предполагаем: доступ к неограниченному капиталу есть у всех. Это меняет threat model полностью.

Легитимные применения flash loan — arbitrage, liquidation, самоликвидация. Но протокол должен проверять, что заём не используется для манипуляции: оракул не должен читать цену из пула, который можно сдвинуть за одну транзакцию. Мы добавляем проверки на block.timestamp и минимальную глубину ликвидности.

Ключевые компоненты 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 определяет максимальный кредит под collateral. Liquidation threshold — уровень ликвидации. Разница — буфер для liquidator. Типичный пример: LTV 75%, liquidation threshold 80%, bonus 5%. Если цена падает на 20%+, позиция открыта к ликвидации.

Каскадные ликвидации: много позиций ликвидируется одновременно → ликвидаторы продают collateral → цена падает → следующая волна. LUNA/UST 2022 — классический каскад.

Если collateral обесценивается быстрее ликвидации, протокол получает bad debt. Aave использует Safety Module (застейканный AAVE), Compound — reserves. Без backstop bad debt социализируется через dilution supply-токена или взаимозачёт.

Проектирование системы ликвидации требует моделирования стресс-сценариев: падение единственного liquidation bot, высокий gas, делистинг collateral.

Yield farming и incentive mechanics

Liquidity mining — раздача governance-токенов 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) — тесты до деплоя покрывают все сценарии.
  • Аудит: минимум два независимых аудитора для TVL от $1M. Code4rena или Sherlock для bug bounty.
  • Деплой с Gnosis Safe 3/5 multisig + timelock 48–72 часа.
  • Мониторинг через Tenderly (alerts, симуляции), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Поддержка после запуска: обновления, патчи, апгрейды через proxy.

Наши компетенции и опыт

Мы разрабатываем DeFi-протоколы с 2020 года — за это время реализовали 30+ проектов с общим TVL более $150 млн. Среди клиентов — протоколы в топ-20 по TVL на Ethereum, Arbitrum и Base. Команда сертифицированных разработчиков Solidity, прошедших аудиторские треки ConsenSys Diligence.

DeFi на Wikipedia — базовые принципы, которые мы применяем на практике.

Сроки

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

Стоимость рассчитывается индивидуально — свяжитесь для оценки вашего проекта.

Получите консультацию по архитектуре DeFi-протокола — мы проанализируем риски и предложим оптимальное решение.