多層聚合預言機:構建可靠的鏈上價格數據系統

robot
摘要生成中

分布式價格預言機系統

爲了解決單點故障問題,一些預言機系統採用了分布式設計。以提供BTC美元價格的服務爲例,該系統聚合了31個獨立的價格預言機來爲用戶提供服務。

這種聚合器的設計可以在以太坊区块链瀏覽器上查看其合約源碼。通過調用合約中的特定方法,可以獲取該聚合器包含的所有鏈下預言機信息。

每個鏈下預言機都可以通過調用特定方法來提供價格數據,以響應聚合器中用戶的請求。這些鏈下預言機通常是一些外部帳戶,它們不僅爲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(下)

LINK2.76%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
NFT收藏癖vip
· 07-07 21:16
这聚合有点东西啊
回復0
gas_fee_therapyvip
· 07-05 16:52
真tm解决单点故障
回復0
Gas_FeeTerapistvip
· 07-05 16:51
有点复杂哦 算了吧
回復0
DeFi工程师Jackvip
· 07-05 16:50
唔... 又一个忽视纳什均衡的预言机设计,老实说。
查看原文回復0
喝茶看盘侠vip
· 07-05 16:45
又要看一堆条条框框走人算法
回復0
P2ENotWorkingvip
· 07-05 16:38
这个重要的不是预言机,而是资金安全
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)