Разработка prediction market: смарт-контракты, ликвидность, оракулы

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

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

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

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

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

Polymarket обработал более $1.5 миллиарда объёма торгов по президентским выборам в США. Механика prediction market проста: пользователи покупают shares события, цена share равна implied probability. Если событие происходит — share стоит $1. Если нет — $0. Рынок агрегирует информацию и «предсказывает» вероятности точнее большинства аналитиков. Построить такую систему технически сложно: три независимые задачи — создание рынков, поддержание ликвидности, автоматическое разрешение исходов — каждая с собственными уязвимостями. Наша команда имеет 5+ лет опыта в DeFi, реализовала более 20 блокчейн-проектов на Ethereum, Polygon и Solana. Свяжитесь с нами, чтобы обсудить вашу задачу.

Как избежать манипуляций с оракулами?

Самое уязвимое место prediction market — механизм resolution. Resolution механизм решает, наступило ли событие. Варианта три: доверенный оракул (централизация), Chainlink / UMA (зависимость от сторонних протоколов), optimistic resolution с dispute period (децентрализация, но latency). Oracle manipulation — одна из главных угроз. Chainlink быстр и надёжен для верифицируемых событий вроде крипто-цен, но не подходит для субъективных исходов (выборы, опросы). UMA Optimistic Oracle гибкий и подходит для любых событий, однако разрешение занимает 2–3 дня при dispute. Centralized multisig быстр и прост, но требует доверия и несёт репутационный риск. В нашей реализации для каждого типа рынка выбирается подходящий механизм. Для crypto price рынков — Chainlink. Для субъективных событий — UMA Optimistic Oracle. Multisig — только fallback при failure других механизмов.

Почему ликвидность — главная проблема prediction market?

Prediction markets традиционно используют два подхода к ликвидности: CLOB и AMM. CLOB позволяет пользователям выставлять limit orders, обеспечивая точные цены и минимальный slippage при достаточной ликвидности, однако новые рынки без ликвидности остаются пустыми. AMM через формулу всегда принимает сделки, но протокол может нести убытки, субсидируя ликвидность. Наш подход — Hybrid: начальная ликвидность через protocol-seeded AMM, CLOB для крупных трейдеров. AMM использует constant product формулу, адаптированную для бинарных исходов, LP positions выступают как automated market makers.

Токен стандарт для shares: ERC-1155

Каждый рынок имеет минимум два outcome токена (YES/NO, или несколько для multi-outcome). ERC-1155 — правильный выбор: один контракт управляет токенами всех рынков, batch transfer снижает gas при торговле несколькими рынками одновременно. При создании рынка минтятся conditional tokens: за каждый 1 USDC коллатераля создаётся 1 YES + 1 NO токен. Суммарная стоимость YES + NO = 1 USDC (до resolution). После resolution один из токенов = 1 USDC, другой = 0. Это паттерн Gnosis Conditional Tokens Framework — battle-tested библиотека для prediction markets. Мы строим поверх CTF, а не с нуля.

Архитектура системы

Контрактный слой

Компонент Назначение
MarketFactory Создаёт новые рынки. Параметры: question, resolution source, expiry, initial liquidity. Разворачивает AMM пул для каждого нового рынка.
ConditionalTokens (CTF) Gnosis открытый контракт для выпуска conditional tokens. Проверен множеством аудитов, имеет production историю на Polymarket.
FixedProductMarketMaker (FPMM) AMM контракт для каждого рынка. Использует constant product формулу адаптированную для N-исходов. LP providers добавляют ликвидность, получают LP shares, зарабатывают на trading fees.
ResolutionModule Управляет resolution процессом. Интегрируется с Chainlink / UMA, обеспечивает dispute механизм.
TreasuryManager Протокол берёт комиссию (0.5-2%) от каждого трейда. Управляет protocol reserves, которые используются для первоначального seeding ликвидности новых рынков.

Создание рынка и initial liquidity

Bootstrapping ликвидности — одна из сложнейших задач. Стратегия: Protocol-seeded markets — популярные рынки (выборы, крипто events) — protocol добавляет начальную ликвидность из treasury. LP shares остаются у protocol. User-created markets — любой может создать рынок, задепозировав initial liquidity. Это incentivize market creators — они получают trading fees от своего рынка. Conditional liquidity rewards — LPs в первые N дней после создания рынка получают дополнительные governance токены. Аналог Uniswap liquidity mining.

Gas оптимизация для Polygon / L2

Prediction markets работают на L2 — газ на Ethereum mainnet делает мелкие сделки ($10-50) экономически невыгодными. Polygon — исторический выбор Polymarket. Alternatives: Base, Arbitrum. На L2 газ стоит в 10-100x раз дешевле. ERC-1155 batch transfer снижает gas на 40-60% при торговле несколькими токенами одновременно. multicall паттерн для batch операций.

Процесс разработки

Подробнее о этапах
  1. Аналитика (5–7 дней). Определение типов рынков, resolution механизмов для каждого типа, токеномики протокола. Изучение Polymarket, Augur, Metaculus как референсов.
  2. Разработка контрактов (5–8 недель). CTF интеграция или кастомная реализация, FPMM логика, resolution модули. Тестирование через Foundry: fork-тесты, fuzz-тесты на AMM инварианты (sum of probabilities = 1).
  3. Resolution интеграции (2–3 недели). Chainlink для верифицируемых событий, UMA Optimistic Oracle для субъективных.
  4. Frontend (3–5 недель). Интерфейс создания рынков, trading UI, portfolio, resolution tracking. wagmi + viem для контрактных взаимодействий.
  5. Аудит (обязателен). Сложность conditional tokens логики и потенциальный объём средств — обязательный внешний аудит.

Типичные ошибки в prediction market

  • Неправильный resolution без dispute механизма. Rogue оракул может разрешить рынок в пользу одного исхода при спорном результате. Без dispute mechanism у пользователей нет recourse.
  • Infinite approval exploit. Если UI запрашивает infinite approve на CTF контракт, а в нём обнаружится уязвимость — атакующий может дренировать все approval. Ограниченные approve или EIP-2612 permit.
  • Front-running при resolution. Между submission результата оракулом и его on-chain обработкой — window для front-running. Commit-reveal схема или VDF (Verifiable Delay Function) для критических рынков.

Условные токены (conditional tokens) — это набор контрактов от Gnosis, реализующих логику conditional tokens. Пользователь вносит коллатераль (USDC) и получает набор outcome-токенов. При наступлении события один из токенов становится redeemable за $1, другие обесцениваются. Фреймворк обеспечивает атомарность операций и безопасное разрешение.

Что входит в работу

  • Разработка смарт-контрактов (Solidity, Foundry)
  • Интеграция Chainlink и UMA оракулов
  • Создание frontend на wagmi/viem
  • Развёртывание на Polygon/Arbitrum/Base
  • Документация кода и техническая спецификация
  • Обучение команды заказчика управлению рынками
  • Поддержка после запуска (2 месяца)

Оценим ваш проект за 2 дня. Свяжитесь с нами для консультации. Закажите разработку prediction market под ключ.

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

Тип продукта Сроки
MVP (бинарные рынки, Chainlink, базовый AMM) 6–8 недель
Полноценная платформа (UMA, user-created markets, CLOB) 2–4 месяца

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

Разработка 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-протокола — мы проанализируем риски и предложим оптимальное решение.