Web3智网理解結構,看見下一步

預言機設計:價格資料從哪裡來

Web3智网 / 知識讀本 · 技術原理 · 2 分鐘閱讀

鏈上程式能一致執行,不代表輸入資料一定真實。預言機把外部資訊帶入合約,研究它時應分開檢查資料來源、更新規則與應用端如何處理異常。

運作原理

區塊鏈節點需要對相同輸入得到相同結果,不能各自即時讀取一個可能隨時變動的網站,再假設答案必然一致。預言機先把資料或驗證結果送入鏈上,讓合約在明確的狀態下使用;這保留執行一致性,同時引入資料取得與傳遞的信任假設。

報價品質不只取決於節點數量,還包括來源是否獨立、交易市場是否有深度,以及聚合方式能否抵抗異常值。十個節點若都讀取同一個脆弱市場,仍可能同時得到偏差價格。去中心化的傳遞方式,不能直接補救集中的原始資料。

假設案例:把數字放回流程

假設借貸協議以每枚一百單位的報價估值抵押品,但市場已跌到八十,預言機最後更新距今兩小時。若合約不檢查資料時間,借款人可能基於過高估值借走更多資產。若只要超時就全面停止操作,又可能阻礙正常還款。因此此假設設計需要分別考慮新增借款、還款與清算的異常政策。

判讀與實務

更新常由時間間隔或價格偏差門檻觸發,不代表每個區塊都刷新。使用端應檢查時間戳、有效輪次與合理範圍,並理解鏈停止、第二層排序器中斷或資料服務故障時會發生什麼。價格數值看似合理,也可能已經過時。

時間加權平均價格能降低單筆瞬間交易的影響,但並非萬能。視窗太短容易受操縱,太長則落後市場;流動性薄弱或攻擊者能長時間維持偏價時,也可能失效。應把攻擊成本與協議可被提取的價值相比,而不是只問有沒有使用平均值。

設計備援來源時,要確定兩者不共享同一個失效原因。切換來源也可能造成價格跳躍與不公平清算,因此應事先定義條件、管理權與公開紀錄。遇到資料不一致,暫停哪些功能、保留哪些退出路徑,必須在危機發生前決定。

讀者可以從一次實際使用的價格開始,反向追蹤到聚合合約、資料發布者及原始市場,建立可理解的依賴圖。若中途只有「由可靠服務提供」而沒有規則說明,就應把那段視為仍需信任的黑盒,而不是已完成驗證。

操作前檢查清單

  • 確認資料來源、報價單位、更新條件與最長可接受延遲。
  • 核對異常值、斷線及排序器停機的處理方式。
  • 比較操縱成本與協議曝險,檢查備援是否真的獨立。

常見問題

鏈上價格一定比中心化網站可靠嗎?

不一定。價格放上鏈只表示大家使用同一份資料,資料本身仍可能過時、被操縱或來自不適合的市場。

來源越多就一定越安全嗎?

仍要看獨立性與品質。大量複製同一資料源,可能只讓同一錯誤被重複發布,未必提高真實資訊含量。

原始資料與延伸閱讀