Розробка системи резолвінгу результатів для prediction markets

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи резолвінгу результатів для prediction markets
Складний
~1-2 тижні
Часті запитання

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

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

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1197
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Система резолвингу результатів для prediction markets

Prediction market — ринок ставок на реальні события: "Виграє команда A?", "Досягне ли ETH $5000 до кінця року?", "Буде ли прийнятий закон X?". Вся токеноміка працює тільки якщо результат визначений правильно та чесно. Система резолвингу — критичний компонент.

Типи подій та їх резолвинг

Price-based: "BTC буде вище $100K до 31 грудня?"

  • Автоматичний резолвинг через Chainlink/Pyth price feed у момент експірації
  • Найменш спірно, повністю on-chain

Sports/Political: "Хто виграє вибори?"

  • Вимагає зовнішніх даних
  • Оракули типу Augur, UMA, API3, Kleros

Subjective: "Виконав ли проект обіцяне?"

  • Вимагає людського судження
  • Системи claim-challenge, колективне голосування

Автоматичний резолвинг на основі оракула

Для об'єктивно верифіковних подій — автоматичний резолвинг через оракул.

contract PriceMarket {
    AggregatorV3Interface public priceOracle;
    uint256 public resolutionTimestamp;
    uint256 public targetPrice;
    
    bool public resolved;
    bool public outcomeYes;
    
    function resolve() external {
        require(block.timestamp >= resolutionTimestamp, "Too early");
        require(!resolved, "Already resolved");
        
        // Перевірити staleness оракула у момент резолвингу
        (,int256 price,,uint256 updatedAt,) = priceOracle.latestRoundData();
        require(updatedAt >= resolutionTimestamp - 3600, "Oracle stale");
        
        resolved = true;
        outcomeYes = uint256(price) >= targetPrice;
        emit MarketResolved(outcomeYes, uint256(price));
    }
}

Ключові нюанси:

  • Яку саме ціну брати? Ціну точно в момент експірації чи TWAP за останню годину?
  • Що робити, якщо оракул оновився задовго до експірації? Отримати історичне значення через roundId.

UMA Optimistic Oracle

Optimistic Oracle від UMA — популярний для prediction markets (Polymarket використовує UMA).

Механізм:

  1. Proposer пропонує результат + bond
  2. Dispute window (2 години): хто угодно може оспорити + counter-bond
  3. Без dispute → результат прийнято
  4. Dispute → UMA DVM голосування (токен holders голосують)

UMA оптимістичний: 95% запросів резолвяться без dispute. Це робить його дешевим і швидким.

Reality.eth для субективних подій

Reality.eth — escalation game для субективних питань:

  1. Хто угодно задає питання + bond
  2. Хто угодно відповідає + bond (перебиває попереднього)
  3. Кожен dispute — bond подвоюється, timeout збільшується
  4. Фінальна відповідь через Kleros arbitration при високому bond

Раціональна поведінка: якщо ви знаєте правильну відповідь — прибутково оспорювати неправильну (отримати bond проігравшого). Це створює правдиву відповідь.

Система паузи при спірних результатах

Навіть з автоматичним резолвингом, edge cases існують: оракул повертає явно неправильне значення, подія скасована, форс-мажор.

address public guardian;  // multisig DAO

function disputeResolution() external {
    require(msg.sender == guardian, "Not guardian");
    require(block.timestamp < resolutionTimestamp + DISPUTE_WINDOW, "Too late");
    
    resolved = false;  // Reset
    emit ResolutionDisputed(msg.sender, block.timestamp);
    // Триггер manual resolution процесу
}

Система резолвингу prediction market — 4-8 тижнів розробки плюс Legal review для compliance з gambling regulations у цільових юрисдикціях.