0314 分钟
CHALLENGE · BOND · ARBITRATION

为什么要给错误报告一个反驳窗口?

让两种相反结果锁定担保,观察时间窗口和经济损失如何给纠错者留下空间。

本章目标学完后,你应该能:
  • 解释挑战窗口如何延迟结算
  • 观察正确挑战者为什么能赢得双方担保
  • 理解担保机制不能保证数据源永远正确
章节位置第 3 / 4 章
  1. 上一章一条 API 结果为什么不够?
  2. 本章为什么要给错误报告一个反驳窗口?

    让两种相反结果锁定担保,观察时间窗口和经济损失如何给纠错者留下空间。

  3. 下一章最终结果如何安全交给市场?
阅读前

先想一想这几个问题

展开答案前,可以先在心里做个判断。与预期不同的内容可以加入复习列表。

Q01担保越大越安全吗?
简要回答

太小不足以阻止撒谎,太大又会让诚实但资金较少的挑战者无法纠错。好的担保要覆盖攻击收益,同时保留真实争议能够进入流程的可能。

和原先判断相比:

乐观预言机先接受一个带担保的报告,再给其他参与者时间和经济动机去反驳。本章让报告者和挑战者站到同一张账上,观察错误报告如何被纠正、诚实参与者如何获得奖励。

挑战窗口把“现在结算”变成“允许纠错”

初始报告提交后,结果并不立刻交给预测市场。挑战窗口逐步减少,挑战者可以锁定相反结果和自己的担保。窗口结束时,协议要么接受无人反驳的报告,要么把冲突交给仲裁者读取证据。

ORACLE SIMULATION虚拟担保 · 非投资建议
ORACLE 001 · REPORT / CHALLENGE / FINALIZE

现实结果如何进入链上?

2028 年前,人类会再次踏上月球吗?

数据源状态来源冲突未经核验的社交媒体账户
数据源
02初始报告
03挑战窗口
04最终结果
当前阶段等待报告状态机
初始报告未报告尚未比较
最终结果未报告发送给市场结算
担保风险0积分锁定中
结算交接未交接等待最终化
FOCUS EXPERIMENT · CHALLENGE挑战与担保

建议实验:报告一个与现实相反的结果,让 Challenger 提交相反主张,推进两个窗口后交给仲裁者。

现实证据与参与者实验真相可展开
揭开数据源记录(教学用真相)
YES

初报与官方记录相反,必须依靠挑战期纠错。

报告者Primary Reporter
可用积分
1,000
锁定担保
0
正确 / 错误
0 / 0
挑战者Challenger
可用积分
1,000
锁定担保
0
正确 / 错误
0 / 0

数据源是现实世界的输入;担保金是让参与者在错误报告时付出代价的激励。两者都不能被价格本身替代。

观察提示

预言机不是把 API 结果复制上链,而是把一组带激励、担保和争议流程的事实输入接入结算。

预言机事件2 EVENTS
  1. 02

    数据源为「未经核验的社交媒体账户」,状态 CONFLICTING。

  2. 01

    等待报告:2028 年前,人类会再次踏上月球吗?

操作记录实验时间轴
1 个状态快照

拖动滑块可以回到此前的步骤。从那里继续操作时,后续记录会替换为新的操作序列。

初始状态
查看实验记录 →
展开:这一步如何实现
submit(report, bond)
wait(challengeWindow)
if challenged:
  winner = resolve_with_evidence()
  winner.receive(reportBond + challengeBond)
else:
  accept(report)

真实系统还要处理多人报告、争议升级、惩罚分配和治理攻击。这里把每一步的锁定余额和事件日志展示出来,帮助你先建立状态机直觉。

理解检查

挑战窗口和经济担保共同解决什么问题?

本章小结完成练习和理解检查后,可以保存本章