分布式價格預言機:設計、實現與應用場景分析

robot
摘要生成中

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

預言機服務面臨着多種潛在風險,可能導致響應延遲或單點故障。爲了解決這一問題,一些項目採用了分布式價格預言機的架構來提供更可靠的服務。以BTC/USD價格服務爲例,某系統整合了31個獨立的價格預言機來爲用戶提供數據。

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

這種聚合器的智能合約可以在區塊鏈瀏覽器上查看。通過調用合約中的特定方法,用戶可以獲取該聚合器包含的所有鏈下預言機信息。每個鏈下預言機都能通過調用相應方法來提供價格數據,以響應聚合器中用戶的請求。這些鏈下預言機通常是一些外部擁有帳戶(EOA),它們不僅爲BTC/USD聚合器提供數據,還可能爲其他如ETH/USD等聚合器服務。

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

鏈上合約的處理流程包括以下幾個主要步驟:

  1. 讀取當前合約狀態並進行一系列檢查。
  2. 進行必要的準備工作。
  3. 使用密碼學方法對每一個籤名數據進行驗證,確保數據的真實性和完整性。
  4. 對觀察值進行排序,選取中位數,並確保其不超過預設閾值。
  5. 記錄本次預言機的答案,並進行進一步的驗證。

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

在某些應用中,還會通過比較不同預言機給出的價格偏差來進行額外的驗證。這種方法可以有效降低單一數據源可能帶來的風險。

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

爲了簡化使用流程並提高靈活性,一些系統引入了Feed Registry的概念。它可以被理解爲PriceFeeds的聚合器,已經整合了多個價格feed。使用Feed Registry,開發者無需自行設置每個token的priceFeed,可以直接通過統一接口讀取價格數據。

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

價格預言機的喂價機制通常涉及多層數據聚合:

  1. 數據源聚合:從各大交易平台和去中心化交易所收集原始價格數據。
  2. 節點運營商聚合:每個節點從多個獨立的數據聚合服務商獲取價格,並進行處理。
  3. 預言機網路聚合:整個網路對節點數據進行最終聚合,常見方式是取中值。

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

值得注意的是,並非每次數據更新都會立即反映在鏈上。通常需要滿足特定條件,如偏差閾值或心跳閾值,才會觸發鏈上更新。這種機制雖然提高了系統的穩定性,但也可能導致價格更新較慢,更新間隔可能從幾分鍾到24小時不等。因此,這類預言機系統主要適用於對價格更新不敏感的應用場景。

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

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

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

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

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

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

LINK3.95%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 6
  • 分享
留言
0/400
token_therapistvip
· 6小時前
31个预言机是否太多了
回復0
StakeOrRegretvip
· 6小時前
真用31个预言机,慢死了吧
回復0
巨鲸资深观察员vip
· 6小時前
数据延迟有点怕怕
回復0
LiquidatedDreamsvip
· 6小時前
瞬息万变的价格 啧啧
回復0
pumpamentalistvip
· 6小時前
价格都能看 牛逼
回復0
SelfCustodyBrovip
· 6小時前
好思路 太稳了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)