Skip to content

Оракул: как объявлять исход и отвечать за него

Оракул — это аккаунт, который говорит цепи, чем закончилось событие. От него зависит, кому уйдёт призовой пул. Поэтому оракул на VIZ не просто «нажимает кнопку»: он несёт денежный залог и репутацию, и отвечает ими за честность и своевременность.

Главное в двух абзацах

Вы объявляете победивший исход операцией pm_resolve_market (только после закрытия ставок). Выплаты угадавшим начисляются автоматически. Чтобы вам доверяли рынки и деньги, вы держите insurance — залог в VIZ, привязанный к вашему оракул-аккаунту. Если insurance проседает ниже risk-floor относительно объёма обслуживаемых ставок, нода скрывает ваши рынки из листингов — механизм защищает беттеров от недокапитализированного оракула.

За ошибки и молчание вас штрафуют из накопленной репутации и залога: неверный резолв, оспоренный и отменённый диспутом; пропуск дедлайна (result_expiration), когда рынок умирает как missed-resolution. Ваша репутация (reliability_score, 0..10000 bp) складывается из точности, вердиктов по спорам, отзывчивости и пунктуальности — и видна всем при выборе оракула.

Что вы делаете по шагам

Готовитесь. Заводите insurance на оракул-аккаунт (pm_oracle_update) — держите его с запасом над risk-floor, иначе рынки скроют. Правило floor: рынок виден, если insurance ≥ порога и ≥ кратного суммы ставок под вашим управлением.

Ждёте закрытия ставок. Резолвить можно только после betting_expiration. Раньше — нельзя (нет смысла объявлять исход, пока ставки идут). Если рынок создан с allow_early_resolution и исход уже определённо известен, можно закрыть досрочно — окно спора при этом схлопывается к моменту резолва.

Объявляете исход. pm_resolve_market с победившим исходом. Нода делит пул: угадавшие получают выплаты автоматически (виртуальная pm_payout), проигравшие исходы обнуляются. За резолв вам начисляется oracle fee (ограничен медиан-параметром сети, максимум pm_max_oracle_fee_percent).

Если исхода нет. Событие отменено, источник пропал, ничья без победителя → вместо резолва объявляете no-contest (pm_no_contest): ставки возвращаются, никто не выигрывает и не проигрывает. Это честный выход, а не штраф — но делать его надо вовремя, до дедлайна.

Проходите окно спора. После объявления беттеры могут оспорить исход в grace-периоде (pm_dispute_create). Если диспут признаёт вашу правоту — вы получаете подтверждение репутации; если ваш резолв признан неверным — штраф. Подробно — в статье про диспуты.

За что штрафуют

  • Неверный резолв. Объявили не тот исход, диспут это подтвердил → штраф из залога/репутации, выплаты пересчитываются.
  • Пропуск дедлайна. Не объявили исход до result_expiration → рынок гибнет как missed-resolution, вас слэшат. Не молчите: если источник не дал результат — делайте no-contest.
  • Систематическая медлительность. Поздние (но сделанные) резолвы роняют фактор пунктуальности в reliability_score. Опоздание больше не равно своевременности.

Что нужно понимать оракулу

  • Insurance — это доверие в цифрах. Держите его выше floor с запасом; он проседает от накопленного слэша и растёт с обслуживаемым объёмом. Недофинансированный оракул исчезает из листингов — рынки будто «пропадают».
  • Репутация публична и составная. reliability_score = точность (accuracy) + вердикты по спорам + отзывчивость + пунктуальность − штрафы (decaying penalty-stamps) − баны, со сжатием к средней при малом числе резолвов. В интерфейсе показывается как процент (bp/100).
  • Резолв необратим по эффекту, но оспорим. Выплаты идут сразу, но окно спора может их отменить и наказать вас. Ошиблись — честнее самому инициировать корректировку, чем ждать слэша.
  • Своевременность = деньги. No-contest вовремя лучше, чем молчание до дедлайна. Автоматизируйте резолв, если обслуживаете много рынков.

Роли рядом с вами

  • Создатель рынка — выбирает вас оракулом и задаёт окно спора.
  • Беттер — доверяет вам исход и может оспорить его.
  • Диспутер — участник спора, который проверяет ваш вердикт.

Дальше по теме: «Диспуты» (как оспаривается исход и чем это грозит оракулу), «Создатель рынка» (кто и как вас назначает), «Оракул и разрешение» (дедлайны, missed-resolution, no-contest в деталях).