Разработка протокола предсказаний (Azuro-стиль)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка протокола предсказаний (Azuro-стиль)
Сложная
от 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

Разработка протокола предсказаний (Azuro-стиль)

Централизованные букмекеры — это black box. Лимиты на ставки, заморозка аккаунтов, непрозрачное изменение коэффициентов. Azuro решает это через on-chain протокол: пулы ликвидности как контрагент, смарт-контракты как букмекер, оракулы как источник результатов. Разработка аналогичного протокола — это не просто контракты, это система управления рисками для LP, точная математика маржи и устойчивость к manipulation через оракулы.

Ядро протокола: как работает Azuro-модель

Liquidity Pool как контрагент

В отличие от peer-to-peer ставок (протоколы типа Augur), Azuro использует pool-based модель. Провайдеры ликвидности вносят активы в pool, который автоматически выступает контрагентом для всех ставок. LP получают долю комиссий пропорционально внкладу.

Ключевой риск LP: если одна сторона события перегружена ставками, pool несёт одностороннее exposure. Azuro балансирует через reinforcement — динамическое изменение коэффициентов при дисбалансе. Чем больше ставок на один исход, тем ниже коэффициент на него и тем выше на противоположный. Математика:

newOdds = initialOdds * (1 - k * imbalanceFactor)

где imbalanceFactor — отношение ставок на каждую сторону. Правильная калибровка k — критична. Слишком агрессивная — коэффициенты падают до неинтересных. Слишком мягкая — pool накапливает односторонний риск.

Core/Express: структура ставок

Azuro различает Core (одиночные ставки) и Express (экспресс/аккумулятор). В Express произведение коэффициентов создаёт большой потенциальный выигрыш, но выплата происходит только при угадывании всех исходов. Контрактная логика Express: проверяем каждое событие последовательно, если одно проиграло — весь Express проигран, все заблокированные средства возвращаются в pool.

LP lockup — сложная часть. При принятии ставки pool резервирует потенциальную выплату (maxPayout = betAmount * odds). Эти средства недоступны для новых ставок пока событие не разрешено. При большом количестве одновременных событий locked/available ratio может упасть до 0.2 — pool физически не может принять новые ставки. Нужна механика maxExposure per event и global maxLockFraction.

Oracle и resolve: где ломаются протоколы

Разрешение результатов — наиболее уязвимое место. Централизованный oracle — single point of failure и manipulation. Azuro использует Data Providers (DP) — авторизованные адреса, которые могут подтверждать результаты. Несколько DP, консенсус-механизм для спорных случаев.

Типичные проблемы:

Delayed resolve. DP не подтверждает результат вовремя. Ставки заблокированы, LP не могут выйти. Нужен timeout: если результат не пришёл за N часов после scheduled event time — ставки автоматически рефандятся.

Wrong result. DP подтвердил неверный исход. Нужен dispute period (24-48 часов) + governance overrule через DAO или multisig. После dispute period результат финализируется.

Cancelled event. Матч отменён (дождь, VAR, disqualification). Протокол должен поддерживать CANCELED статус → полный рефанд всех ставок.

Архитектура контрактов

Ключевые компоненты

LP Contract — управление ликвидностью. ERC-20 LP-токены, addLiquidity, removeLiquidity с lock period (стандартно 7 дней — защита от flash liquidity attacks). Учёт locked/available funds.

Core Contract — приём ставок. bet(uint256 conditionId, uint256 outcomeId, uint256 amount, uint256 minOdds, uint256 deadline). Параметр minOdds — защита от odds slippage (аналог slippage protection в DEX). deadline — ставка отклоняется если блок > deadline.

Condition — одно событие. Структура: conditionId, gameId, outcomes[], reinforcement, margin, state, ipfsHash. ipfsHash содержит метаданные события (команды, время, тип). On-chain хранить строки — дорого.

PrematchCore / LiveCore — раздельные контракты для prematch и live ставок. Live ставки требуют более частого обновления коэффициентов (каждую минуту) и другой oracle-логики.

Компонент Ответственность
LiquidityTree Хранение LP позиций, расчёт withdrawable
OddsLib Математика коэффициентов, reinforcement
AzuroBet (ERC-721) NFT-токен ставки
BettingEngine Основная логика ставок и выплат
DataProvider Oracle для результатов
ProxyFront Entry point с permit2 поддержкой

Ставка как NFT

Каждая ставка — ERC-721 токен. Это позволяет: трансфер ставок между адресами, вторичный рынок (sell pending bet), агрегацию в wallet. tokenURI генерируется on-chain или хранится на IPFS с метаданными события.

Математика маржи

Азуро закладывает маржу в коэффициенты — не явный fee, а built-in spread. При бинарном исходе с true probability 50%/50%, коэффициенты будут не 2.0/2.0, а например 1.9/1.9 при 5% марже. Математика:

margin = 1 - (1/odds1 + 1/odds2 + ...)
trueOdds = publishedOdds * (1 - margin)

При правильной калибровке margin покрывает: operational costs DP, резерв для плохих результатов, profit protocol treasury.

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

Аналитика (1 неделя). Определяем: какие спорты/события, prematch only или + live, модель oracle (централизованный DP или Chainlink Functions), tokenomics LP.

Проектирование (1-2 недели). Контрактная архитектура, схема LP lockup, dispute resolution flow, governance.

Разработка (6-10 недель). Smart contracts + oracle integration + Data Provider backend + subgraph для истории ставок + frontend. Параллельные треки.

Тестирование (2 недели). Симуляция экстремальных сценариев: 90% ставок на один исход, delayed resolve, simultaneous 1000 bet redeem.

Аудит. Обязателен — протокол держит реальные средства пользователей. Фокус аудита: oracle manipulation, LP drain через экзотические event scenarios, reentrancy в payout.

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

Базовый протокол с prematch ставками и централизованным DP — 2-3 месяца. Полный протокол с live betting, dispute resolution и DAO governance — 4-6 месяцев.

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