Разработка протокола синтетических активов

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

Разработка протокола синтетических активов

Synthetix потерял около 37 миллионов долларов в 2019 году не из-за уязвимости в коде — из-за бага в оракуле Chainlink для корейской воны. Один бот прочитал неверную цену, выполнил 37 миллионов транзакций sETH/sKRW за несколько минут. Протокол откатил сделки через governance. Это показательная история: синтетические активы — это протокол, который целиком живёт на точности ценовых данных, и любой сбой в этом слое смертелен.

Архитектурные подходы к синтетике

Два принципиально разных механизма лежат в основе большинства синтетических протоколов.

Debt pool модель (Synthetix v2/v3)

Все стейкеры протокола коллективно несут долг перед держателями синтетиков. Если держатели sAAPL зарабатывают, стейкеры теряют — пропорционально доле в общем debt pool. Это создаёт zero-sum динамику внутри протокола и сложную математику P&L для провайдеров ликвидности.

Главная проблема debt pool: если одни синтетики растут в цене значительно быстрее других, долг стейкеров раздувается асимметрично. Synthetix v2 решал это через debt hedging с помощью indeces синтетиков на Curve. Synthetix v3 разошёл коллатеральные пулы по изолированным рынкам — теперь риск не размазывается по всем стейкерам глобально.

CDP модель с overcollateralization (Mirror, Abracadabra)

Каждый синтетик обеспечен залогом в другом активе с избытком. Mirror Protocol чеканил mAAPL, mTSLA под залог UST с collateral ratio 150%+. После краха UST в мае 2022 — нечем было обеспечить погашение. Это экзистенциальный риск любой CDP-синтетики: качество обеспечения определяет устойчивость всей системы.

Параметр Debt Pool (Synthetix) CDP (Mirror/Abracadabra)
Ликвидность Теоретически бесконечная (mint on-demand) Ограничена залогом
Риск стейкера Разделённый долг пула Изолированный (только своя позиция)
Оракул dependency Критическая Критическая
Сложность аудита Высокая Средняя
Gas cost mint Низкий Средний

Оракулы: самое уязвимое место

Latency arbitrage

Synthetix v1 страдал от frontrunning: трейдер видел в мемпуле обновление оракула, отправлял транзакцию с более высоким gas, торговал по старой цене до того, как обновление проходило. Это называется latency arbitrage.

Решение, которое Synthetix внедрил — off-chain pricing с on-chain settlement: цена подписывается авторизованным узлом в момент сделки, контракт верифицирует подпись. Слипедж нулевой, latency arbitrage невозможен. Похожий механизм использует Pyth Network через Wormhole.

function exchange(
    bytes32 sourceCurrencyKey,
    uint256 sourceAmount,
    bytes32 destinationCurrencyKey,
    bytes calldata priceUpdateData,  // Signed price from Pyth
    uint256 publishTime
) external {
    // Verify price freshness
    require(block.timestamp - publishTime <= MAX_PRICE_LATENCY, "Price too old");
    
    // Update price on-chain atomically with trade
    pyth.updatePriceFeeds{value: msg.value}(priceUpdateData);
    
    // Execute exchange at verified price
    _internalExchange(sourceCurrencyKey, sourceAmount, destinationCurrencyKey);
}

Реальные активы (RWA синтетика): специфика

Синтетики на акции, сырьё, форекс работают только в часы торгов. Контракт должен знать, когда рынок закрыт, и блокировать торговлю в эти периоды — иначе арбитражеры будут эксплуатировать gap между закрытием и открытием рынка.

Для RWA-синтетики обязательны:

  • Market hours oracle — проверка активности торгов
  • Circuit breaker при отклонении цены более чем на 10% между обновлениями
  • Settlement механизм для expired синтетиков

Как мы строим синтетический протокол

Стек и компоненты

Core contracts (Solidity):

  • SynthFactory — деплой новых синтетических ERC-20
  • CollateralManager — управление залогом, расчёт C-ratio
  • ExchangeEngine — логика обмена, fee routing
  • DebtLedger — учёт глобального долга (для debt pool модели)
  • OracleAggregator — агрегация Chainlink + Pyth с fallback

Разработка в Foundry с fork-тестами против mainnet. Особенно важно тестировать сценарии с историческими ценовыми данными — replay реальных рыночных движений через vm.warp и mock оракулов.

Formalization invariants для Certora:

  • Сумма всех синтетиков в долларовом эквиваленте ≤ сумма залога × max C-ratio
  • После ликвидации C-ratio позиции всегда ≥ target C-ratio

The Graph subgraph для индексации mint/burn событий, позиций, исторических долгов — без него фронтенд будет читать состояние через медленные on-chain вызовы.

Ликвидационный механизм

Для CDP модели: если C-ratio опускается ниже минимального порога, позиция открывается для ликвидаторов. Ликвидатор сжигает синтетик, получает залог со скидкой (обычно 10-15%).

Критичный момент — ликвидационный флаг: нельзя ликвидировать позицию атомарно, если это создаёт flash loan вектор. Схема: ликвидатор должен держать синтетик, чтобы ликвидировать. Flash loan позволяет занять синтетик, ликвидировать позицию, получить залог и вернуть займ — если протокол не защищён.

Защита: same-block restriction — запрет ликвидации, если синтетик был получен в том же блоке (аналог ERC-4626 share inflation protection).

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

Аналитика (5-7 дней). Выбор модели (debt pool vs CDP), список активов, источники оракулов, параметры C-ratio, fee structure. Моделирование экономики через Python-симуляции: что происходит при -40% основного залогового актива.

Проектирование (1 неделя). Архитектура контрактов, storage layout, интеграции с оракулами. Отдельно — механизм управления (governance) для добавления новых синтетиков и изменения параметров.

Разработка (6-10 недель). Core протокол + синтетические ERC-20 + ликвидации + оракульный агрегатор. Тесты: unit, integration, fork-тесты, invariant тесты в Echidna.

Security (2-3 недели). Внутренний аудит (Slither, Mythril, manual), затем внешний аудит. Для синтетических протоколов — обязательно, минимум одна внешняя команда.

Деплой и мониторинг. Tenderly alerts на аномальные движения C-ratio, объёмов, ценовых отклонений.

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

Базовый CDP-протокол для одного синтетика — 6-8 недель. Полноценная multi-asset платформа с debt pool, governance и несколькими типами залогов — 3-5 месяцев. Параллельный аудит добавляет 4-8 недель.

Стоимость рассчитывается индивидуально после определения архитектуры и списка активов.