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

robot
摘要生成中

分布式价格预言机机制

为了避免单点故障和提高可靠性,某知名预言机平台采用了分布式价格预言机的设计。以BTC美元价格服务为例,该平台聚合了31个独立的价格预言机来为用户提供更稳定的服务。

这种聚合器的合约设计可以在以太坊区块浏览器上查看。通过调用合约中的特定方法,我们可以获取该聚合器包含的所有链下预言机信息。这些链下预言机通常是一些外部拥有账户(EOA),它们不仅为BTC/USD聚合器提供数据,也可能同时为其他币对如ETH/USD提供价格信息。

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

链上合约在处理预言机数据时会经过一系列严格的验证步骤:

  1. 首先读取当前合约状态并进行初步检查。

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

  3. 接着使用密码学方法对每个签名数据进行验证,确保数据完整性和来源可靠性。同时还会检查签名者的角色权限和避免重复签名。

  4. 最后,合约会对观察值进行排序和筛选,选取中位数作为最终价格,并确保该价格不超出预设阈值。

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

此外,某些应用场景下还会引入额外的验证机制。例如,某借贷平台使用的价格预言机会将获得的价格与其他来源(如去中心化交易所)的价格进行比对,确保价格偏差在可接受范围内。

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

全局预言机注册表

为了简化多个代币价格的管理和降低治理成本,预言机平台引入了全局预言机注册表(Feed Registry)的概念。这是一个聚合了多个价格源的系统,允许用户直接通过注册表读取各种代币的价格数据,无需为每个代币单独设置价格源。

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

多层级数据聚合机制

该预言机平台的价格数据经过三个层级的聚合处理:

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

  2. 节点运营商聚合:每个预言机节点从多个独立数据服务商获取价格,并通过中值计算等方法剔除异常值。

  3. 预言机网络聚合:整个网络层面再次聚合多个节点的数据,通常采用设定阈值后取中值的方式。

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

最终,只有当价格变化达到特定阈值或经过一定时间间隔时,新的价格才会更新到链上。这种机制虽然保证了数据的可靠性,但也导致价格更新相对缓慢,可能需要几分钟到几小时不等。因此,这类预言机服务主要适用于对价格实时性要求不高的应用场景。

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

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

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

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

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

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

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
MeaninglessGweivip
· 17小时前
就卷个预言机也得31个??
回复0
MetaverseMigrantvip
· 19小时前
预言机搞这么复杂干啥?
回复0
ProveMyZKvip
· 19小时前
安全归安全,那更新慢了谁还玩啊
回复0
SandwichVictimvip
· 19小时前
不是吧 几十个数据源还不够实时
回复0
ProofOfNothingvip
· 19小时前
31个预言机 这也太水了吧
回复0
矿难幸存者vip
· 19小时前
切~又见别人讲安全了,熊市前我都听腻了
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)