📢 Gate廣場 #NERO发帖挑战# 秀觀點贏大獎活動火熱開啓!
Gate NERO生態周來襲!發帖秀出NERO項目洞察和活動實用攻略,瓜分30,000NERO!
💰️ 15位優質發帖用戶 * 2,000枚NERO每人
如何參與:
1️⃣ 調研NERO項目
對NERO的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與NERO生態周相關活動,並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
NERO熱門活動(帖文需附以下活動連結):
NERO Chain (NERO) 生態周:Gate 已上線 NERO 現貨交易,爲回饋平台用戶,HODLer Airdrop、Launchpool、CandyDrop、餘幣寶已上線 NERO,邀您體驗。參與攻略見公告:https://www.gate.com/announcements/article/46284
高質量帖子Tips:
教程越詳細、圖片越直觀、互動量越高,獲獎幾率越大!
市場見解獨到、真實參與經歷、有帶新互動者,評選將優先考慮。
帖子需原創,字數不少於250字,且需獲得至少3條有效互動
分布式價格預言機系統: 多層聚合與Feed Registry優化
分布式價格預言機系統
爲避免單點故障,一些預言機服務採用了分布式設計。以提供BTC美元價格的服務爲例,某知名預言機平台匯集了31個價格源來爲用戶提供服務。
這種聚合器的合約源碼可以在以太坊區塊瀏覽器上查看。通過調用合約中的transmitters方法,可以查看該聚合器包含的所有鏈下預言機。
每個鏈下預言機可以通過調用transmit方法來提供價格數據,以響應聚合器中用戶的請求。這些鏈下預言機是一些外部擁有帳戶(EOA),它們不僅爲BTC/USD聚合器提供價格數據,還可能爲其他聚合器(如ETH/USD)提供價格數據。
鏈上合約的處理流程大致如下:
首先讀取當前合約狀態,並進行一系列檢查。
檢查通過後,進行一些準備工作。
接下來使用ecrecover()對每個籤名數據進行驗籤,校驗hash值是否對_report做的hash。同時檢查籤名者的角色是否是Signer,且要檢查籤名的重復性。
最後,檢查觀察值是否按順序排列。從排序後的觀察值中選取中位數median,並確保median不超過上下兩個閾值。如無問題,在s_transmissions中記錄本次預言機的answer。此外,還要對answer進行校驗。
這裏經過一系列調用最終會調用某價格預言機合約的validate方法,關鍵是比較兩邊預言機給的價格偏差是否在一個可接受範圍內。
Feed Registry
爲了提高靈活性和降低治理成本,一些平台推出了Feed Registry。它可以理解爲PriceFeeds的聚合器,已經聚合了多個priceFeed。有了它,使用者無需自己設置priceFeed,可直接通過Feed Registry讀取價格數據。
喂價機制
價格預言機的價格通常通過多個層級的數據聚合得到,主要包括數據源聚合、節點運營商聚合和預言機網路聚合三個層級。
最原始的價格數據主要來自各大中心化和去中心化交易平台。一些專門的數據聚合服務商會從這些平台收集原始價格數據,並進行加工整合,如根據交易量、流動性和時差等進行加權計算。這是第一層面的數據源聚合。
第二層是節點運營商的聚合。每個節點運營商負責運行核心軟件,從多個獨立的數據聚合服務商獲取價格數據,並取中值,剔除異常值和API停機時間。
最後一層是整個預言機網路的聚合,常見方式是當響應節點數量達到預設值時對數據取中值。
價格更新通常需要滿足偏差閾值或心跳閾值兩個觸發參數之一。不同價格源的這兩個參數值可能不同。
總的來說,一些知名預言機平台的價格預言機接入方便且安全性較高,但由於價格更新機制存在偏差閾值,導致更新較慢,適用於對價格更新不太敏感的應用。這也是其局限性所在,無法適用所有場景。