分布式价格预言机:多层聚合机制提升可靠性与安全性

robot
摘要生成中

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

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

这种聚合器的设计可以在以太坊区块浏览器上查看其合约源码。通过调用合约中的特定方法,可以获取该聚合器包含的所有链下预言机信息。每个链下预言机都可以通过调用特定方法来提供价格数据,以响应聚合器中用户的请求。这些链下预言机通常是一些外部拥有账户(EOA),它们不仅为比特币/美元汇率提供数据,还可能为其他货币对如以太坊/美元提供价格信息。

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

链上合约的处理流程主要包括以下几个步骤:

  1. 读取当前合约状态并进行一系列检查。
  2. 进行必要的准备工作。
  3. 对每一个签名数据进行验签,确保数据的真实性和完整性。
  4. 检查观察值的排序,选取中位数,并确保其不超过预设阈值。
  5. 记录本次预言机的答案,并进行进一步的验证。

在验证过程中,还会通过一系列调用最终与其他价格源(如某去中心化交易所的锚定视图)进行比较,确保价格偏差在可接受范围内。

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

价格源注册表

为了简化不同代币价格的获取过程并降低治理成本,该项目引入了价格源注册表的概念。这是一个价格源的聚合器,已经整合了多个价格数据源。使用者可以直接通过此注册表读取价格数据,无需单独设置每个代币的价格源。

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

多层次价格聚合机制

该预言机系统的价格数据通过多层次的聚合获得,主要包括三个层级:数据源聚合、节点运营商聚合和预言机网络聚合。

  1. 数据源聚合:原始价格数据主要来自各大中心化和去中心化交易平台。专业的数据聚合服务商会从这些平台收集并整合数据,考虑交易量、流动性等因素进行加权计算。

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

  3. 预言机网络聚合:整个网络层面的聚合通常采用中值法,当响应节点数量达到预设值时,取这些节点提供的价格数据的中值作为最终价格。

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

值得注意的是,并非每一轮的价格结果都会更新到链上。只有满足偏差阈值或心跳阈值两个触发参数之一时,才会进行更新。不同的价格源可能有不同的参数设置。

总的来说,这种设计提供了便捷的接入方式和较高的安全性。然而,由于其价格更新机制存在偏差阈值,导致价格更新相对较慢,可能从几分钟到24小时不等。因此,这种预言机主要适用于对价格更新不太敏感的应用场景,这也是其局限性所在。

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
止损艺术家vip
· 07-09 21:54
老盘磨得慢 结果还不精准
回复0
烤猫铁粉vip
· 07-09 16:33
31个给同一个价?卡慢点没事吧
回复0
RugPullSurvivorvip
· 07-06 22:58
预言机靠谱? 听着就慢
回复0
测试网学者vip
· 07-06 22:55
真香 就一更新慢罢了
回复0
雏菊独角兽vip
· 07-06 22:43
预言机宝宝萌萌哒 但跑起来慢吞吞像只小蜗牛~
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)