分布式預言機如何保障區塊鏈價格數據安全性與準確性

分布式價格預言機系統

爲了避免單點故障,某知名區塊鏈項目採用了分布式價格預言機的設計。以提供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 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 4
  • 分享
留言
0/400
ProbablyNothingvip
· 11小時前
价格预言机这设计挺讲究
回復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)