数据不会凭空进入合约
链上程序需要通过特定机制获取市场价格或其他外部事实。预言机把数据提供给合约,但数据来源、更新频率、异常处理和治理都存在设计选择。不同协议即便支持同一种资产,也可能使用不同价格口径。
价格变化与更新存在时间差
某些机制按时间或偏差条件更新,使用者看到的实时交易价与合约使用的值可能不同。差异可能是设计的一部分,也可能暴露异常。不能仅凭某个网站价格,就认定合约应当按完全相同数值执行。
用借贷例子检查影响
抵押品估值过高可能让借款风险被低估,估值异常下降又可能触发不期望的清算。因此研究协议时,要把价格数据与抵押规则一起看。一个合约审计报告不能自动证明外部数据在所有极端情况下正确。
研究清单
- 数据来自哪些市场,是否存在集中依赖。
- 更新条件、延迟和停更处理是什么。
- 是否有价格偏差检查或紧急暂停机制。
- 管理员能够怎样修改来源,用户如何获知变化。
来源与进一步阅读
Ethereum:预言机介绍数据接入机制与相关权衡。