什麼是區塊鏈預言機?
區塊鏈預言機是向智能合約提供外部資訊的第三方服務,充當區塊鏈與外部世界之間的橋樑。
區塊鏈與智能合約無法訪問鏈下數據(區塊鏈網絡之外的數據)。然而,對於許多合約協議而言,擁有來自外部世界的相關資訊對於執行協議至關重要。
區塊鏈預言機可以在鏈下和鏈上數據之間提供連結,因此得以在這方面發揮作用。預言機可以拓寬智能合約的運行範圍,在區塊鏈生態系統中至關重要。如果沒有區塊鏈預言機,智能合約將只能從其網絡內部獲取數據,其用途將會受到極大限制。
需要注意的是,區塊鏈預言機並非數據源本身,而是對外數據源進行查詢、核實和驗證,繼而再進行傳遞的層。預言機可傳輸多種形式的數據,包括價格資訊、成功付款數據或由傳感器測量的溫度數據等。
要從外部世界調用數據,就必須調用智能合約,同時還必須消耗網絡資源。一些預言機不僅能夠將資訊傳遞給智能合約,還能夠將資訊發送回外部數據源。
預言機存在許多不同的類型,而區塊鏈預言機的運作方式完全取決於其設計目的。本文將介紹其中一些類型。
區塊鏈預言機有哪幾類?
區塊鏈預言機可根據諸多不同的特質進行分類:
-
根據來源分類:數據來源於軟體還是硬體?
-
根據資訊傳遞方向分類:是由外向內傳遞還是由內向外傳遞?
-
基於信任化程度分類:是中心化還是去中心化?
一台預言機可同時歸屬多種類別。例如,從公司網站獲取資訊的預言機就是一個中心化的入站軟體預言機。
軟體預言機
軟體預言機可以與線上資訊源進行交互,並將其傳輸至區塊鏈。這些資訊可以來自線上數據庫、伺服器或網站,實際上可以是互聯網上的任何數據源。
通過連接至互聯網,軟體預言機不僅能夠向智能合約提供資訊,還能夠即時傳輸這些資訊。因此,它們成為了最常見的一種區塊鏈預言機。
軟體預言機提供的資訊通常可以包括外匯匯率、數字資產價格或即時飛行資訊等。
硬體預言機
部分智能合約需要與現實世界進行交互。硬體預言機旨在從現實世界獲取資訊,並將其提供給智能合約。這些資訊可以通過電子傳感器、條碼掃描器和其他資訊讀取設備進行傳遞
從本質上看,硬體預言機可以將現實世界事件「轉化」為智能合約可以理解的數字價值。
傳感器即為這樣一個例子,它可以檢查運輸貨物的卡車是否已經到達裝卸區。如果已經到達,傳感器就會將該資訊傳遞給智能合約,隨後該合約即可據此執行決策。
入站和出站預言機
入站預言機旨在將資訊從外部數據源傳輸至智能合約,而出站預言機則旨在將資訊從智能合約傳輸至外部世界。
將由傳感器測量的溫度數據傳遞給智能合約,即為入站預言機的一個示例。而出站預言機的一個示例可以是智能鎖。如果將資金存入一個智能合約地址,則該智能合約可通過出站預言機將此資訊傳輸給智能鎖解鎖機制。
中心化和去中心化預言機
中心化預言機由單一實體控制,是智能合約資訊的唯一提供者。然而,僅使用一種資訊源可能會存在風險,智能合約的有效性完全取決於控制該預言機的實體。此外,不良行為者的任何惡意干擾均會對智能合約產生直接影響。中心化預言機的主要問題在於存在單點故障,從而導致智能合約防禦漏洞和攻擊的韌性較低。
去中心化預言機與公共區塊鏈擁有一些共同的目標,如避免交易對手風險等。去中心化預言機不依賴單一資訊源,從而可提高智能合約所獲資訊的可靠性。智能合約通過查詢多個預言機來確定數據的有效性和準確性,因此,去中心化預言機也稱為共識預言機。
部分區塊鏈項目會向其他區塊鏈提供去中心化預言機服務。去中心化預言機在預測市場中也十分有用,可通過社會共識驗證該類市場中某種結果的有效性。
雖然去中心化預言機旨在實現去信任化,但值得注意的是,正如去信任化區塊鏈網絡一樣,去中心化預言機並沒有完全消除信任,而是在許多參與者之間分配信任。
合約專用預言機
合約專用預言機專為單個智能合約設計。這意味著,如果想要部署多個智能合約,則必須開發相應數量的合約專用預言機。
此類預言機極為耗時,且維護成本高昂。如果公司希望從各種來源提取數據,可能會發現此類預言機非常不切實際。但另一方面,為服務於特定用例,合約專用預言機可從頭開始設計,因此開發人員擁有很高的靈活性,可根據特定需求定制預言機。
人類預言機
在某一特定領域具備專業知識的個人有時也可以充當預言機。這些個人可以研究和核實來自各資訊源的真實性,並將這些資訊轉化為智能合約。由於人類預言機可使用密碼學驗證其身份,因此欺詐者偽造其身份並提供損壞數據的可能性相對較低。
預言機問題
由於智能合約根據預言機提供的數據執行決策,因此預言機對區塊鏈生態系統的健康至關重要。設計預言機所面臨的主要挑戰是,如果預言機受到損害,則依賴其提供數據的智能合約也會受到損害。該問題通常被稱為預言機問題(The Oracle Problem)。
由於預言機並非主要區塊鏈共識的一部分,因此很遺憾,它們也不是公共區塊鏈可提供的安全機制的一部分。第三方預言機與智能合約去信任化執行之間的信任衝突仍然有待解決。
此外,中間人攻擊也可能構成威脅,即惡意行為者通過獲得預言機與智能合約之間數據流的訪問權限,對這些數據進行修改或偽造。
總結
對提升區塊鏈的全球採用率而言,一個可促進智能合約與外部世界交流的可靠機制至關重要。如果沒有區塊鏈預言機,智能合約將只能依賴其網絡中的已有資訊,而這無疑將大大限制其能力。
未來去中心化預言機可能會引入保障機制,以消除區塊鏈生態系統中的大量系統性風險。區塊鏈預言機仍然是區塊鏈生態系統發展的一大關鍵組成部分,需要以安全、可靠且去信任化的方式實施。