第 04 章13 分钟
FINALIZE · HANDOFF · FAILURE最终结果如何安全交给市场?
把最终结果交给预测市场结算,并比较正确报告、错误无挑战和争议纠正三种结果。
本章目标学完后,你应该能:
- 区分最终化和下游结算交接
- 解释错误报告为什么可能通过流程进入市场
- 设计下游协议面对错误事实时的风险边界
- 上一章为什么要给错误报告一个反驳窗口?
- 本章最终结果如何安全交给市场?
把最终结果交给预测市场结算,并比较正确报告、错误无挑战和争议纠正三种结果。
- 下一章自由实验室
阅读前
先想一想这几个问题
展开答案前,可以先在心里做个判断。与预期不同的内容可以加入复习列表。
Q01状态写着 FINAL,为什么还不能理解成‘绝对真实’?+
简要回答
FINAL 表示协议内的争议流程已经结束,不是宇宙给出的真理证明。无人挑战的错误也可能合法最终化,下游必须知道自己依赖了什么来源和假设。
和原先判断相比:
最终化只是预言机内部的状态转换,不是市场自动赔付的许可。本章把“最终结果”明确交给预测市场,比较正确报告、错误但无人挑战、以及争议纠正三条路径。
最终化和结算交接是两个接口
预言机先确定 finalOutcome,再由下游市场读取它并开始兑付。分成两步,能让市场知道自己依赖的是哪个结果、交接是否已经发生,也能防止重复结算事件。
ORACLE 001 · REPORT / CHALLENGE / FINALIZE
现实结果如何进入链上?
2028 年前,人类会再次踏上月球吗?
数据源状态来源冲突未经核验的社交媒体账户
✓数据源
02初始报告
03挑战窗口
04最终结果
当前阶段等待报告状态机
初始报告未报告尚未比较
最终结果未报告发送给市场结算
担保风险0积分锁定中
结算交接未交接等待最终化
最终化只产生预言机结果。点击交接后,预测市场才获得一次明确、可审计的结算许可。
- 最终结果
- 未报告
- 接口状态
- WAITING
揭开数据源记录(教学用真相)
YES
初报与官方记录相反,必须依靠挑战期纠错。
报告者Primary Reporter
- 可用积分
- 1,000
- 锁定担保
- 0
- 正确 / 错误
- 0 / 0
挑战者Challenger
- 可用积分
- 1,000
- 锁定担保
- 0
- 正确 / 错误
- 0 / 0
数据源是现实世界的输入;担保金是让参与者在错误报告时付出代价的激励。两者都不能被价格本身替代。
观察提示
预言机不是把 API 结果复制上链,而是把一组带激励、担保和争议流程的事实输入接入结算。
- 02
数据源为「未经核验的社交媒体账户」,状态 CONFLICTING。
- 01
等待报告:2028 年前,人类会再次踏上月球吗?
操作记录实验时间轴
1 个状态快照拖动滑块可以回到此前的步骤。从那里继续操作时,后续记录会替换为新的操作序列。
展开:这一步如何实现
oracle.finalize(outcome)
market.read(finalOutcome)
require !settlementAcknowledged
market.settle(winningPositions)
预测市场、借贷清算、跨链桥和保险协议都依赖类似接口。下游不应该把“有一个值”误解为“现实一定正确”,而要记录来源、时间、挑战结果和风险策略。