跳到正文

区块链预言机

区块链预言机向合约提供经认证的声明,涉及确定性链上状态无法自行推导的数据;安全使用取决于来源、报告、传输、验证和使用方的完整路径。

更新于

仅供教育参考,不构成投资建议;投资可能产生损失。

直接答案

区块链预言机是一种系统,它向合约提供经认证的声明,所涉及的数据无法由区块链的确定性状态转换自行推导。价格馈送可以报告市场参考价;拉取式预言机可以验证用户转发的签名更新;乐观预言机可以先接受附保证金的断言,除非有人提出争议。可验证随机数与跨链消息也属于外部输入系统,但其声明和安全模型不能与价格馈送互换。

将数值写入链上,只能证明某项交易、签名、法定人数、证明或争议结果符合规定规则,不能从密码学上证明外部市场、天气事件或人为判断在客观上真实。完整信任路径包括被观测现象、数据源和交易场所、发布者、聚合、报告认证、传输、链上代理或验证器、使用方校验,以及最终转移价值的业务动作。

每一层的去中心化程度都必须分别评估。多个签名者可能共用同一个 API、交易所、云服务商、运营方或管理员。新鲜且带签名的中位数仍可能采用错误交易对或小数位、反映缺乏流动性的市场,或不适合使用方的交易规模。使用方仍须负责身份、单位、状态、时间戳、L2 可用性、风险敞口限额、备用机制和恢复。

运作机制

  1. 锁定链和区块、使用方合约及动作、准确的馈送或代理地址和馈送 ID、实现版本、基准/报价交易对、小数位或指数、市场时段及风险价值。
  2. 追踪完整信任路径:从现象和交易场所,经发布者、来源聚合、签名者或法定人数聚合、传输、链上验证、代理控制,直至使用方逻辑;分别检验来源、运营方、基础设施和管理员的独立性。
  3. 解码已部署接口和报告。核验馈送身份、签名或证明及其域、序列或轮次、签名答案、状态或置信度、来源时间戳、链上更新时间、重放行为、回滚行为和升级状态。
  4. 只做一次单位规范化,并明确检查范围、符号和时间戳。区分来源观测或发布时间、报告创建时间、源链纳入时间、中继最终确定时间、目标链更新时间和使用方区块时间。
  5. 应用与动作相匹配的 maxAge、偏差、置信度和跨来源规则。在支持的 L2 部署上,另行检查排序器状态与恢复宽限期;对复合值,以最早的必要依赖项限制新鲜度。
  6. 将参考值与可成交市场深度比较,估算操纵或腐化成本相对于使用方借款、铸造、清算、交易或结算风险敞口的大小。AMM 现货和 TWAP 构造必须按具体池和版本处理。
  7. 分动作定义正常、降级、暂停与恢复状态;尽量保留安全的债务偿还或追加抵押品路径,监控来源和配置,演练报告缺失、过期、错误及遭操纵的情形,并在恢复后核对每一项受影响余额和动作。

推送和拉取描述的是交付模式,而不是一套通用的付费或信任模型。发布者可以创建签名报告,再由任意用户转发并支付更新费。心跳和偏差设置可以触发发布,但并非交付保证或使用方的新鲜度上限。备用值或最后有效值是一种受控降级模式,其方向、单位、时效、独立性和允许动作都必须重新验证。

计算示例

  • 借贷门槛。 某头寸有 10 ETH 抵押品,预言机价格为 3,000 USD/ETH,债务为 18,000 USD,清算门槛为 75%。抵押品价值为 30,000 USD,LTV 为 60%,且 healthFactor = 10 * 3,000 * 0.75 / 18,000 = 1.25。触发价格为 18,000 / (10 * 0.75) = 2,400 USD/ETH。价格为 2,300 USD/ETH 时,健康因子为 0.9583333333,债务/抵押品比率为 78.2608695652%:符合清算条件,但在计入清算奖励、费用和执行影响前,名义抵押品价值 23,000 USD 仍高于债务。
  • 单位失效。 原始答案 250,000,000,000 带有 8 decimals,代表 2,500 USD。若错误除以 10^18,结果会是 0.00000025 USD,将价格低估 10^10 倍。有效签名和近期时间戳无法修复使用方的单位错误。
  • 聚合选择。 观测值 [99, 100, 100, 101, 160] 的中位数为 100,算术平均值为 112,相对中位数相差 12%。在这一教学数据集中,中位数可以抵御一个高值离群点;但若五个报告者都依赖同一个遭入侵的 API 并报告 130,中位数同样是 130
  • 按动作判断新鲜度。consumerClock = 1,800,000,000 时,报告的 sourceTimestamp = 1,799,998,200,因此 age = 1,800 seconds。新增借款采用 maxAge = 900 seconds,报告超限 900 seconds,应被拒绝;还款路径采用 maxAge = 3,600 seconds,则可接受,尚余 1,800 seconds。同一报告可能不适合增加风险敞口,却适合减少风险敞口。

风险

  • 链、部署、实现或网络环境错误。
  • 代理、聚合器、馈送 ID、资产或合约版本错误。
  • 基准/报价方向颠倒或计价单位不一致。
  • 小数位、指数、定点数、符号、舍入或单位不匹配。
  • 接受零值、负值、超出定义域、溢出或截断的答案。
  • 接受缺失、为零、来自未来、沿用旧值或身份错误的时间戳。
  • 使用方的新鲜度上限对资产和动作而言过于宽松。
  • 使用方的新鲜度上限过严,造成拒绝服务或阻碍降低风险。
  • 将心跳或偏差配置视为服务等级保证。
  • 忽略休市、公司行动、脱锚、交易场所中断或沿用数据的语义。
  • 多个发布者共用同一 API、交易所、云服务、运营方、密钥路径或方法。
  • 签名者门槛、法定人数、密钥托管、报告认证、域或防重放控制失效。
  • 聚合、权重、离群值、置信度或来源筛选规则不合适。
  • 来源流动性薄弱、存在洗量、分散、过期或在受保护规模下可操纵。
  • 现货或短窗口 TWAP 操纵、多区块控制、排序、审查或 MEV 改变输入。
  • 发布者、中继、燃料费、拥堵、重组或链中断阻止及时交付。
  • 遗漏 L2 排序器状态、恢复宽限期、跨链中继时钟或最终确定依赖项。
  • 代理、管理员、签名者集合、配置、迁移、暂停或馈送弃用变化未被发现。
  • 备用源过期、相关、缩放不同、循环依赖,或通过不安全的失败放行或一律失败关闭路径启用。
  • 使用方风险敞口高于操纵或腐化成本,同时监控、限额、暂停、恢复、清算及坏账核对失效。

常见误区

  • “预言机会预测未来。” 大多数预言机认证的是某个明确定义的时间和对象对应的观测值、报告、证明或已解决断言。
  • “带签名或已上链的数据一定客观真实。” 认证和共识证明的是规则得到遵守,而不是外部事实在经济上正确。
  • “节点越多,去中心化程度自然越高。” 来源、运营方、基础设施、密钥和治理仍可能高度相关。
  • “最新且新鲜的数值就是公允可成交价。” 新鲜度不能证明方向、单位、置信度、流动性或可成交深度。
  • “信誉良好的提供商消除了使用方集成风险。” 应用仍须负责部署身份、解码、新鲜度、L2 闸门、风险敞口、失败模式和恢复。

相关主题

资料来源

导航

搜索知识库...