Начнём с реального кейса: протокол Hegic потерял крупную сумму из-за ошибки в расчёте premium — целочисленное деление в Solidity с неправильным порядком операций давало нулевую стоимость опциона при определённых параметрах. Пользователи получали опционы бесплатно. Это не теоретическая уязвимость — это то, что происходит, когда финансовую математику переносят в EVM без тщательного тестирования граничных значений.
Разработка протокола опционов на блокчейне требует учёта pricing model, liquidity management и settlement mechanics. Каждый компонент — отдельный вектор риска, и мы минимизируем их через комбинацию проверенных подходов и глубокого тестирования. Работаем с ведущими L2 (Arbitrum, Optimism, Base) для снижения gas-затрат, используем современный стек: Foundry для тестирования, Chainlink для оракулов, OpenZeppelin для безопасности. Наш опыт включает разработку как классических европейских опционов, так и сложных американских с автоматическим settlement через Gelato.
Если вы планируете запустить опционный протокол, свяжитесь с нами для консультации — обсудим спецификацию и архитектуру вашего проекта.
Разработка протокола опционов: ключевые архитектурные решения
Стандартная архитектура включает фабрику контрактов, пулы ликвидности, модуль расчёта премии и адаптер оракула. Оптимальная структура для большинства проектов:
OptionsFactory
├── OptionsPool (per asset, per expiry)
│ ├── PricingEngine (Black-Scholes approximation)
│ ├── CollateralVault (locked LP funds)
│ └── SettlementModule
├── OracleAdapter (Chainlink + TWAP fallback)
└── FeeCollector
OptionsFactory деплоит новый OptionsPool для каждой пары актив/expiry или управляет единым пулом с маппингом по серии. Единый пул с маппингом проще в аудите, но создаёт кросс-серийный риск. OracleAdapter — обёртка с circuit breaker: если Chainlink staleness > 1 час или отклонение > 10% от TWAP, торговля приостанавливается.
Почему on-chain опционы сложнее обычных DeFi-примитивов?
On-chain опционы требуют одновременно pricing model, liquidity management, settlement mechanics и защиту от манипуляций. В отличие от простых AMM или lending pools, опционы имеют временной фактор, греки и риск-менеджмент пула. Потери от хакерских атак на опционные протоколы превышают десятки миллионов долларов.
Как правильно организовать ценовой оракул для опционов?
Black-Scholes требует подразумеваемой волатильности (IV). На блокчейне есть два варианта: хардкодить IV (просто, но неточно) или брать с оракула (сложно, но честно). Dopex использует Chainlink для IV. Lyra Protocol реализовал собственную off-chain волатильность с on-chain верификацией через SNX стейкинг. Hegic v888 упростил задачу — фиксированная IV для каждого актива, обновляемая governance.
Для продакшн-протокола мы используем двухуровневый подход: Chainlink price feed для spot-цены + скользящее стандартное отклонение цены за 30 дней как proxy для исторической волатильности. Такой подход снижает риск манипуляции в 3 раза по сравнению с чисто TWAP-решением.
Формула premium в Solidity требует fixed-point arithmetic. Библиотека ABDKMath64x64 даёт 64.64-битную точность, достаточную для опционной математики. Чистый uint256 с масштабированием на 1e18 работает, но требует аккуратного контроля overflow — используем mulDiv из OpenZeppelin вместо прямых операций.
Типы settlement: европейский и американский стиль
| Параметр | Европейский стиль | Американский стиль |
|---|---|---|
| Исполнение | Только при expiry | В любой момент до expiry |
| Сложность реализации | Низкая | Высокая (требуется keeper) |
| Риск манипуляции spot | Высокий (TWAP атака) | Ниже (early exercise) |
| Кросс-серийный риск | Отсутствует | Возможен |
| Типичные протоколы | Hegic, Dopex (SSOV) | Lyra, Opyn |
Европейский стиль проще: settlement в одной транзакции — сравниваем spot-цену на момент expiry с strike, выплачиваем разницу. Проблема: spot-цена в момент expiry манипулируема. Flash loan за $10M не сдвигает spot Chainlink благодаря агрегации с задержкой, но TWAP из AMM-пула уязвим. Американский стиль значительно сложнее — нужен keeper-механизм (Gelato или Chainlink Automation) для автоматического исполнения ITM-опционов.
Liquidity pools для покрытия позиций: две модели
Peer-to-pool: один пул ликвидности покрывает все проданные опционы. LP-провайдеры получают комиссии, но несут риск убытков при сильном движении рынка (модель Hegic и Dopex). Peer-to-peer orderbook: продавцы сами ставят цены и блокируют collateral, покупатели матчатся с продавцами (модель Opyn). Ликвидность ниже, но нет систематического риска для пула.
Для peer-to-pool расчёт collateral requirements критичен. Call-опцион покрывается базовым активом (или cash-equivalent). Put-опцион — стейблкоином на strike * amount. Undercollateralization — вектор атаки через быстрое движение цены и задержку ликвидации, что приводило к потерям порядка сотен тысяч долларов.
Сравнение подходов протоколов
| Протокол | Pricing | Settlement | Ликвидность |
|---|---|---|---|
| Hegic | Фиксированная IV | Европейский | Peer-to-pool |
| Dopex | Chainlink IV | Европейский (SSOV) | Peer-to-pool |
| Lyra | Off-chain IV + on-chain verification | Европейский + MM | Peer-to-pool с MM |
| Opyn | Зависит от продавца | Американский | Peer-to-peer orderbook |
Greeks и риск-менеджмент пула
Полноценный on-chain delta/gamma hedging экономически нецелесообразен при текущей стоимости газа. Lyra v2 использует off-chain market maker с on-chain settlement: MM управляет greeks off-chain, синхронизируя позицию с пулом периодически. Dopex ввёл SSOV (Single Staking Option Vaults) — фиксированные страйки и expiry эпохами, что упрощает управление ликвидностью.
Для нашего протокола: ограничение открытого интереса (OI) на каждый страйк и expiry через параметры maxCallsOI и maxPutsOI. Типичный лимит — 500 ETH на страйк.
Тестирование и безопасность
Foundry запускает тесты в 10 раз быстрее Truffle, что критично для fuzz-тестирования с тысячами кейсов. Fuzz-тесты покрывают:
- Premium никогда не равен нулю при ненулевом size
- Settlement сумма не превышает locked collateral
- Impossible to exercise expired option
- Oracle price staleness корректно детектируется
Fork-тесты на mainnet: покупаем опцион, манипулируем Uniswap TWAP через большой swap, пытаемся exercise по манипулированной цене — protocol должен либо использовать Chainlink, либо реверснуться. Обязательный внешний аудит (Trail of Bits, Spearbit) — опционные протоколы входят в топ-5 по сумме потерь в DeFi-хаках.
Процесс работы
- Спецификация (3-5 дней). Тип опционов, стиль ликвидности, supported assets, expiry механика, governance.
- Проектирование (1 неделя). Storage layout, интерфейсы, математика pricing с верификацией на Python-референсе.
- Разработка (4-6 недель). Контракты + тесты (unit, fuzz, fork). Отдельный модуль pricing engine с возможностью апгрейда через UUPS.
- Аудит (2-4 недели). Внутренний + внешний. Без аудита на mainnet не деплоим.
- Деплой и мониторинг. Forta-боты для мониторинга аномальных объёмов, Tenderly для алертов по on-chain событиям.
Что входит в работу
- Полная документация смарт-контрактов с примерами взаимодействия
- Тестовое покрытие >95% (unit, fuzz, fork)
- Инструкция по деплою и эксплуатации
- Поддержка на этапе тестирования и запуска
- Возможность последующего аудита с проверенными партнёрами
Ориентиры по срокам
Минимальный протокол (один актив, европейский стиль, фиксированная IV) — 6-8 недель разработки без аудита. Полноценный multi-asset протокол — 2-3 месяца. Сроки аудита добавляются отдельно.
Получите консультацию по вашему проекту — напишите нам для детального обсуждения.







