分布式预言机如何保障价格数据可靠性

robot
摘要生成中

分布式价格预言机系统的设计与实现

为了解决单点故障问题,某知名预言机平台采用了分布式价格预言机的设计方案。以提供BTC美元价格服务为例,该系统聚合了31个独立的价格预言机来为用户提供可靠的价格数据。

这种聚合器设计的核心在于其智能合约。通过调用合约中的transmitters方法,我们可以查看该聚合器包含的所有链下预言机。每个链下预言机都是一个外部拥有账户(EOA),它们不仅可以为BTC/USD聚合器提供价格数据,还可能同时为其他货币对(如ETH/USD)的聚合器服务。

预言机详解系列之 Chainlink(下)

当用户请求价格数据时,链下预言机通过调用transmit方法来响应聚合器中的请求。这个过程涉及多个步骤:

  1. 首先,系统会读取当前合约状态并进行一系列安全检查。

  2. 通过安全检查后,系统开始进行必要的准备工作。

  3. 接下来,对每一个签名数据进行验证,确保签名的有效性和唯一性,同时检查签名者的角色权限。

  4. 最后,系统会对观察值进行排序,选取中位数作为最终结果,并确保该结果不超出预设阈值。

预言机详解系列之 Chainlink(下)

为了进一步提高数据的可靠性,系统还会对最终结果进行额外的验证。例如,某些应用场景下,会将结果与其他独立预言机系统的数据进行比对,确保价格偏差在可接受范围内。

预言机详解系列之 Chainlink(下)

预言机注册表的应用

为了简化接入流程并降低治理成本,该平台引入了预言机注册表(Feed Registry)概念。这是一个更高级的聚合器,集成了多个价格预言机。使用注册表后,开发者无需手动设置每个代币的价格预言机,可以直接通过注册表读取所需的价格数据。

预言机详解系列之 Chainlink(下)

多层级数据聚合机制

该平台的价格数据通过三个层级的聚合来保证其准确性和可靠性:

  1. 数据源聚合:从各大中心化和去中心化交易平台收集原始价格数据。

  2. 节点运营商聚合:每个节点运营商从多个独立的数据聚合服务商获取价格数据,并进行中值计算。

  3. 预言机网络聚合:整个网络层面的聚合,通常采用中值法,当响应节点数达到预设阈值时触发。

预言机详解系列之 Chainlink(下)

值得注意的是,并非每次数据更新都会立即同步到区块链上。系统设置了两个触发参数:偏差阈值和心跳阈值。只有满足其中之一,才会进行链上更新。这种机制虽然保证了数据的稳定性,但也导致价格更新速度相对较慢,可能从几分钟到24小时不等。因此,这种预言机系统更适合对价格实时性要求不高的应用场景。

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

预言机详解系列之 Chainlink(下)

LINK1.87%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 转发
  • 分享
评论
0/400
GateUser-a180694bvip
· 08-12 10:06
这架构看着挺靠谱
回复0
冲浪鲸鱼饲养员vip
· 08-10 17:45
31个预言机都出问题 不怕
回复0
Vibes Over Chartsvip
· 08-10 17:44
老铁还是靠谱哦,31个预言机都用上了
回复0
NFT典藏艺术家vip
· 08-10 17:30
看懂了 关键链上数据才是web3的核心 价格预言机就像艺术市场上的价格评估人 只有去中心化分布式的报价才是最真实可靠的
回复0
ZKSherlockvip
· 08-10 17:30
实际上,他们的信任假设仍然依赖于概率共识……而不是真正的密码安全
查看原文回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)