中心化預言機在區塊鏈智能合約中的意義是什麽

預言機有多種應用場景,將會極大拓展區塊鏈在現實世界的應用範圍。所有需要與鏈外數據交互的非中心化應用都需要借助預言機,例如非中心化的衍生品交易平台、借貸平台、穩定通證、保險應用、賭場應用、預測市場等。

導讀 fBY顯卡之家

區塊鏈的優勢在于不依賴第三方解決信任問題,智能合約在其中起了重要作用。智能合約可能需要與外部世界進行數據交互,但區塊鏈無法主動獲取現實世界的數據,該如何解決呢?摘要區塊鏈是一個確定的、封閉的系統,無法主動獲取鏈外的數據。預言機便是區塊鏈智能合約與外部世界交互的接口,是區塊鏈與外界相互溝通的橋梁。fBY顯卡之家

預言機有多種應用場景,將會極大拓展區塊鏈在現實世界的應用範圍。所有需要與鏈外數據交互的非中心化應用都需要借助預言機,例如非中心化的衍生品交易平台、借貸平台、穩定通證、保險應用、賭場應用、預測市場等。fBY顯卡之家

預言機的主要作用是爲智能合約提供可靠的外部數據,其核心價值是在可信的基礎上,使區塊鏈與外部世界連接起來。理想狀態下預言機的工作流程是接受請求、獲取數據、返回數據。可供預言機查詢的數據源一般有互聯網的URL鏈接、搜索引擎、其他區塊鏈的數據、星際文件系統IPFS的數據等。fBY顯卡之家

預言機有多種類型,可以按軟硬件進行分類、按中心化與否進行分類、按數據流向進行分類。fBY顯卡之家

實際應用設計預言機時,需要著重加以考慮信息保密性(Confidentiality)、完整性(Integrity)、可獲得性(Availability)等問題。fBY顯卡之家

典型的預言機項目有ChainLink、Oraclize、DOS Network、OracleChain等。fBY顯卡之家

總體來看,目前市場上的預言機類項目主要爲非中心化預言機 ,且多數都致力于支持多條主流公鏈。爲了保障預言機信息的保密性、完整性和可獲得性,不同項目采取了不同的方案,如ChainLink的方案是結合聲譽合約、訂單匹配合約和聚合合約,Oraclize是利用真實性證明,DOS Network采用了可驗證隨機方程和阈值密碼學,而OracleChain采用了聲譽和抵押證明。fBY顯卡之家

風險提示:隱私泄露fBY顯卡之家

目錄    1   預言機的含義fBY顯卡之家

1.1 預言機在傳統互聯網裏的含義 1.2 預言機在區塊鏈裏的含義 1.3 預言機的應用場景2   預言機的工作流程與類型2.1 預言機的工作流程 2.2 預言機的分類方法3   預言機實際應用中需要攻克的問題4   典型項目分析4.1 ChainLink 4.2 Oraclize 4.3 DOS Network 4.4 OracleChain    正文   fBY顯卡之家

1預言機的含義fBY顯卡之家

1.1    預言機在傳統互聯網裏的含義fBY顯卡之家

預言機英文爲Oracle,最初源于古希臘宗教,意爲“神谕、先知、預言”。fBY顯卡之家

計算機科學之父艾倫·圖靈于1939年在博士論文裏提出預言機的概念,介紹了超計算(Hypercomputation)。預言機比圖靈機更加強大,可以回答一些無法通過計算解決的問題,例如,“今年世界杯,哪只球隊將問鼎冠軍?”。fBY顯卡之家

一部預言機是一個帶著“魔法黑盒”的圖靈機,其中黑盒可以解答兩類問題:一是決定性問題(Decision Problem,只需回答“是”或“否”的問題),二是功能性問題(Function Problem,又被稱爲複雜型問題,比簡單回答“是否”要複雜,例如,正整數x可以被哪些數整除?)fBY顯卡之家

1.2    預言機在傳統互聯網裏的含義fBY顯卡之家

以太坊將區塊鏈帶入到2.0時代,通過采用圖靈完備的編程語言,實現邏輯判斷等更複雜的功能,而不像BTC那樣僅限于地址間轉賬,從而極大豐富了區塊鏈商用落地的場景,智能合約(Smart Contract)是其中的關鍵性技術。所謂智能合約,指的是滿足一定條件會觸發一段程序的自動執行,相當于計算機裏的“if…then…(如果…就…)”編程語句。fBY顯卡之家

區塊鏈是一個確定的、封閉的系統,每個節點需要獲取精確一致的狀態,這賦予了區塊鏈的不變性,但同時也意味著缺少靈活度。觸發智能合約的“一定條件”可以是鏈上的狀態,例如支付是否完成,也可以是外界的信息,例如天氣的狀態、航班是否晚點、哪支球隊贏了比賽等等。fBY顯卡之家

區塊鏈網絡無法獨立地搜集外界的信息,預言機便是區塊鏈智能合約與外部世界交互的接口,可以查找和驗證真實世界的數據,並以加密的方式將信息提交給智能合約使用,它允許確定的智能合約對不確定的外部世界作出反應,可以簡單理解爲外界數據的預處理器或第三方數據代理商。《區塊鏈能做什麽、不能做什麽?》一文,對預言機是這樣定義的:fBY顯卡之家

區塊鏈外信息寫入區塊鏈內的機制,一般被稱爲預言機(oracle mechanism)。fBY顯卡之家

以Alice和Bob賭球爲例來說明預言機在智能合約裏的作用。假設Alice和Bob先各自向智能合約裏的地址發送1 ETH作爲賭注,並約定:fBY顯卡之家

1)雙方將賭注提前發送到智能合約地址,智能合約根據預言機提供的外界信息自動執行相應的程序;fBY顯卡之家

2)如果Alice押注的球隊贏了,Alice將從Bob那裏贏得1 ETH,智能合約地址裏的2 ETH將自動發送給Alice;fBY顯卡之家

3)如果Bob押注的球隊贏了,Bob將從Alice那裏贏得1 ETH,智能合約地址裏的2 ETH將自動發送給Bob;fBY顯卡之家

4)Alice和Bob押注的球隊打成了平局,智能合約地址裏的ETH原路退回,兩人均未有輸贏。fBY顯卡之家

中心化預言機在區塊鏈智能合約中的意義是什麽fBY顯卡之家

整個過程都沒有人爲的幹預,即便Alice和Bob是兩個陌生人,也不會産生額外的信任成本。fBY顯卡之家

1.3    預言機的應用場景fBY顯卡之家

所有需要與鏈外數據交互的區塊鏈應用都需要借助預言機,典型的應用場景有:fBY顯卡之家

1) 加密資産衍生品交易平台fBY顯卡之家

目前典型的加密資産衍生品交易平台有dydx等,允許用戶做多或做空通證資産。智能合約需要從鏈外獲取資産價格,來觸發平倉、確定參與方的收益和損失等。fBY顯卡之家

2) 非中心化運作的穩定通證fBY顯卡之家

穩定通證是一類通過特定機制錨定其價值和價格的數字通證。根據價值支撐劃分,穩定通證當前主要有法幣錨、資産錨和內部錨三種模式。通過非中心化運作的穩定通證目前有DAI等。這些非中心化運作的穩定通證需要借助預言機來感知其自身的價格變化,進而作出相應的決策來穩定價格。fBY顯卡之家

DAI是MakerDAO平台通過抵押加密資産(目前主要是ETH)發行的穩定通證。MakerDAO平台通過多個預言機獲取抵押物和DAI的市場價格,在抵押物市場價格跌幅過大時可以作出警告和清算決策。fBY顯卡之家

3) 借貸平台fBY顯卡之家

基于區塊鏈的借貸平台目前有ETHLend、SALT等,這些平台允許用戶抵押加密資産來借貸法幣或其他加密資産,與DAI類似,平台會借助預言機監控抵押物的保證金比率,在保證金不足時將會發出警告並觸發清算程序。同時,預言機可以導入借款人的信用等級,進而確定相應的貸款利率。fBY顯卡之家

4) 保險應用fBY顯卡之家

基于區塊鏈的保險應用目前有Etherisc、HGS等。用戶在平台上可購買航空延誤險、農作物保險等保險。預言機可以爲這類事件引入外部數據源,以便智能合約根據協議對保險産品作出是否理賠的決策。fBY顯卡之家

5) 賭場應用fBY顯卡之家

基于區塊鏈的賭場應用目前有FunFair、Edgeless等,通過智能合約保障遊戲公平、即時安全支付,相比于傳統中心化賭場具有較大優勢。對非中心的賭場應用來說最重要的是不可預測、可驗證的隨機數輸入。fBY顯卡之家

傳統的隨機數産生方式是中心化的,隨機數的具體數值與特定機器的物理狀態有關。區塊鏈上的隨機數需要滿足分布式的特點,在每個節點産生的隨機數要具有一致性的隨機性,傳統方式無法滿足這一要求,通過預言機可以實現從鏈外輸入具有這種特性的隨機數。fBY顯卡之家

6) 非中心化的預測市場fBY顯卡之家

非中心化的預測市場目前有Augur、Gnosis等項目,在體育賽事、總統競選、通證價格變化等事件上可以做出預測,押注不同的結果預測。押注之後可以選擇等待最終結果,也可以選擇在二級市場提前交易“開獎券”。預言機將獲取最終真實的結果,並根據此結果來計算盈虧。fBY顯卡之家

7) 基于區塊鏈的物聯網應用fBY顯卡之家

基于區塊鏈的物聯網應用,是將鏈外傳感器信息通過預言機傳到鏈上,讓智能合約驗證後觸發下一步行爲。fBY顯卡之家

2預言機的工作流程與類型fBY顯卡之家

2.1    預言機的工作流程預言機的主要作用是爲智能合約提供可靠的外部數據,其核心價值是在可  信的基礎上,使區塊鏈與外部世界連接起來。理想狀態下預言機的工作流程如下:fBY顯卡之家

1) 接受請求。預言機接收到用戶合約(USER-SC Contract)發送的請求Req=(Src,τ,q),其中Src表示查詢指定的數據源,τ表示時間點或時間段,q表示查詢的內容。fBY顯卡之家

2) 獲取數據:將查詢內容q在時間τ發送到Src,進行查詢;fBY顯卡之家

3) 返回數據:一旦獲得答案a,將a返回給智能合約使用。fBY顯卡之家

中心化預言機在區塊鏈智能合約中的意義是什麽fBY顯卡之家

可供預言機查詢的數據源一般有:fBY顯卡之家

1) 互聯網的URL鏈接;fBY顯卡之家

2) 搜索引擎;fBY顯卡之家

3) 其他區塊鏈的數據;fBY顯卡之家

4) 星際文件系統IPFS的數據;fBY顯卡之家

5) 傳感器的數據等。fBY顯卡之家

2.2    預言機的分類方法fBY顯卡之家

1)按軟硬件進行分類fBY顯卡之家

預言機獲取數據的來源是線上(包括互聯網、區塊鏈鏈上),和線下(物理世界的傳感器數據),分別對應軟件預言機和硬件預言機。fBY顯卡之家

2)按中心化與否進行分類fBY顯卡之家

預言機反饋的結果是通過單一節點獲得,或通過分布式節點“集思廣益”而獲得,分別對應中心化預言機、非中心化預言機。非中心化的預言機效率較低,中心化的預言機可靠性較差。fBY顯卡之家

3)按數據流向進行分類fBY顯卡之家

外部數據可以通過預言機流向區塊鏈觸發智能合約執行下一步程序,智能合約産生的數據也可以通過預言機流向物理世界(例如區塊鏈智能鎖,當智能合約檢測到指定區塊鏈地址收到轉賬後,將觸發智能鎖自動解鎖)。fBY顯卡之家

中心化預言機在區塊鏈智能合約中的意義是什麽fBY顯卡之家

3預言機實際應用中需要攻克的問題fBY顯卡之家

預言機在實際應用進行設計時需要著重考慮以下三個要素:完整性(Integrity)、保密性(Confidentiality)、和可獲得性(Availability)。fBY顯卡之家

完整性是指信息完整准確可靠,沒有被有意無意地破壞、篡改。fBY顯卡之家

保密性是指智能合約向預言機請求查詢的內容不會被泄露出去。例如非中心化的保險業務,用戶或許並不希望預言機透露自己的航班信息給全世界;再如非中心化的衍生品交易,用戶也並不願意透露自己的投資組合和操作策略。fBY顯卡之家

可獲得性是指通過預言機調取數據時,可以及時得到所需要的信息,包括可以實現抗審查(censorship-resistance)。fBY顯卡之家

針對完整性,一般可通過多重數據源、多重預言機、聲譽系統、可信執行環境(可信硬件)、真實性證明等方案加以解決。具體參見下文典型項目分析。fBY顯卡之家

針對保密性,預言機節點使用公鑰對查詢請求進行加密,並對預言機做出信息流限制,僅僅在查詢信息源時才去解密。fBY顯卡之家

針對可獲得性,非中心化的預言機可以有效解決。fBY顯卡之家

4典型項目分析fBY顯卡之家

4.1    ChainLinkfBY顯卡之家

ChainLink致力于打造高可靠性的分布式預言機網絡。用戶合約(USER-SC)發出查詢請求,CHAINLINK-SC爲請求的事件分配適配器,適配器調用外部API並返回結果,CHAINLINK-SC聚合相關響應並把一個最終結果反饋給USER-SC。fBY顯卡之家

中心化預言機在區塊鏈智能合約中的意義是什麽fBY顯卡之家

CHAINLINK-SC主要由聲譽合約(reputation contract)、訂單匹配合約(order-matching contract)、聚合合約(aggregating contract)構成。聲譽合約通過響應時間、保證金數額、請求完成率等指標對預言機節點進行聲譽評分,訂單匹配合約借助聲譽合約將請求事件與預言機節點進行自動匹配,增加可用性。聚合合約收集彙總預言機節點的響應,並將節點指標反饋給聲譽合約。fBY顯卡之家

爲保障信息的完整性和可獲得性,ChainLink采用分布式數據源(Distributing Sources)、分布式預言機(Distributing Oracles)、使用可信硬件(Use of Trusted Hardware)三種方案。fBY顯卡之家

ChainLink的願景是支持所有的智能合約,輕松實現智能合約與數據源和API的連接,可實現跨鏈和鏈下的交互和支付。fBY顯卡之家

中心化預言機在區塊鏈智能合約中的意義是什麽fBY顯卡之家

4.2    OraclizefBY顯卡之家

Oraclize是一個具有真實性證明的中心化預言機,目前支持以太坊(Ethereum)、Rootstock、R3 Corda、Hyperledger Fabric和EOS等多個平台。fBY顯卡之家

智能合約通過對Oraclize發布一個調用請求來獲取數據,指定數據源和參數,Oraclize根據請求獲取數據後,利用callback函數返回結果。fBY顯卡之家

Oraclize認爲非中心化預言機的解決方案具有效率低下、所有參與方都需要付費、耗費時間長等局限性。Oraclize的思路是證明從源頭獲取的數據是真實的且未篡改的,類似于網絡技術中, HTTPS協議取代HTTP,在客戶端和服務器之間創建加密和驗證通道,提供身份驗證。fBY顯卡之家

真實性證明可以通過硬件或軟件的方案來加以解決,例如可信執行環境TEE(硬件)、可審計的虛擬機(軟件)。fBY顯卡之家

4.3    DOS NetworkfBY顯卡之家

DOS Network是支持多條主流公鏈的非中心化預言機服務網絡。fBY顯卡之家

DOS Network是一個Layer-2的預言機解決方案,由鏈上和鏈下兩部分構成。智能合約指明合約需要的數據源以及數據類型,向鏈上系統合約發送一個預言機請求,接著該請求會被隨機分配給一個鏈下工作組。工作組內的每個成員節點都會從指定的數據源獲取數據並按照規定的類型和結構來解析。隨後組內節點通過阈值密碼學的方式對數據結果達到組內共識並且産生一個對共識結果的證明。經過組內共識的數據和相應的證明將會以一條交易的方式發回系統合約,並觸發合約對提交組返回結果證明的驗證。fBY顯卡之家

DOS Network認爲基于聲望來選擇服務節點容易因“馬太效應”造成中心化問題,因此采用隨機的方法來選取預言機工作組合節點。DOS Network基于可驗證隨機方程(VRF)和阈值密碼學(Threshold Cryptography)的方式産生安全、無法被預測並且可以被公開驗證的隨機數,避免了聲望系統的種種問題,對參與節點更加公平公正。fBY顯卡之家

4.4    OracleChainfBY顯卡之家

OracleChain是基于EOS平台面向EOS生態的非中心化預言機平台。OracleChain采用PoRD(Proof-of-Reputation&Deposit,聲譽和抵押證明)的雙效機制,本質上是一種抵押保證金的聲譽系統,獎勵善意節點,懲罰惡意節點。fBY顯卡之家

總體來看,目前市場上的預言機類項目主要爲非中心化預言機,且多數都致力于支持多條主流公鏈。爲了保障預言機信息的保密性、完整性和可獲得性,不同項目采取了不同的方案,如ChainLink的方案是結合聲譽合約、訂單匹配合約和聚合合約,Oraclize是利用真實性證明,DOS Network采用了可驗證隨機方程和阈值密碼學,而OracleChain采用了聲譽和抵押證明。fBY顯卡之家
責任編輯;zlfBY顯卡之家

相關推薦

X-POWER-BY FNC V1.0.0 FROM 自制32