Разработка протокола опционов на блокчейне (Dopex-стиль)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка протокола опционов на блокчейне (Dopex-стиль)
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Разработка протокола опционов на блокчейне (Dopex-стиль)

Децентрализованные опционы — один из самых технически сложных сегментов DeFi. Dopex построил архитектуру, которая решает главную проблему on-chain опционов: ликвидность. Вместо orderbook, где покупатель и продавец должны найти друг друга, Dopex использует пулы ликвидности (SSOV — Single Staking Option Vault), где LP-провайдеры коллективно выступают в роли продавца опционов. Купить call или put можно в любой момент, пока в пуле есть резервы. Реализация такого протокола с нуля — это 6-16 недель работы, в зависимости от глубины функционала.

Механика SSOV: как работает пул опционов

Epoch-структура и strike цены

SSOV работает эпохами — фиксированными периодами (обычно 1 месяц). В начале эпохи задаётся набор strike цен (например, для ETH: $2000, $2200, $2400, $2600). LP-провайдеры вносят ETH в vault — их средства станут collateral для опционных контрактов.

Покупатель опциона платит premium и получает право на payoff при экспирации:

  • Call option: payoff = max(0, price_at_expiry - strike)
  • Put option: payoff = max(0, strike - price_at_expiry)

Расчёт premium — ключевой инженерный вызов. Dopex использует Black-Scholes с on-chain имплементацией. Проблема: Black-Scholes требует ln() и e^x — функции, которых нет в EVM нативно. Реализация через Taylor series или таблицы приближений с фиксированной точкой.

Black-Scholes on-chain: где теряется точность

Классическая формула Black-Scholes для call option:

C = S·N(d1) - K·e^(-rT)·N(d2)
d1 = (ln(S/K) + (r + σ²/2)·T) / (σ·√T)
d2 = d1 - σ·√T

где S — spot price, K — strike, r — risk-free rate, σ — implied volatility, T — time to expiry.

На EVM работаем с fixed-point арифметикой (WAD, 1e18). Функция ln(x) реализуется через PRBMath библиотеку или ABDKMathQuad. Точность критична: ошибка 0.1% в расчёте premium на объёме 1M$ = $1000 расхождение за транзакцию. Накапливается в пользу атакующего, который знает о расхождении.

Реальный кейс из аудита: протокол использовал приближение ln(x) ≈ x - 1 для значений близких к 1.0 — это давало ошибку до 2% при S/K в диапазоне 0.9-1.1 (around-the-money опционы). Именно там находится наибольший объём торгов. Убыток LP составил ~$80K за первый месяц до обнаружения.

Implied Volatility: oracle или on-chain расчёт

Implied volatility (IV) — критичный параметр, от которого линейно зависит premium. Варианты:

Chainlink IV feed — есть для ETH, BTC. Надёжно, но с latency до 1 часа. При резком движении рынка IV может быть занижена — LP продают опционы слишком дёшево.

DVOL-стиль (Deribit Volatility Index) — off-chain расчёт через TWAP implied volatility из orderbook. Требует собственного oracle инфраструктуры или интеграции с Chainlink Functions.

On-chain historical volatility — расчёт по TWAP ценам за последние N периодов. Не отражает forward-looking риск, но не зависит от внешних оракулов. Минус: underpricing опционов накануне событий (merge, ETF approval).

Мы строим гибридную систему: Chainlink IV feed как первичный источник, on-chain historical volatility как fallback при staleness > 2 часов.

Архитектура протокола

Контрактная структура

DopexStyleProtocol/
├── core/
│   ├── OptionMarket.sol          # Создание/покупка/экспирация опционов
│   ├── SSOV.sol                  # Vault ликвидности LP
│   ├── OptionPricing.sol         # Black-Scholes on-chain
│   └── EpochManager.sol          # Управление эпохами
├── oracles/
│   ├── VolatilityOracle.sol      # IV агрегатор
│   └── PriceOracle.sol           # Chainlink wrapper
├── rewards/
│   ├── DPX.sol                   # Governance/reward token
│   └── StakingRewards.sol        # Emissions для LP
└── periphery/
    ├── Router.sol                 # Пользовательский интерфейс
    └── OptionToken.sol            # ERC-1155 опционные токены

ERC-1155 для опционов — правильный выбор. Каждая комбинация (strike, expiry, type) = отдельный token ID. Пользователь может держать опционы с разными страйками в одном кошельке, transfer работает как для обычных токенов — вторичный рынок создаётся автоматически.

LP vault mechanics: риски и защиты

LP вносят ETH, коллективно продают опционы. При массовой экспирации in-the-money (рынок пошёл против LP) — vault выплачивает большой payoff. Это intrinsic риск, который LP принимают.

Управляемые риски, которые мы закрываем контрактно:

Max capacity per strike — нельзя продать опционов на один страйк больше N% от общего vault. Иначе концентрированная экспирация обнуляет vault.

Withdrawal lock — LP не могут вывести средства в середине эпохи. Иначе при движении цены к страйку LP массово выходят, оставляя протокол без collateral для выплат.

Delta hedging pool — опционально, для протоколов с серьёзными институциональными LP. Часть средств vault автоматически хеджируется через perpetual contracts (GMX, Gains Network).

AtlasDEX интеграция для вторичного рынка

Опционные токены ERC-1155 нужно где-то торговать. Варианты:

  • Интеграция с OpenSea/Blur (они поддерживают ERC-1155)
  • Собственный AMM для опционов (сложно, требует кастомной кривой)
  • Интеграция с Lyra Protocol как secondary market layer

Для MVP рекомендуем P2P-торговлю через Seaport (OpenSea протокол) — это бесплатно и не требует дополнительной ликвидности.

Безопасность: специфичные уязвимости опционных протоколов

Oracle manipulation при экспирации. Moment of truth для опциона — цена в момент экспирации. Если используется spot price оракула в одном блоке — flash loan атака манипулирует ценой, создаёт искусственную прибыль по опционам. Защита: TWAP за последние 30 минут как settlement price.

Epoch sandwich attack. Атакующий покупает большой объём опционов в конце эпохи (зная приближающееся движение рынка), получает payoff, в начале следующей эпохи LP ещё не восполнили потери — vault недокапитализирован. Защита: cooldown между эпохами с обязательным reconciliation period.

Grief через dust positions. Создание тысяч мелких опционных позиций (gas griefing) для функции settle при экспирации. Защита: minimum premium > dust threshold, fee на создание позиции.

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

Foundry как основной инструмент — fuzz-тесты на Black-Scholes расчёты критичны. Тестируем с vm.fuzz все граничные значения: S/K от 0.1 до 10, T от 1 часа до 1 года, IV от 10% до 500%. PRBMath v4 для fixed-point арифметики. Chainlink price feeds на mainnet fork для тестирования oracle logic.

Компонент Технология Сложность
Black-Scholes PRBMath + Solidity Высокая
IV Oracle Chainlink Functions Средняя
LP Vault ERC-4626 base Средняя
Option Tokens ERC-1155 Низкая
Rewards Fork of Synthetix Staking Средняя

Процесс и сроки

Проектирование (1-2 недели). Архитектура контрактов, моделирование экономики в Python (сценарии: normal market, crash -50%, pump +100%), параметры vault (max capacity, fees, epoch length).

Разработка core (3-5 недель). OptionMarket, SSOV vault, Black-Scholes on-chain с тестами точности, EpochManager, Oracle интеграция. Foundry fuzz + invariant тесты.

Разработка periphery (2-3 недели). Router, reward system, frontend (wagmi + viem), The Graph субграф для исторических данных.

Аудит (2-4 недели). Рекомендуем внешний аудит для протоколов с TVL выше $500K. Внутренний аудит — обязательно.

Деплой и мониторинг. Поэтапный запуск: ограниченный vault capacity на старте, постепенное увеличение после подтверждения стабильности.

Базовый SSOV для одного актива — 6-8 недель. Полноценный мультиактивный протокол с governance и вторичным рынком — 10-16 недель. Стоимость рассчитывается после детального анализа требований и желаемого набора активов.