📢 #Gate广场征文活动第三期# 正式啓動!
🎮 本期聚焦:Yooldo Games (ESPORTS)
✍️ 分享獨特見解 + 參與互動推廣,若同步參與 Gate 第 286 期 Launchpool、CandyDrop 或 Alpha 活動,即可獲得任意獎勵資格!
💡 內容創作 + 空投參與 = 雙重加分,大獎候選人就是你!
💰總獎池:4,464 枚 $ESPORTS
🏆 一等獎(1名):964 枚
🥈 二等獎(5名):每人 400 枚
🥉 三等獎(10名):每人 150 枚
🚀 參與方式:
在 Gate廣場發布不少於 300 字的原創文章
添加標籤: #Gate广场征文活动第三期#
每篇文章需 ≥3 個互動(點讚 / 評論 / 轉發)
發布參與 Launchpool / CandyDrop / Alpha 任一活動的截圖,作爲獲獎資格憑證
同步轉發至 X(推特)可增加獲獎概率,標籤:#GateSquare 👉 https://www.gate.com/questionnaire/6907
🎯 雙倍獎勵機會:參與第 286 期 Launchpool!
質押 BTC 或 ESPORTS,瓜分 803,571 枚 $ESPORTS,每小時發放
時間:7 月 21 日 20:00 – 7 月 25 日 20:00(UTC+8)
🧠 寫作方向建議:
Yooldo
解析分布式預言機:多重聚合如何保障鏈上價格數據準確性
分布式價格預言機的工作機制
爲了避免單點故障和提高可靠性,現代價格預言機系統採用分布式設計。以某知名預言機服務爲例,其BTC/USD價格數據聚合了31個獨立預言機節點的輸入。
這種聚合器的智能合約可在以太坊區塊鏈瀏覽器上公開查看。通過調用合約中的transmitters方法,用戶可以獲取該聚合器包含的所有鏈下預言機節點列表。
每個鏈下預言機節點都可以通過調用transmit方法向聚合器提供價格數據,以響應用戶的請求。這些節點通常是外部擁有的帳戶(EOA),可能同時爲多個不同的價格對(如BTC/USD、ETH/USD等)提供數據。
鏈上聚合器合約在接收到預言機節點的數據時,會執行一系列驗證步驟:
首先讀取當前合約狀態並進行基本檢查。
然後進行必要的準備工作。
使用ecrecover()對每個籤名數據進行驗證,確保hash值與_report一致。同時檢查籤名者的角色是否爲Signer,並防止重復籤名。
最後,驗證觀察值是否按順序排列,選取中位數作爲最終結果,並確保結果在預設閾值範圍內。
所有檢查通過後,合約會在s_transmissions中記錄本次預言機的answer。此外,還會對answer進行額外的驗證,例如與其他價格源(如某DEX的價格)進行對比,確保偏差在可接受範圍內。
Feed Registry簡化接入流程
爲了進一步簡化接入流程,降低治理成本,某些預言機服務提供了Feed Registry。這可以理解爲PriceFeeds的聚合器,已經整合了多個不同資產的價格源。使用Feed Registry,開發者無需爲每個資產單獨設置priceFeed,可以直接通過統一接口讀取各種資產的價格數據。
多層級數據聚合機制
高質量的價格預言機服務通常採用多層級的數據聚合機制,主要包括三個層面:數據源聚合、節點運營商聚合和預言機網路聚合。
數據源聚合:原始價格數據來自多家中心化和去中心化交易平台。專業的數據聚合服務商會收集這些原始數據,並根據交易量、流動性等因素進行加權計算,形成初步聚合結果。
節點運營商聚合:每個預言機節點運營商會從多個獨立的數據聚合服務商獲取價格數據,取其中值並剔除異常值,形成該節點的報價。
預言機網路聚合:整個網路層面會對所有節點的數據再次聚合,常用方法是在收到預設數量的節點響應後取中值。
最終價格更新到鏈上時還需滿足偏差閾值或心跳閾值等條件。這種多層級聚合機制大大提高了數據的準確性和可靠性。
然而,由於存在偏差閾值機制,某些預言機的價格更新可能相對緩慢,從幾分鍾到數小時不等。這使其更適合對價格更新不太敏感的應用場景,而可能不適用於所有類型的去中心化應用。開發者在選擇預言機服務時需要權衡其優勢和局限性,根據具體應用需求作出選擇。