分布式預言機如何聚合多源數據實現可靠價格喂價

robot
摘要生成中

分布式價格預言機的設計與實現

爲了避免單點故障和提高可靠性,一些預言機系統採用了分布式設計。以某知名預言機爲例,它的BTC/USD價格服務就聚合了31個獨立的價格源。

預言機詳解系列之 Chainlink(下)

這種聚合器的合約設計允許多個鏈下預言機提供價格數據。每個預言機都是獨立的外部帳戶,可以通過特定方法向聚合器提交數據。這些預言機不僅爲BTC/USD提供數據,還可能同時服務於其他價格對。

預言機詳解系列之 Chainlink(下)

聚合器合約在處理提交的數據時,會進行一系列驗證:

  1. 首先檢查合約當前狀態和各項參數是否符合要求。

  2. 然後對每個籤名進行驗證,確保數據來自授權的籤名者,並檢查是否有重復籤名。

  3. 對觀察值進行排序,選取中位數作爲最終結果,同時確保該結果不超出預設閾值。

  4. 最後將結果記錄到合約狀態中,並可能進行額外的交叉驗證。

預言機詳解系列之 Chainlink(下)

爲了進一步簡化接入流程,一些系統還提供了"Feed Registry"功能。這相當於一個價格源的聚合器,用戶無需單獨設置每個代幣的價格源,可以直接通過Registry讀取多種代幣的價格數據。

預言機詳解系列之 Chainlink(下)

在喂價機制方面,一般會有多層數據聚合:

  1. 數據源層面:整合各大交易平台的原始數據。
  2. 節點運營商層面:每個節點從多個數據聚合服務獲取數據並取中值。
  3. 網路層面:多個節點的數據再次聚合,通常採用中值。

預言機詳解系列之 Chainlink(下)

最終的價格更新通常需滿足偏差閾值或心跳閾值才會觸發。這種機制保證了數據的可靠性,但也導致價格更新相對緩慢,更適合對實時性要求不高的應用場景。

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

預言機詳解系列之 Chainlink(下)

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 4
  • 分享
留言
0/400
EthMaximalistvip
· 07-18 16:17
中位数可还行?有点取巧了
回復0
ser_ngmivip
· 07-17 19:47
强强滴!靠谱!
回復0
老韭の自白vip
· 07-15 22:40
这种技术太花了吧 老韭头晕
回復0
GmGnSleepervip
· 07-15 22:29
这么水的东西至于吗
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)