社區提交 - 作者:Vallery Mou
什麼是區塊鏈預言機?
區塊鏈預言機是為智慧合約提供外部資訊的第三方服務。它們充當區塊鏈與外部之間的橋樑。
區塊鏈和智慧合約無法存取鏈下數據(網路外部的數據)。然而,對於許多合約協議來說,從外界獲得相關資訊對於執行協議至關重要。
這就是區塊鏈預言機發揮作用的地方,因為它們提供了鏈下和鏈上資料之間的連結。預言機在區塊鏈生態系統中至關重要,因為它們擴大了智能合約的運作範圍。如果沒有區塊鏈預言機,智慧合約的用途將非常有限,因為它們只能存取網路內的數據。
值得注意的是,區塊鏈預言機本身並不是資料來源,而是查詢、驗證和驗證外部資料來源然後中繼該資訊的層。預言機傳輸的數據有多種形式——價格資訊、支付的成功完成或感測器測量的溫度。
呼叫外界數據,需要呼叫智能合約,需要消耗網路資源。有些預言機不僅能夠將訊息傳遞給智能合約,還能夠將其發送回外部來源。
有許多不同類型的預言機——區塊鏈預言機的運作方式完全取決於它的設計目的。本文將介紹其中一些設計。
區塊鏈預言機的範例
假設愛麗絲和鮑伯打賭誰會成為美國總統大選的獲勝者。愛麗絲認為共和黨候選人會獲勝,鮑伯則認為民主黨候選人會獲勝。他們就賭注條款達成協議,並將資金鎖定在智能合約中,該合約將根據選舉結果將所有資金釋放給獲勝者。
由於智能合約無法與外部數據交互,因此它必須依賴預言機來為其提供必要的資訊 - 在本例中為總統選舉的結果。選舉結束後,預言機會查詢可信任 API 以找出哪位候選人獲勝,並將此資訊轉發給智能合約。然後,合約根據結果將資金發送給 Alice 或 Bob。
如果沒有預言機轉發數據,就無法以一種參與者無法玩弄的方式來結算這一賭注。
區塊鏈預言機有哪些不同類型?
區塊鏈預言機可以根據許多不同的品質進行分類:
來源-數據來自軟體還是硬體?
訊息的方向-是入站還是出站?
信任-是中心化的還是去中心化的?
單一預言機可以分為多個類別。例如,從公司網站獲取資訊的預言機是集中式入站軟體預言機。
軟體預言機
軟體預言機與線上資訊來源互動並將其傳輸到區塊鏈。這些資訊可以來自線上資料庫、伺服器、網站——本質上是網路上的任何資料來源。
軟體預言機連接到互聯網的事實不僅使它們能夠向智能合約提供訊息,而且還可以即時傳輸該訊息。這使它們成為最常見的區塊鏈預言機類型之一。
通常由軟體預言機提供的資訊可以包括匯率、數位資產價格或即時航班資訊。
硬體預言機
一些智能合約需要與現實世界互動。硬體預言機旨在從物理世界獲取資訊並將其提供給智能合約。這些資訊可以透過電子感測器、條碼掃描器和其他資訊讀取設備來轉發。
硬體預言機本質上是將現實世界的事件「翻譯」成智慧合約可以理解的數字值。
例如,感測器可以檢查運輸貨物的卡車是否已到達裝卸區。如果是,它將資訊轉發給智能合約,然後智能合約可以根據該資訊執行決策。
如果您想了解有關類似主題的更多信息,請查看區塊鏈用例:供應鏈。
入站和出站預言機
入站預言機將訊息從外部來源傳送到智慧合約,而出站預言機將訊息從智慧合約傳送到外在世界。
入站預言機的一個例子是告訴智能合約感測器測量的溫度。可以考慮使用智慧鎖作為出站預言機的範例。如果資金存入某個地址,智能合約會透過出站預言機將此訊息傳送到解鎖智慧鎖的機制。
集中式和分散式預言機
集中式預言機由單一實體控制,並且是智慧合約資訊的唯一提供者。僅使用一種資訊來源可能存在風險—合約的有效性完全取決於控制預言機的實體。此外,不良行為者的任何惡意幹擾都會對智能合約產生直接影響。中心化預言機的主要問題是存在單點故障,這使得合約對漏洞和攻擊的抵禦能力較差。
去中心化預言機與公共區塊鏈有一些相同的目標-避免交易對手風險。它們不依賴單一事實來源,從而提高了提供給智能合約的資訊的可靠性。智能合約查詢多個預言機以確定資料的有效性和準確性—這就是去中心化預言機也可以稱為共識預言機的原因。
一些區塊鏈項目向其他區塊鏈提供去中心化的預言機服務。去中心化的預言機在預測市場中也很有用,其中特定結果的有效性可以透過社會共識來驗證。
雖然去中心化的預言機旨在實現去信任化,但值得注意的是,就像去信任化的區塊鏈網路一樣,去中心化的預言機並沒有完全消除信任,而是將信任分佈在許多參與者之間。
合約特定的預言機
特定於合約的預言機是設計供單一智能合約使用的預言機。這意味著,如果想要部署多個智能合約,就必須開發一定數量的特定於合約的預言機。
這種類型的預言機被認為維護起來非常耗時且昂貴。想要從各種來源提取資料的公司可能會發現這種方法非常不切實際。另一方面,由於特定於合約的預言機可以從頭開始設計來服務特定的用例,因此開發人員可以高度靈活地根據特定要求進行客製化。
人類神諭
有時,在特定領域擁有專業知識的個人也可以充當神諭者。他們可以研究和驗證各種來源資訊的真實性,並將這些資訊轉化為智能合約。由於人類預言機可以使用密碼學來驗證其身份,因此詐欺者偽造其身份並提供損壞資料的可能性相對較低。
甲骨文問題
由於智慧合約根據預言機提供的數據執行決策,因此它們是健康的區塊鏈生態系統的關鍵。設計預言機的主要挑戰是,如果預言機受到損害,依賴它的智慧合約也會受到損害。這通常被稱為 Oracle 問題。
由於預言機不是主要區塊鏈共識的一部分,因此不幸的是它們不是公共區塊鏈可以提供的安全機制的一部分。第三方預言機與智慧合約的去信任執行之間的信任衝突仍然是一個尚未解決的問題。
中間人攻擊也可能是一種威脅,其中惡意行為者可以存取預言機和合約之間的資料流並修改或偽造資料。
結束語
促進智慧合約與外部世界之間溝通的可靠機制對於區塊鏈的全球採用至關重要。如果沒有區塊鏈預言機,智慧合約將只能依賴其網路中已有的資訊,這將大大限制它們的能力。
去中心化預言機有可能引入保障機制,消除區塊鏈生態系統中的許多系統性風險。區塊鏈預言機仍然是區塊鏈生態系統發展的關鍵建構模組之一,需要以安全、可靠和去信任的方式實施。