區塊鏈預言機

區塊鏈預言機是為智能合約提供服務的第三方工具。預言機通過外部數據源向鏈上的智能合約提供可信的信息,通常封裝了區塊鏈之外的複雜性。這種封裝帶來了多種工程優勢,其中最顯著的是:關鍵錯誤和潛在故障點在鏈下比在鏈上更容易緩解[1]

示例 編輯

例如,在一個自動以預定價格購買比特幣的合約中,觸發條件依賴於當前的比特幣匯率。鏈下的預言機可以持續監控價格,並將觸發條件傳遞給智能合約。

預言機類型 編輯

根據 Kustov 和 Selanteva 的分類,預言機可以分為以下幾種類型:

  1. 程序預言機 運行在區塊鏈之外的程序,例如提供體育賽事結果用於博彩,或提供交通攝像頭信息用於開罰單。
  2. 單元預言機 內嵌於物理傳感器中的預言機,例如交通攝像頭直接獲取信息。
  3. 入口預言機 執行存儲在鏈上的代碼,並將結果(如符合條件的比特幣價格)作為輸入提供給智能合約。
  4. 出口預言機 處理智能合約的結果,通過操作現實中的設備(例如開門)來實現。這些代碼也可以存儲在鏈上。
  5. 預言機協議 聚合多個預言機的數據,在現實世界的預言機結果不一致時確定最終條件。

問題與擔憂 編輯

如果預言機依賴單一的數據來源(中心化),可能會導致以下問題:數據源可能遭受中間人攻擊,或者被其所有者篡改,從而影響智能合約的正確性。去中心化的預言機(共識預言機)通過查詢多個數據源來提高信息可靠性,從而將信任分散到參與者之間。然而,這種方法並未實現完全去信任化,因為預言機並不是主區塊鏈共識的一部分,因此不受公共區塊鏈安全機制的保護[2]

參考連結 編輯