在 Android 上获取 Bitculator
市值:
$2,060,639,729,281
24小时交易量:
$215,353,324,146
6 17 清算:
$0
24小时 多头/空头:
即将推出
Oracle Problem
在加密术语中,Oracle Problem 是什么意思?
Oracle Problem 指的是将准确的现实数据整合到区块链系统中的挑战。

什么是 Oracle Problem?
Oracle Problem 是当区块链需要链外数据却无法自行获取时出现的难题。你的代码本身无需信任,但为了知道 ETH 的价格或今天天气,却不得不依赖外部信息。想象一间上了锁的厨房在做汤之前要透过窗户问别人是否在下雨。
“只要接上任何 API 就行了。”事实并非如此。从单一 centralized 来源拉取数据可能会引入新的故障点和偏差,这正是 Oracle Problem 所提示的风险。
Oracle Problem 的运作方式
只要链上代码需要链外信息,Oracle Problem 就会出现。简要说明:
- 步骤 1: 一个 smart contracts 的调用需要数据,例如 BTC 价格或比赛比分。
- 步骤 2: 一个 oracle 从来源获取这些数据,比如多个交易所,然后进行打包。
- 步骤 3: oracle 将数据发布到链上,合约可以读取这些数据。
- 步骤 4: 合约据此执行操作,例如清算贷款或发放款项。
- 步骤 5: 如果喂价错误、延迟或被操控,结果会偏离预期,价值可能朝错误方向变动。
这就是 Oracle Problem 的要点:把外部真实信息带上链,同时不破坏信任。应该能理解了。
为什么 Oracle Problem 很重要
如果你关心加密技术在真实场景中的应用,这个问题很值得注意。
- 好处: 更好的 oracle 设计能让资金逻辑保持可信,清算、支付和交易才会基于公正的数据进行。
- 视角: 它是价格喂价、体育投注和会更新的 NFT 属性背后的隐患;一旦出问题,后果传播得很快。
- 相关性: 在 decentralized finance (DeFi)、游戏、预测市场,甚至链上保险中都能看到该问题。
建议优先选择 decentralized 的 oracle 网络,它们从多源拉取数据、频繁发布并公开计算方法。透明度优于凭感觉行事。
Oracle Problem 的关键特性
构成该问题的要点:
- 信任: 即使数据来自外部方,也要尽量最小化对信任的依赖。
- 终结性: 数据一旦上链,就基本上变为 immutable,因此错误输入会长期保留。
- 延迟: 数据应足够及时以避免过时的操作,同时又不能频繁上链造成浪费。
- 多样性: 多个独立来源和报告者能降低单点故障风险。
- 激励: 报告者需要有利益绑定,通过奖励和惩罚促使其如实报告。
不同形式
Oracle Problem 会根据所需数据和流程呈现不同形式:
- 入链: 来自现实的数据进入链上,例如价格或天气。
- 出链: 合约的决策发送到支付通道或游戏服务器。
- 推送: 数据按周期主动更新上链,无需按需请求。
- 拉取: 合约仅在需要时请求数据以节省成本。
- 签名: 数据提供者在链下对数值签名,任何人都能验证来源。
- 委员会: 一组报告者在发布数值前达成一致。
Oracle Problem 不只是技术问题,也是社会问题。你信任谁、他们如何获得报酬、如果有人作弊会怎样?不回答这些问题,代码的承诺仍可能出现偏差。
示例
某借贷协议读取价格喂价,ETH 下跌一%,贷款被清算,数小时后大家发现喂价出错,原因是一家交易所出现异常 这是典型的 Oracle Problem。
趣闻
“Oracle” 源自古代为神代言的先知;在加密领域,我们向它们询问价格和天气,这或许不够诗意,但更容易验证。
总结
一句话概括 Oracle Problem:把外部真实信息带上链,而不是让用户仅凭信任接受。把这件事做好,其它问题就比较好处理,奢侈品牌也会面对论坛式的讨论。
