區塊鏈技術科普丨什麼是預言機(Oracle)

在《經濟學人》雜誌中對區塊鏈的定義:「區塊鏈是信任的機器」。

區塊鏈最大的核心創新在於去中心化的解決信任問題,不須要再去信任和依靠第三方機構的狀況下進行價值轉移。其中,智能合約起到了重要的做用。它是一套數字形式定義的合約,幫助合約參與方執行完成任務的協議,節省了時間和繁瑣的步驟。安全

可是萬萬沒有想到。。。。
高大上的區塊鏈竟然沒法主動獲取現實世界的數據!!!網絡

圖片描述

可是智能合約存在外部數據的交互需求。好比,一些像是股票或者幣價的實時價格數據,天氣預報,市場預測等其餘數據。架構

那麼,這裏就引出了預言機(oracle) 這樣一個概念。
圖片描述oracle

什麼是預言機?app

預言機就是一種單向的數字代理,能夠查找和驗證真實世界的數據,並以加密的方式將信息提交給智能合約。預言機就比如區塊鏈世界中的一個第三方數據代理商。分佈式

圖片描述

舉例來講,假設現實世界中的「數據源」和區塊鏈中的「數據接口」,是兩個使用不一樣語言的國家,預言機就是中間的翻譯官。經過預言機智能合約就能夠和鏈外數據進行無障礙交流。

在實際使用智能合約中,須要預言機對數據進行驗證。由於區塊鏈也是基於共識的系統,所運行的智能合約也要求必定要是肯定性的程序。預言機對數據驗證這一步驟是爲了契合共識機制,使最後反饋給智能合約的數據也是「肯定性」的。性能

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

區塊鏈爲何須要預言機?優化

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

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

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

先舉一個通俗易懂的例子,假設如今我被關進了一個小黑屋裏,我對外面的世界發生了什麼幾乎一無所知,不知道外面是否有人,即便呼叫也沒有人迴應,只有外面的人在門口告訴我,我才能夠得知外面的改變。
智能合約就像這個例子中的「我」同樣,它不管什麼時候何地,都沒法主動向外尋求信息,只能外部把消息或數據給到裏面。而預言機就是這個在門口收到個人請求後,從外面輸送消息和數據的人。

或許你又會提出疑問爲何鏈上沒法直接導入和接收數據?主要是由於區塊鏈的共識機制。

區塊鏈是基於共識的網絡,所運行的智能合約也要求必定要是肯定性的程序, 每筆交易和區塊處理事後,每一個節點必需要達到相同的狀態。可是數據自己具備複雜性和多樣性,這也是爲何預言機爲了契合區塊鏈的共識機制,除了蒐集數據還有一步數據驗證的步驟纔將最後的「肯定性」信息反饋給智能合約。

預言機應用場景有哪些?

目前預言機在區塊鏈裏涉及的應用領域有菠菜、穩定幣、借貸、金融衍生品、保險以及預測市場。目前,比較熱門的應用場景是菠菜、穩定幣和借貸。

>>>> 一、菠菜(Bócǎi)

區塊鏈內菠菜Dapp或者菠菜類遊戲都涉及到隨機數。菠菜類應用的核心是不可預測、可驗證的隨機數,隨機數決定賭注的最終結果,可是在封閉狀態的鏈上沒法產生安全的隨機數。
圖片描述

如今的大多數菠菜遊戲都是在鏈上生產隨機數,因此很容易被預測和破解致使資產被盜。以前一些菠菜類應用由於隨機數問題而遭受黑客攻擊,好比EOS上面的擲色子游戲或者以太坊上的FOMO3D。由於他們沒有知足智能合約/Dapp場景下對安全僞隨機數的要求:隨機,不可預測。他們用到鏈上公開,被其餘合約所調用,能夠被預測的信息所生成的種子(seed)從而致使他們的隨機數能夠被預測。菠菜類遊戲,要想獲得安全的隨機數,只有經過預言機從鏈外獲取。

>>>> 二、穩定幣

目前預言機主要服務於加密資產類穩定幣。
圖片描述
加密資產類穩定幣是由加密貨幣抵押爲基礎。加密資產類穩定幣不是保持一對一的比率,而是試圖經過維持更高的抵押品與穩定幣比來將其價格與法訂貨幣掛鉤。例如DAI和bitUSD。DAI經過超額抵押資產發行,其抵押物爲以太坊等鏈上資產。

加密資產類穩定幣有鏈外信息交互需求,須要預言機實時的去獲取外部世界穩訂貨幣自己和錨定資產的兌換率等數據。

>>>> 三、借貸

SALT Lending, ETHlend等去中心化P2P借貸平臺容許匿名的用戶用區塊鏈上的加密資產抵押,來借貸出法幣或者加密資產。
圖片描述
這類應用須要使用預言機在貸款生成時提供價格數據, 而且能監控加密抵押物的保證金比率,在保證金不足的時候發出警告並觸發清算程序。同時,借貸平臺也能用Oracle來導入借款人的社交和信用和身份信息來肯定不一樣的貸款利率。

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

>>>> 一、Oraclize:

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

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

>>>> 二、Augur:

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

用戶能夠用數字貨幣進行預測和下注,依靠羣體智慧來預判事件的發展結果。用戶能夠選擇圍繞任何將來事件建立預測市場,參與者能夠押注該事件的結果。參與者根據建立的將來事件的實際結果贏錢或者輸錢。平臺自己沒法驗證事件的真實結果是什麼,所以Augur依靠用戶和複雜的結果報告系統來鼓勵誠實的結果報告行爲。自己也能夠做爲其餘應用的輸入源,可是它們的輸出結果須要很長時間的延遲和大量用戶的參與。

>>>> 三、Chainlink:

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

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

>>>> 四、DOS Network

圖片描述
DOS Network是一個提供去中心化的預言機服務的網絡。它能夠鏈接智能合約和鏈外互聯網世界,同時也爲區塊鏈提供無限的且可驗證的計算力。Dos Network在鏈上監測用戶數據請求,鏈下監控和接收數據請求,再經過鏈下隨機選一組節點來提供數據,一旦收集來的數據經過組內51%節點共識被視爲「正確答案」,最後鏈下再將獲取的答案反饋給鏈上信息請求方。DOS 設立一個對於誠實節點的獎勵機制:除了給節點的數據處理費,30%總供應量的虛擬採礦獎勵,持續十年。

DOS Network在性能上可支持多條鏈,且數據結果接近實時,同時DOS Network分片的網絡結構設計,能夠並行處理請求,達到高性能和可擴展性。幫助擴展智能合約的處理能力和應用場景的二層(layer 2)網絡解決方案。

DOS與Chainlink相似,也有許多不一樣和優化。Chainlink對每一個節點返回的結果在區塊鏈上進行聚合和共識,而DOS在鏈下對結果進行共識,性能和可擴展性更好。Chainlink在 選取工做節點時基於信譽系統,而DOS則是徹底隨機的在去中心化網絡中選取工做節點,有更好的抵禦攻擊的能力,安全性更好,也更公平。

關於預言機的幾個判斷和思考

一、不管如何,預言機市場沒法擺脫對於少數權威信息源的依賴,只是說盡量的能夠經過程序公正、過後追責、分佈式容錯的思路來儘可能下降這種依賴。

二、目前各家預言機項目的解決方案各有利弊。

短時間來看: Oraclize雖然是中心化的項目,但具備很強的的應用性,用戶可隨機抓取自定義信息。Augur對於預測市場方向也能夠說是簡單實用,可是涉及到人工投票,速度可能不快。

長期來看:Chainlink和DOS Network這兩種去中心化的預言機網絡選取方案和多信息源對比的思路在架構上會更加安全可靠。

(本文圖片皆來源於網絡,版權屬於原做者)

DOS Network——爲解決區塊鏈可靠數據輸入及複雜計算能力而生的去中心化預言機服務網絡。

相關文章
相關標籤/搜索