區塊鏈技術中常提到預言機(Oracle),聽起來好像能預測未來一樣,讓人產生歧義。Oracle 這個單詞的直譯是“預言、神諭”,也有權威的意思。

區塊鏈行業提到的預言機(Oracle),想表達的並不是“預言”的含義,而是數據的真實性、權威性。如果把預言機翻譯成“可信數據提供商”,可能會更貼切。所以預言機就是一個為鏈上提供可信數據的工具,文藝點講就是鏈接區塊鍊和現實世界的橋樑。

預言機的運行原理:當區塊鏈上的某個智能合約有數據交互需求時,預言機在接收到需求後,幫助智能合約在鏈外收集外界數據,驗證後再將獲取的數據反饋回鏈上的智能合約。

為什麼需要預言機?

因為區塊鏈上的智能合約和去中心化應用(Dapp)對外界數據擁有交互需求。

區塊鍊是一個封閉的環境,鏈上是無法主動獲取鏈外真實世界的數據。主要是因為區塊鏈無法主動發起Network call(網絡調用)而鏈上智能合約是被動接收數據的。其次,智能合約其實並不“智能”,它只是在滿足相應條件下,才達到觸發狀態的程序。同時,智能合約最終的執行需要合約參與方的私鑰簽署,智能合約本身沒有辦法自動執行。

當智能合約的觸發條件取決於區塊鏈外信息時,這些信息需先寫入區塊鏈內記錄。此時需要通過預言機來提供這些區塊鏈外的信息。

先舉一個通俗易懂的例子,假設現在我被關進了一個小黑屋裡,我對外面的世界發生了什麼幾乎一無所知,不知道外面是否有人,即使呼叫也沒有人回應,只有外面的人在門口告訴我,我才可以得知外面的改變。

智能合約就像這個例子中的“我”一樣,它無論何時何地,都無法主動向外尋求信息,只能外部把消息或數據給到裡面。而預言機就是這個在門口收到我的請求後,從外面輸送消息和數據的人。

或許你又會提出疑問為什麼鏈上無法直接導入和接收數據?主要是因為區塊鏈的共識機制。區塊鍊是基於共識的網絡,所運行的智能合約也要求一定要是確定性的程序, 每筆交易和區塊處理過後,每個節點必須要達到相同的狀態。但是數據本身俱有復雜性和多樣性,這也是為什麼預言機為了契合區塊鏈的共識機制,除了蒐集數據還有一步數據驗證的步驟才將最後的“確定性”信息反饋給智能合約。

哪些團隊正在開發預言機?

1、Oraclize:

Oraclize是一個為以太坊提供中心化數據傳輸預言機服務的項目,其依托亞馬遜AWS服務和TLSNotary證明技術,提供預言機的服務。

在區塊鏈環境下,Oraclize把獲取的信息返回鏈上且保證保證數據與數據源相同,用戶可以自行抓取數據。Oraclize不干涉信息源的選取和信息源本身的準確度。

 2、Augur:

不同於Oracle的中心化,Augur是一個去中心化的預測市場平台。Augu的核心是預測市場,主要是通過利益驅動的投票機制來確定結果。

用戶可以用數字貨幣進行預測和下注,依靠群體智慧來預判事件的發展結果。用戶可以選擇圍繞任何未來事件創建預測市場,參與者可以押注該事件的結果。參與者根據創建的未來事件的實際結果贏錢或者輸錢。平臺本身無法驗證事件的真實結果是什麼,因此Augur依靠用戶和復雜的結果報告系統來鼓勵誠實的結果報告行為。

 3、Chainlink:

Chainlink是第一個去中心化的預言機。比起Oraclize的中心化,Chainlink更符合區塊鏈去中心化的準則。Chainlink主要提供用於幫助智能合約訪問關鍵鏈外資源、網站API和傳統銀行賬戶支付的預言機服務。

鏈下節點來提供數據,chainlink的鏈上部分會收集數據請求的需求,然後收集合適的節點的回答,在加權得到結論後反饋給信息請求方。chainlink也擁有一個對節點的信譽評價體系,信息需求方可以選擇特定信譽級別的節點,每次信息反饋之後也會更新每個節點的信譽評分。

預言機項目能投嗎?

毫無疑問預言機是構建區塊鏈世界基礎的工具之一,但目前的預言機項目還不是特別成熟,實用性也差一些。既然如此這些項目還值得參與麼?

區塊鏈項目基本沒有公認估值模型,我們投資的大都是未來的價值。像某些互聯網公司一樣,就算連年虧損,但股價還是一路攀升。而且目前我們大概率已經處在牛市當中,市場情緒較為高漲,更容易出現非理性的暴漲。

可話說回來,既然投資的大都是未來的價值。要面臨的風險,自然也非常大。回頭看17年的牛市,當年的百倍幣,後面也大都跌了回去。最近預言機版塊剛經歷了大漲,所以還是要注意風險,謹慎參與。