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

robot
摘要生成中

分布式价格预言机的工作原理

为了避免单点故障,某知名预言机项目采用了分布式设计来为用户提供服务。以提供BTC美元价格为例,该服务聚合了31个独立的价格预言机。

这种聚合器的具体实现可以通过查看其智能合约源码。通过调用合约中的特定方法,可以获取该聚合器包含的所有链下预言机信息。

每个链下预言机可以通过调用指定方法来提供价格数据,以响应聚合器中用户的请求。这些预言机通常是一些外部拥有账户(EOA),不仅可以为BTC/USD聚合器提供数据,还可能同时为其他价格对(如ETH/USD)提供服务。

链上合约的处理流程大致如下:

  1. 首先读取当前合约状态,并进行一系列合规性检查。

  2. 检查通过后,进行必要的准备工作。

  3. 然后对每个签名数据进行验证,确保签名者具有适当权限且签名未重复使用。

  4. 最后,检查观察值的排序,选取中位数作为结果,并确保其不超出预设阈值。所有验证通过后,将结果记录到合约存储中。

此外,还会对结果进行进一步的校验。例如,某些应用可能会将结果与其他来源(如去中心化交易所)的价格进行对比,以确保偏差在可接受范围内。

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

Feed Registry的优势

为了进一步简化使用流程,某些预言机项目还提供了Feed Registry功能。这可以看作是多个价格馈送的聚合器,用户无需逐一设置每个代币的价格来源,而是可以直接通过Feed Registry读取所需的价格数据。

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

多层次的数据聚合机制

高质量的价格预言机通常采用多层次的数据聚合机制,主要包括三个层面:数据源聚合、节点运营商聚合和预言机网络聚合。

  1. 数据源聚合:从各大中心化和去中心化交易平台收集原始价格数据,并由专业数据服务商进行初步处理。

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

  3. 预言机网络聚合:整个网络层面的聚合,通常采用达到预设节点数量后取中值的方式。

值得注意的是,并非每次数据更新都会立即同步到链上。通常会设置偏差阈值和心跳阈值两个触发条件,只有满足其中之一时才会更新链上数据。这种机制在保证数据可靠性的同时,也可能导致价格更新相对缓慢,因此主要适用于对价格实时性要求不高的应用场景。

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

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

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

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

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

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

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

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

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

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
MetaDreamervip
· 5小时前
预言机这玩意靠谱么
回复0
ResearchChadButBrokevip
· 18小时前
预言机真香 搞起来
回复0
熊市避雷针vip
· 18小时前
这咋还不如交给老手操盘!
回复0
GateUser-a180694bvip
· 18小时前
技术流的事咱也听不懂
回复0
快照日长工vip
· 18小时前
聚合数据真香啊!
回复0
光速退群大师vip
· 18小时前
又是预言机啊 写的挺花里胡哨
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)