借貸合約可以計算存入其中的 ETH 數量,但僅查看錢包餘額,無法判斷這些 ETH 以美元計價的價值。預測市場也面臨類似問題:合約可以持有抵押品並計算賠付金額,但需要一套明確的方法來確認哪個結果已經發生。
區塊鏈預言機提供智慧合約可使用、超出其自身可用狀態範圍的資訊。這可能是資產價格、事件結果,或基金申報的淨資產價值。預言機讓這些應用成為可能,同時也增加了對資訊收集、傳遞及解讀方式的依賴。
為什麼智慧合約不能直接開啟網站
在以太坊及類似的區塊鏈上,節點必須根據相同的交易與狀態重現相同的結果。一般網站可能在不同請求之間發生變化、無法使用,或對不同訪客傳回不同答案。若允許每個驗證者在執行期間各自擷取即時網頁,將破壞這項共同結果。以太坊的預言機文件說明了合約執行與外部資訊之間的界線。
相反地,外部程序會將報告帶入區塊鏈可接受的形式。合約讀取已發布的數值,或驗證隨交易提供的報告。它不會秘密取得不受限制的網際網路存取權。
區塊鏈共識會確立哪份報告獲得接受,以及哪些規則被執行,但不會獨立確認氣象站是否正常運作、公司是否誠實申報,或市場價格是否未受到操縱。
追蹤從來源到決策的資訊流
一個依賴價格的應用通常包含數個不同步驟:
- 觀測:交易所、交易公司或其他提供者會產生資產相關的觀測值。不同來源可能衡量不同交易場所、交易時段或金融工具。
- 處理:預言機系統套用其彙整與報告規則。多個營運者可以降低對單一報告者的依賴,但共用的上游來源仍可能形成共同故障點。
- 傳遞:交易會發布一個數值,或由呼叫者提交經驗證的報告。目的鏈會決定該交易何時執行。
- 應用:使用資料的合約會檢查資料來源識別碼、單位及允許的資料時效,接著套用自身的借貸、結算或其他規則。
不應將這些責任簡化歸於預言機提供者的名稱。例如,Chainlink 的去中心化資料模型區分了資料來源、節點報告及鏈上彙整。應用仍必須正確整合最終產生的資料來源。
不同應用需要不同的預言機設計
Push 與 Pull 描述的是更新如何抵達應用。它們本身並不能告訴你系統是集中式還是去中心化。
| 設計 | 資訊如何抵達 | 應用必須考量的事項 |
|---|---|---|
| Push 資料來源 | 更新會發布至鏈上資料來源。合約讀取其最新可用數值。 | 發布觸發條件、交易延遲,以及儲存的觀測值可能有多舊。 |
| Pull 報告 | 呼叫者取得報告,並在應用需要時提交報告。 | 驗證、觀測值的時效,以及提交更新的成本。 |
| 樂觀預言機 | 提議的答案可在定義的期間內受到挑戰;爭議會依照解決程序處理。 | 明確的解決標準、監控誘因、保證金,以及完成結算所需的時間。 |
Chainlink 說明了其基於 Push 的資料來源所採用的偏離與心跳觸發條件。心跳並不代表即使發生網路壅塞或中斷,每次更新都一定會抵達。UMA 的樂觀預言機則給予參與者時間來挑戰提議的答案。與需要立即取得價格的交易相比,這可能更適合事件結果的判定。
並非所有預言機輸入都源自鏈下。合約可以根據去中心化交易所的鏈上歷史資料推導價格。Uniswap v2 的累積價格設計支援時間加權平均價格,即 TWAP。平均化可以讓短暫操縱的成本提高,但結果仍取決於流動性與所選的觀測期間。較長的期間也會對真實的價格變化反應得較慢。
過時價格如何改變清算結果
以一個簡化的借貸部位為例:以 10 ETH 作為抵押品、負債 12,000 美元,清算門檻為 80%。假設負債的美元價值維持不變,並忽略利息與費用。
當每枚 ETH 價格為 2,000 美元時,抵押品價值為 20,000 美元,負債占其價值的 60%。若 ETH 跌至 1,400 美元,抵押品價值降至 14,000 美元;此時負債約占 85.7%,高於假設的門檻。合約接受該價格後,這個部位便符合本例的清算條件。
如果應用繼續使用舊的 2,000 美元觀測值,該部位可能看似健康,但其經濟支撐其實已經減弱。錯誤偏低的觀測值則可能造成相反問題:清算本應維持健康的部位。在任一情況下,合約都可能完全按照其程式碼的編寫方式執行。
這就是為什麼像EVAA 借貸協議這類系統,需要同時從價格輸入與清算規則兩方面加以理解。上述數字僅為說明,並非 EVAA 的參數。
新的簽章不一定代表新的資訊
有三個問題很重要:底層觀測值是在何時產生的、報告是在何時形成的,以及區塊鏈是在何時接受該報告的?最近提交的交易可能攜帶較早的觀測值。
Pyth Pro 的整合指南區分了更新時間與個別資料來源的新鮮度,並建議處理申報價格中的不確定性。有效簽章可依相關驗證規則驗證報告,但不會讓每個數值都成為最新資料,也無法消除不同市場之間的差異。
開發人員也需要制定故障處理政策。拒絕過時資料、限制新的借款,或暫停對價格敏感的操作,都可以控制損害。自動切換至未經測試的備援方案,則可能引入另一項依賴。Chainlink 明確將資料檢查、斷路器及應變邏輯的責任交由應用開發人員承擔。
在某些 Layer 2 網路上,能否提交交易是另一項需要考量的問題。排序器中斷可能導致使用者無法調整部位。Chainlink 的排序器運作時間指南說明了狀態檢查與恢復寬限期;僅有價格時間戳記無法解決這項存取問題。
依賴應用之前應注意的事項
請確認確切的資料來源與網路、底層市場或申報來源、可接受的最長資料時效,以及發生中斷時的處理方式。確認誰可以更換預言機或變更這些限制。「使用預言機」是理解協議的起點,而不是安全性評級。
相同的區分也適用於代幣化資產。發布基金的 NAV 並不能確立資產託管、法律所有權或贖回權。我們對Chainlink、Hanwha 與 RWA 基礎設施的討論說明了,可靠的資料傳遞與資產權利是產品中相互獨立的部分。
你可以透過KTX Crypto Exchange探索市場。對於任何產品,請閱讀其自身的定價與結算規則:鏈上預言機數值不會自動成為你的訂單執行價格。
常見問題
使用預言機是否代表我需要購買其代幣?
不需要。使用者通常可以在不持有預言機提供者代幣的情況下與應用互動。更新費用及由誰支付,取決於整合方式。提供者的代幣本身也具有市場風險。
預言機可以移動我錢包中的資產嗎?
單獨的資料報告不是錢包簽章,也不是代幣支出核准。合約可能使用該報告觸發涉及資產的操作,而這些資產已受其規則管轄,其中包括抵押品清算。
預言機價格是否等同於可執行的交易報價?
不等同。參考價格可能彙整多個來源,或計算一段期間的平均值。你的執行結果取決於交易場所、可用流動性、訂單規模及費用。顯示的參考價格不保證一定能成交。
區塊鏈橋接是否與預言機相同?
它們在訊息傳遞與驗證基礎設施方面可能有所重疊。橋接通常支援跨鏈轉移或訊息傳遞;預言機則為應用提供資訊。它們的名稱並不代表具有相同的安全性假設。
預言機可以保護敏感的商業資訊隱私嗎?
僅將資訊傳遞至鏈上,無法做到這一點。公開發布的資料可能被任何人查看。重視隱私的應用需要針對揭露、存取與驗證另行設計。
風險提示:即使區塊鏈正常運作,預言機故障、來源遭操縱及整合錯誤仍可能造成損失。本文僅供教育用途,不構成投資建議。