來自社區提交的內容。作者:瓦萊裏·牟


內容

  • 什麼是區塊鏈預言機?

  • 使用預言機的示例

  • 神諭的種類

    • 軟件預言機

    • 硬件預言機

    • 傳入和傳出的預言機

    • 集中式和分散式預言機

    • 基於合約的預言機

    • 甲骨文人

  • 預言機的問題方面

  • 結論


什麼是區塊鏈預言機?

預言機是第三方服務,爲智能合約提供與外部信息源的通信,即充當區塊鏈與外界之間的橋樑。

區塊鏈和智能合約無法訪問鏈外(網絡外)的數據。然而,對於許多合同來說,能夠從外界提取相關信息以遵守協議條款至關重要。

在這種情況下,預言機就發揮了作用,因爲它們提供了外部和內部資源之間的通信。預言機是區塊鏈生態系統的重要組成部分,因爲它們擴展了智能合約的功能。如果沒有預言機,智能合約將受到極大限制,因爲它們只能訪問其網絡內的數據。

值得注意的是,預言機本身不是數據源,而是請求、驗證和驗證來自外部源的所有讀數,然後中繼此信息的層之一。預言機傳輸的數據有多種形式:價格信息、支付成功完成或傳感器測量的溫度。

要從外部請求數據,您需要激活智能合約並在其上花費網絡資源。一些預言機不僅能夠將信息傳輸到智能合約,還能夠將其發送回外部源。

預言機有許多不同類型,但其工作原理完全取決於其用途。在本文中,我們將瞭解其中一些品種。


使用預言機的示例

假設愛麗絲和鮑勃正在打賭誰將贏得美國總統選舉。愛麗絲認爲共和黨候選人會獲勝,鮑勃認爲民主黨代表會獲勝。他們同意投注條款,並將一部分資金鎖定在智能合約中,該合約根據選舉結果向獲勝者提供獎金。

由於智能合約無法與外部數據源交互,因此完全依賴於預言機爲其提供必要的信息,在本例中爲總統選舉的結果。選舉結束後,預言機向可信 API 發出請求,以查明哪位候選人獲勝,並將此信息傳遞給智能合約。然後,合約根據結果將資金髮送給 Alice 或 Bob。

如果沒有預言機的活動(中繼數據包),那麼在沒有第三方干預的情況下就無法確定獲勝者。


神諭的種類

區塊鏈上的預言機可以根據許多不同的品質進行分類:

  • 來源——數據來自軟件還是硬件?

  • 信息的方向——傳入還是傳出?

  • 信任——集中還是分散?

一個預言機可以同時分爲多個類別。例如,從公司網站接收信息的預言機是集中式、基於軟件的預言機。


軟件預言機

軟件預言機與在線信息源交互並將其傳輸到區塊鏈。這些信息可以來自在線數據庫、服務器、網站,實際上可以來自互聯網上的任何數據源。

軟件預言機連接到互聯網的事實使它們不僅可以爲智能合約提供信息,還可以實時廣播這些信息。這使它們成爲區塊鏈上最常見的預言機之一。

基本上,軟件預言機依賴的數據包括:交易所評級、數字資產價格、實時航班信息等。


硬件預言機

對於某些智能合約來說,與現實世界的交互是必要的。硬件預言機旨在從物理世界獲取信息並將其提供給智能合約。這些信息可以從傳感器、條形碼掃描儀和其他信息讀取設備傳輸。

其核心是,硬件預言機將真實事件“翻譯”爲可以使用智能合約讀取的數字值。

一個例子是檢查運載貨物的卡車是否已到達裝卸區的傳感器。如果是這樣,它將信息傳遞給智能合約,然後智能合約可以據此做出決定。

如果您想了解有關此主題的更多信息,我們建議您閱讀以下文章:區塊鏈技術用例:供應鏈。


傳入和傳出的預言機

傳入的預言機從外部源提取信息並將其傳輸到智能合約,而傳出的預言機則按相反的順序行事,即他們從智能合約收到的數據由預言機傳輸到外部源。

例如,傳入的預言機告訴智能合約傳感器正在測量的溫度,而傳出的預言機則調節智能鎖的操作。如果資金存入該地址,智能合約會通過傳出預言機將此信息發送到解鎖智能鎖的機制。


集中式和分散式預言機

中心化預言機由一個法人或個人控制,是智能合約的唯一信息提供者。僅使用一種來源可能存在風險,因爲合同的有效性完全取決於控制實體。此外,欺詐者的任何惡意干預都會對智能合約產生直接影響。中心化預言機的主要問題是存在單點故障,這使得合約更容易受到攻擊,並且更難抵抗攻擊。

去中心化預言機和公共區塊鏈在避免交易對手風險方面有着相同的目標。它們通過消除單一事實來源來提高所提供信息的可靠性。智能合約同時向多個預言機請求信息,以確定數據的有效性和準確性,因此,去中心化預言機也可以稱爲共識預言機。

一些區塊鏈項目爲其他區塊鏈提供去中心化的預言機服務。去中心化預言機在預測市場中也很有用,可以根據社會共識來確認特定結果的有效性。

雖然去中心化預言機的目標是實現信任,但它們就像不信任的區塊鏈網絡一樣,並沒有完全消除信任某人的需要,而是將其分配給許多參與者。


基於合約的預言機

面向合約的預言機是一種專門在單個智能合約中使用的預言機。這意味着,如果想要部署多個智能合約,就必須開發一定數量的以合約爲中心的預言機。

此類預言機被認爲是非常耗費人力且維護成本高昂的。想要從多個來源提取數據的公司可能會發現這種方法非常不切實際。另一方面,由於這種類型的預言機可以從頭開始開發以適應特定的用例,因此其開發人員在指定預言機的必要要求方面具有很高的靈活性。


甲骨文人

有時,某一特定領域的專家也可以充當先知。他們的職責包括研究和驗證從各種來源收到的信息的真實性,並將已處理的數據傳輸到智能合約。由於人類預言機可以使用密碼學來驗證他們的身份,因此欺詐者代表他們進行身份驗證並提供篡改數據的可能性相對較低。


預言機的問題方面

由於智能合約根據預言機提供的數據做出決策,因此它們是區塊鏈生態系統健康運行的關鍵。開發預言機面臨的主要問題是,預言機可能受到負面影響的風險直接影響基於它的智能合約的運行。這通常被稱爲“預言機問題”。

不幸的是,預言機不是公共區塊鏈安全機制的一部分,因爲它們與區塊鏈網絡的共識沒有任何關係。第三方預言機之間的信任衝突和智能合約的不可靠執行仍然是一個尚未解決的問題。

當攻擊者訪問預言機和合約之間的數據流並修改或僞造傳輸的數據時,中間人攻擊也可能構成威脅。


結論

促進智能合約與外界溝通的可靠機制對於全球範圍內公衆接受區塊鏈技術至關重要。如果沒有預言機,智能合約將僅依賴於網絡中已有的信息,這極大地限制了它們的能力。

去中心化預言機在引入安全機制方面具有巨大潛力,可以消除區塊鏈生態系統中的大部分系統性風險。預言機仍然是最重要的構建模塊之一,必須以安全、可靠和可信的方式實施,以促進區塊鏈技術和整個生態系統的進一步發展。