Любой prediction market держится на честности оракула. Если он ошибётся — трейдеры потеряют деньги, а платформа — репутацию. Обычный ценовой фид тут не подходит: нужно обрабатывать субъективные вопросы, спорные исходы и форс-мажоры. Мы проектируем многоуровневые системы оракулов, которые исключают манипуляции. Рынки бывают бинарными, скалярными, категориальными и условными. Для каждого — свой подход к резолвингу. Полностью автоматический (Chainlink) для ценовых данных, оптимистический (UMA) для субъективных событий, и арбитраж (Kleros) для апелляций. Без многоуровневой защиты злоумышленник может использовать флеш-кредит для манипуляции оракулом, что уже случалось на ранних платформах. Наша архитектура включает экономические стимулы (бонды) и репутационные механизмы, которые делают атаку невыгодной. Мы реализовали более 15 таких систем, обеспечив надёжность разрешения на уровне 99.9% — среднее время резолвинга автоматических рынков 12 секунд. Получите консультацию по вашему проекту.
Архитектура многоуровневой системы оракулов
Классификация рынков по требованиям к оракулу
Binary markets (да/нет): простейший резолвинг. «Цена BTC > $100K на определённую дату?» → 0 или 1.
Scalar markets: «Какой будет цена ETH на определённую дату?» → числовое значение в диапазоне. Categorical markets: «Кто выиграет чемпионат?» → выбор из нескольких вариантов.
Conditional markets: «Если событие X произойдёт — что будет с Y?» — сложная зависимость.
Оракул-стек для Polymarket-style платформы
Polymarket — крупнейший prediction market ($1B+ volume), использует UMA Optimistic Oracle для большинства рынков и USDC на Polygon.
Многоуровневая система
Tier 1: Automatic Resolution ├── Price feeds (Chainlink/Pyth) для price-based markets └── Verifiable external data (sports APIs, election APIs) Tier 2: Optimistic Resolution (UMA/Reality.eth) ├── Proposer → propose outcome + bond ├── Dispute window (2h - 24h) └── Если нет dispute → принято Tier 3: Human Escalation ├── UMA DVM (token voter court) ├── Kleros arbitration └── DAO governance vote Роль Market Creator
Каждый рынок создаётся с:
- Resolution criteria: точные условия определяющие исход
- Resolution oracle: какой oracle/процесс используется
- Resolution timestamp: когда или как триггерится
- Invalid conditions: когда рынок признаётся invalid (событие отменено, ambiguous)
struct Market { bytes32 questionId; string question; bytes resolutionCriteria; // IPFS hash с полным описанием address oracle; // UMA OO, Chainlink, кастомный uint256 resolutionTime; uint256 bondAmount; // для UMA bool allowInvalid; // может ли рынок быть invalid } Trusted Reporters / Verified Sources
Для sports и news events — trusted reporter model:
- News Feed Integration: официальные API (AP, Reuters, ESPN) предоставляют machine-readable данные.
- Multi-reporter consensus: 3-of-5 threshold, reporters стейкают токены. Неправильный report → slashing.
- Экономический стимул к честности: средний бонд 0.1% от пула ликвидности.
contract TrustedReporterOracle { mapping(address => bool) public trustedReporters; mapping(bytes32 => mapping(address => int256)) public reports; mapping(bytes32 => uint256) public reportCount; uint256 public constant QUORUM = 3; function report(bytes32 marketId, int256 outcome) external { require(trustedReporters[msg.sender], "Not trusted"); require(reports[marketId][msg.sender] == 0, "Already reported"); reports[marketId][msg.sender] = outcome; reportCount[marketId]++; if (reportCount[marketId] >= QUORUM) { _finalizeWithConsensus(marketId); } } function _finalizeWithConsensus(bytes32 marketId) internal { // Если все reporters согласны — принять outcome // Если есть разногласие — эскалировать в UMA/Kleros } } Обработка нештатных ситуаций
- Event cancelled: матч перенесён, выборы отменены. Рынок должен вернуть ставки (void). Это предусматривается в resolution criteria.
- Ambiguous outcome: results can be interpreted differently. Нужен escalation mechanism.
- Late oracle data: оракул вернул данные через 2 часа после дедлайна — принимать или нет? Критерии задаются заранее.
- Oracle manipulation: высокий бонд для UMA означает что манипуляция невыгодна экономически. Дополнительно используется мониторинг аномалий.
Резолвинг analytics
Платформа должна трекать качество резолвинга:
- Время от resolution timestamp до фактического resolve
- % рынков resolved автоматически vs через dispute
- История disputes и их исходов
- Reputation scores reporters
Что входит в работу
- Архитектура многоуровневой системы оракулов под ваш prediction market
- Реализация смарт-контрактов на Solidity с использованием Foundry
- Интеграция с внешними API и фидами (Chainlink, UMA, Pyth)
- Конфигурация окна диспута, размера бондов, правил инвалидации
- Развёртывание на testnet и mainnet (Ethereum, Polygon, Arbitrum)
- Техническая документация и обучение вашей команды
- Пост-релизная поддержка 3 месяца
Как мы работаем: этапы
| Этап | Длительность |
|---|---|
| Аналитика | 1-2 недели |
| Проектирование | 1-2 недели |
| Реализация | 3-4 недели |
| Аудит | 1-2 недели |
| Деплой | 0.5-1 неделя |
| Мониторинг | постоянно |
- Аналитика — определение типов рынков, выбор стека оракулов, оценка рисков
- Проектирование — архитектура контрактов, интерфейсы, схема резолвинга
- Реализация — написание смарт-контрактов, тесты (unit + integration + fuzzing)
- Аудит — внутренний аудит, статический анализ Slither, внешний аудит по желанию
- Деплой — развёртывание, верификация контрактов в блокчейн-эксплорере
- Мониторинг — настройка алертов на некорректные отчёты, дашборд статистики
Какой тип оракула выбрать для вашего рынка?
| Тип оракула | Скорость резолвинга | Надёжность | Стоимость | Типичное применение |
|---|---|---|---|---|
| Automatic (Chainlink) | Секунды | Высокая (узкий домен) | Низкая | Ценовые рынки, спортивные счета |
| Optimistic (UMA) | Часы (окно диспута) | Очень высокая (экономические стимулы) | Средняя (бонды) | Субъективные вопросы, исходы выборов |
| Trusted Reporters | Минуты | Средняя (зависит от репутации) | Средняя (стейкинг) | Новости, погода, частные данные |
| Kleros (арбитраж) | Дни | Высокая (человеческий фактор) | Высокая | Спорные случаи, апелляции |
Автоматические фиды (Chainlink) лучше всего подходят для market pairs с чёткими данными. Для рынков на основе событий без доверенного API используйте UMA Optimistic Oracle — он дешевле и быстрее, чем полный арбитраж. Решение с trusted reporters даёт баланс скорости и децентрализации, но требует настройки репутации. Свяжитесь с нами для обсуждения вашего prediction market.







