分布式预言机如何保障区块链价格数据安全性与准确性

分布式价格预言机系统

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

这种聚合器的智能合约可以在以太坊区块浏览器上查看。通过调用合约中的特定方法,可以获取该聚合器包含的所有链下预言机信息。

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

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

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

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

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

  4. 最后,对观察值进行排序和筛选,选取中位数作为最终结果。还要确保结果不超出预设的阈值范围。

此外,系统还会对最终结果进行进一步的验证。例如,某些应用场景下会将结果与其他价格源(如去中心化交易所)的数据进行对比,确保偏差在可接受范围内。

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

价格源注册中心

为了进一步简化使用流程和提高灵活性,该项目还推出了价格源注册中心(Feed Registry)。这可以看作是多个价格源的聚合器,用户无需自行设置每个代币的价格源,可以直接通过注册中心读取所需的价格数据。

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

多层次数据聚合机制

该系统的价格数据是通过多个层级的聚合得到的,主要包括三个层面:

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

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

  3. 预言机网络聚合:整个网络层面再次进行聚合,常见方式是在收到预设数量的节点响应后取中值。

值得注意的是,并非每次计算结果都会更新到链上。只有满足特定条件(如偏差阈值或心跳阈值)时才会触发更新。不同价格源可能有不同的更新参数设置。

总的来说,这种分布式预言机系统安全性较高,使用便捷,但由于其更新机制的特点,价格更新速度可能较慢,从几分钟到数小时不等。因此,它更适合对价格实时性要求不高的应用场景,这也是该系统目前的主要局限性。

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

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

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

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

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

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

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

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

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

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

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
NFT梦游者vip
· 9小时前
31个预言机好家伙 都快能当个小集市了
回复0
ProbablyNothingvip
· 07-09 10:25
价格预言机这设计挺讲究
回复0
链上流浪诗人vip
· 07-08 19:01
这不还是中心化吗 搞那么多干啥
回复0
NFT黑洞钱包vip
· 07-08 19:01
挖掘机暂时关机中
回复0
gas_fee_therapyvip
· 07-08 18:55
花里胡哨的~ 最后还不是看gas费脸色
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)