區塊鏈預言機介紹
首頁
文章
區塊鏈預言機介紹

區塊鏈預言機介紹

中等
發佈時間 Jan 22, 2020更新時間 Nov 28, 2023
7m

社群投稿 - 作者:Vallery Mou


什麼是區塊鏈預言機?

區塊鏈預言機為第三方服務,提供具備外部資訊的智能合約。它們可充當區塊鏈與外界之間的橋樑。

區塊鏈和智能合約無法存取鏈下資料 (網路外部資料)。但是,對於許多合約協議而言,擁有來自外界的相關資訊對於執行協議而言至關重要。

這是區塊鏈預言機發揮作用的地方,因為它們將鏈下和鏈上的資料做連結。預言機在區塊鏈生態系中至關重要,因為它們擴大了智能合約可以運行的範圍。如果沒有區塊鏈預言機,智能合約的用途非常有限,因為它們只能存取網路內部的資料。 

請務必注意,區塊鏈預言機本身不是資料來源,而是可查詢、檢查和驗證外部資料來源,然後轉送該資訊的中間層。預言機傳輸的資料有多種形式 – 價格資訊、付款成功完成或感應器測量到的溫度。 

若要取得來自外部世界的資料,必須調用智能合約,並且必須花費網路資源。有些預言機不僅可以將資訊轉發到智能合約,還可以將其發送回外部來源。

目前有許多不同類型的預言機存在 – 區塊鏈預言機的運作方式完全取決於它的設計目的。本文將一一檢視這些設計。


區塊鏈預言機範例

假設 Alice 和 Bob 下注誰是美國總統選舉的贏家。Alice 認為共和黨候選人將獲勝,而 Bob 認為民主黨將成為贏家。他們同意投注條款,並將其資金鎖定在智能合約中,該合約將根據選舉結果將所有資金放行給獲勝者。

由於智能合約無法與外部資料互動,因此它必須依靠預言機向其提供必要資訊 – 在這個範例中就是總統選舉的結果。選舉結束後,預言機會諮詢受信任的 API 以了解哪位候選人獲勝,並將此資訊轉發到智能合約。然後合約會將依結果資金發送給 Alice 或 Bob。

如果沒有預言機轉發資料,就無法確保參與者不會操縱結果判定並解決此賭注。 


有哪些不同類型的區塊鏈預言機?

區塊鏈預言機可以根據許多不同特性進行分類: 

  • 來源 – 資料源自軟體還是硬體?

  • 資訊方向 – 入站還是出站?

  • 信任 – 中心化還是去中心化?

單一預言機可以分為多個類別。例如,從公司網站取得資訊的預言機為中心化入站軟體預言機。


軟體預言機

軟體預言機與線上資訊來源互動並將其傳輸到區塊鏈。此資訊可能來自線上資料庫、伺服器、網站 – 基本上就是來自 Web 的任何資料來源。

軟體預言機連接到網際網路這件事不僅使它們能夠向智能合約提供資訊,還可以即時傳輸該資訊。使它們成為最常見的區塊鏈預言機類型之一。 

通常由軟體預言機提供的資訊可能包括匯率、數位資產價格或即時航班資訊。


硬體預言機

有些智能合約需要與現實世界接合。硬體預言機旨在從實體世界獲取資訊,並將其提供給智能合約。這些資訊可以從電子傳應器、條碼掃描器和其他資訊讀取裝置轉發。

硬體預言機基本上會將真實世界事件「轉譯」為智能合約可解讀的數值。

這種情況的其中一個例子是感應器,檢查運輸貨物的卡車是否已經抵達進料台。如果已抵達,它會將資訊轉發到智能合約,然後該合約可以根據資訊執行決策。

如果您想閱讀關於類似主題的更多資訊,請參閱區塊鏈用例:供應鏈


入站和出站預言機

入站預言機將資訊從外部來源傳輸到智能合約,而出站預言機則將資訊從智能合約發送到外部世界。 

入站預言機的一個例子是告訴智能合約感應器測量到的溫度。出站預言機的一個例子可以想像成一個智能鎖。如果將資金儲值到某個地址,智能合約會將此資訊透過出站預言機發送到解鎖智能鎖的機制。


中心化與去中心化預言機

中心化預言機由單一實體控制,它是智能合約唯一的資訊提供者。只使用一個資訊來源可能會有風險 – 合約的有效性完全取決於控制預言機的實體。此外,來自不良行為者的任何惡意干擾都會對智能合約產生直接影響。中心化預言機的主要問題是單點故障問題的存在,使得合約對漏洞和攻擊的抵抗力較低。

去中心化預言機與公共區塊鏈具有部分相同目標 – 避免交易對手風險。它們不依賴單一事實來源,提升供給智能合約資訊的可靠性。智能合約會查詢多個預言機以確定資料的有效性和準確性 – 這就是為何去中心化預言機又稱為共識預言機的原因。

有些區塊鏈項目向其他區塊鏈提供去中心化預言機服務。去中心化預言機在預測市場中也很實用,它們可以在預測市場中透過社會共識驗證某些結果的有效性。

儘管去中心化預言機旨在實現去信任化,但請務必注意,就像去信任化區塊鏈網路一樣,去中心化預言機並不能完全去信任化,而是在許多參與者之間分配信任。


合約專屬預言機

合約專屬預言機旨在用於單一智能合約。這代表如果要部署數個智能合約,則必須開發適當比例的合約專屬預言機數量。

這種預言機被認為非常耗時而且維護成本昂貴。想要從各種來源取得資料的公司可能會發現這種方法非常不切實際。另一方面,由於合約專屬預言機可以針對特定用例從頭設計,開發人員具有高度彈性來自訂預言機以滿足特定要求。


人力預言機

有時候,具有特定領域專業知識的個人也可以充當預言機。他們可以針對各種來源的資訊進行研究並驗證其真實性,並將該資訊轉譯為智能合約。由於人工預言機可以使用密碼學驗證其身分,因此欺騙者偽造其身分並提供損壞資料的可能性相對較低。


預言機問題

由於智能合約根據預言機提供的資料執行決策,因此它們是健康區塊鏈生態系的關鍵。設計預言機的主要挑戰在於如果預言機受到破壞,依賴它的智能合約也會受到損害。這個問題通常稱為「預言機問題」。 

由於預言機問題不是主要區塊鏈共識的一部分,很不幸地,它們也不會是公共區塊鏈可以提供的安全機制的一部分。第三方預言機之間的信任衝突與智能合約的去信任化執行仍然是一個未解決的問題。

中間人攻擊也可能是一種威脅,惡意行為者可以存取預言機和合約之間的資料流並修改或偽造資料。 


總結

可靠的機制可促進智能合約與外部世界之間的溝通,對於全球區塊鏈採用至關重要。如果沒有區塊鏈預言機,智能合約必須只能依賴其網路中已經存在的資訊,這將大大限制其功能。

去中心化預言機有可能引入保護機制,可以從區塊鏈生態系消除許多系統性風險。若要讓區塊鏈生態系成長,安全、可靠和去信任化的區塊鏈預言機仍是關鍵基石之一。