預言機(Oracle)

預言機是區塊鏈與外部世界的橋樑。智能合約無法直接存取鏈外資料(如價格、天氣、比賽結果),預言機解決了這個問題,讓區塊鏈能與現實世界互動。


預言機解決什麼問題?

區塊鏈是一個封閉的系統。智能合約只能存取鏈上的資料,無法知道:

  • 現在 ETH 的美元價格是多少?

  • 昨天台北有沒有下雨?

  • 世界盃誰贏了?

  • 某支股票現在多少錢?

但 DeFi、保險、預測市場等應用都需要這些資訊。

circle-info

為什麼合約不能自己上網查?

區塊鏈要求所有節點對同一筆交易得出相同結果。如果合約可以上網查價格,不同節點可能在不同時間查到不同價格,導致共識無法達成。


預言機如何運作?

預言機是一個將鏈外資料「搬」到鏈上的服務:

外部資料源 → 預言機網路 → 智能合約

基本流程

  1. 合約需要某個資料(如 ETH/USD 價格)

  2. 預言機節點從多個來源收集資料

  3. 進行驗證、聚合

  4. 把結果提交到區塊鏈

  5. 合約讀取並使用這個資料


預言機的類型

按資料來源分類

類型
說明
例子

中心化預言機

單一來源提供資料

某交易所的 API

去中心化預言機

多個節點聚合資料

Chainlink

按資料方向分類

類型
說明
應用

輸入型

把外部資料送進區塊鏈

價格、天氣、比賽結果

輸出型

把區塊鏈事件傳到外部

觸發銀行轉帳、IoT 設備

跨鏈型

在不同區塊鏈間傳遞資料

跨鏈橋


主流預言機專案

市場龍頭,最廣泛使用的去中心化預言機。

  • 安全機制:多個獨立節點提供資料,取中位數

  • 經濟模型:節點質押 LINK 代幣,提供錯誤資料會被懲罰

  • 應用:幾乎所有主流 DeFi 協議都使用 Chainlink

支援的資料類型

  • 加密貨幣價格

  • 外匯

  • 商品價格

  • 體育賽事

  • 隨機數(VRF)

Band Protocol(BAND)

跨鏈預言機,主要服務 Cosmos 生態系。

API3

由 API 提供商直接運營的第一方預言機。

Pyth Network

專注於金融市場資料,由頂級交易所和做市商支持,延遲極低。


預言機在 DeFi 中的角色

借貸協議

AaveCompound 需要知道抵押品價格,才能決定:

  • 你能借多少錢

  • 是否應該清算你的部位

穩定幣

MakerDAO 需要知道 ETH 價格,才能維持 DAI 的穩定。

衍生品

永續合約、期權等需要準確的價格資料來結算。

預測市場

Polymarket 需要知道事件結果(誰贏了選舉?)來結算賭注。


預言機的風險

1. 單點故障

如果預言機失效或被攻擊,依賴它的協議都會出問題。

2. 價格操縱

攻擊者可能操縱資料來源,讓預言機回報錯誤價格。

例子

  • 閃電貸攻擊:在極短時間內操縱 DEX 價格

  • 利用錯誤價格進行套利或清算

3. 延遲問題

鏈外價格變化很快,但預言機更新需要時間。在這個「延遲」期間可能被套利。

triangle-exclamation

預言機如何確保安全?

多數據源聚合

不依賴單一來源,而是從多個交易所、多個 API 收集資料,取中位數或加權平均。

經濟懲罰機制

節點必須質押代幣。提供錯誤資料會被「罰沒」(Slash),失去質押的代幣。

延遲更新

設定最小更新間隔,防止被閃電貸攻擊。

價格偏差檢查

如果新價格與舊價格偏差太大,暫停更新並人工審查。


預言機問題(Oracle Problem)

「預言機問題」是區塊鏈領域的核心挑戰之一:

區塊鏈是去中心化、不可篡改的,但預言機引入的資料是中心化、可能被操縱的。

這是一個哲學層面的問題:

  • 區塊鏈的「真相」來自共識

  • 但外部世界的「真相」需要信任某些來源

預言機只能盡量減少信任假設,但無法完全消除。這就是為什麼預言機的選擇對 DeFi 協議的安全性至關重要。


未來發展

更多類型的資料

  • AI 推論結果

  • 物聯網感測器資料

  • 身份驗證

更低的延遲

Pyth 等項目已經實現毫秒級的價格更新。

更好的跨鏈支援

隨著多鏈生態發展,預言機需要在不同鏈之間同步資料。


總結

circle-check

延伸閱讀

Last updated