📢 Gate廣場 #MBG任务挑战# 發帖贏大獎活動火熱開啓!
想要瓜分1,000枚MBG?現在就來參與,展示你的洞察與實操,成爲MBG推廣達人!
💰️ 本期將評選出20位優質發帖用戶,每人可輕鬆獲得50枚MBG!
如何參與:
1️⃣ 調研MBG項目
對MBG的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與MBG相關活動(包括CandyDrop、Launchpool或現貨交易),並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是現貨行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
MBG熱門活動(帖文需附下列活動連結):
Gate第287期Launchpool:MBG — 質押ETH、MBG即可免費瓜分112,500 MBG,每小時領取獎勵!參與攻略見公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通過首次交易、交易MBG、邀請好友註冊交易即可分187,500 MBG!參與攻略見公告:https://www.gate.com/announcements
解析分布式預言機:多重聚合如何保障鏈上價格數據準確性
分布式價格預言機的工作機制
爲了避免單點故障和提高可靠性,現代價格預言機系統採用分布式設計。以某知名預言機服務爲例,其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,可以直接通過統一接口讀取各種資產的價格數據。
多層級數據聚合機制
高質量的價格預言機服務通常採用多層級的數據聚合機制,主要包括三個層面:數據源聚合、節點運營商聚合和預言機網路聚合。
數據源聚合:原始價格數據來自多家中心化和去中心化交易平台。專業的數據聚合服務商會收集這些原始數據,並根據交易量、流動性等因素進行加權計算,形成初步聚合結果。
節點運營商聚合:每個預言機節點運營商會從多個獨立的數據聚合服務商獲取價格數據,取其中值並剔除異常值,形成該節點的報價。
預言機網路聚合:整個網路層面會對所有節點的數據再次聚合,常用方法是在收到預設數量的節點響應後取中值。
最終價格更新到鏈上時還需滿足偏差閾值或心跳閾值等條件。這種多層級聚合機制大大提高了數據的準確性和可靠性。
然而,由於存在偏差閾值機制,某些預言機的價格更新可能相對緩慢,從幾分鍾到數小時不等。這使其更適合對價格更新不太敏感的應用場景,而可能不適用於所有類型的去中心化應用。開發者在選擇預言機服務時需要權衡其優勢和局限性,根據具體應用需求作出選擇。