1. 程式人生 > >GAIAWORLD神盾協議:能與現實世界交互的預言機

GAIAWORLD神盾協議:能與現實世界交互的預言機

區塊鏈;遊戲;

微信公眾號:GAIAWorld
技術分享圖片

預言機VS圖靈機


區塊鏈應用落地最大的障礙在於難以和現實世界交互,鏈上世界和現實世界之間存在一條難以跨越的鴻溝,智能預言機是目前唯一可行的鏈接區塊鏈網絡和現實世界的方式。智能預言機通過黑盒的方式將現實世界的參數導入區塊鏈網絡,並使用鏈上圖靈機回答決定性問題。

簡單而言,智能預言機=能映射現實世界的預言者+圖靈機。

圖靈機的作用在一些區塊鏈項目中被故意扭曲和誇大:“我們是圖靈完備的,所以能做任何事情”。圖靈完備只代表能做任何計算,不代表能做任何事情,圖靈完備甚至不能解決停機問題。很明顯,能做任何事情和能做任何計算之間有本質的差別。正因為圖靈機只能做計算,所以一個單純的圖靈機無法和現實世界進行映射,必須給圖靈機加上一個顯式或者隱式的預言者,構成一個完整的預言機,才能解決區塊鏈和現實交互的問題。

預言機雛形


比特幣基於UTXO模型,簡單的腳本沒有達到圖靈完備的要求,所以比特幣並不具有智能預言機。以太坊基於傳統的賬戶模型,且其虛擬機是圖靈完備的,所以從廣義上來講,以太坊已經具備了一個智能預言機的雛形。比如,通過2/3多重簽名可以實現一個簡單的預言機。小王和小明競猜18年歐冠皇馬和利物浦誰獲勝,勝者將獲得2個ETH作為獎勵,小紅做裁判。


具體操作如下:

  1. 小王、小明、小紅三個人寫了一個簡單的智能合約,鎖定了2個ETH

  2. 智能合約規定:只有獲得三人中至少兩人的簽名才能轉移這2個ETH

  3. 小明競猜皇馬贏球,獲得了競猜的勝利

  4. 小紅和小明使用簽名將2個ETH轉移到小明的賬戶上

    技術分享圖片

這就是一個智能預言機的雛形。通過現實世界中皇馬贏球,使得小明獲得了2個ETH,小紅在這個過程中扮演了預言者的角色。但是,這個雛形過於脆弱了,小紅決定了整個預言機計算的結果。即使小王競猜失敗了,小紅完全可以和小王合謀將2個ETH轉給小王。所以,整個預言機的計算結果並不真正取決於現實世界中皇馬是否贏得了比賽,而是小紅願意把這2個ETH轉給誰。可見,一個現實可用的預言機,需要一個可信的預言者以及一個圖靈完備的分布式網絡系統。

神盾協議規範描述了如何實現一個可信任的去中心化的預言機。

虛擬機


首先我們需要一個安全可信賴的圖靈機,用於執行鏈上代碼。代碼本質上就是數學化的合約。現實生活中的合約需要翻譯為機器可理解的二進制代碼才可以在鏈上執行。GAIAWORLD選擇了經過定制的Javascript語言作為現實合約和二進制代碼之間的橋梁,為此我們實現了一個輕量級的定制版Javascript虛擬機,稱作GVM(Gaia Virtual Machine)。


之所以選擇Javascript是因為該語言在互聯網領域擁有最廣泛的使用者,且擁有大量可使用的代碼庫方便程序員進行開發。潛在開發者的數量和潛在開發的難度是衡量一個區塊鏈能否吸引足夠開發者的重要指標,只有擁有足夠開發者的區塊鏈產品才能在長期的激烈競爭中存活。GVM可執行的代碼被稱作GSC(Gaia Smart Contract)。

技術分享圖片


GSC是應用程序員自己開發的,理論上無法保證GSC的絕對可信,所以我們對GVM和GSC進行額外的設計以減小惡意代碼對區塊鏈可能造成的破壞。

GVM是一個沙盒環境,在GSC在GVM內部執行,不會汙染GVM以外的環境。每一個GSC的執行都會使用一個全新的GVM已避免相互幹擾。除此以外,對於相互之間沒有關聯的GSC我們支持多個GVM同時執行,已期提高整體運行效率。

GAIAWORLD限制了可使用的Javascript內部函數和語法規範,以提供更高的安全性。同時,將鏈上應用常用函數封裝在官方庫中,以期提高應用程序員開發效率,同時降低外部庫引用給GVM帶來的未知風險。在計劃中,還會為GSC提供形式化驗證,只有通過驗證的代碼才會被GVM執行,進一步提高了執行鏈上代碼的安全性。

預言者


預言者是現實世界和GSC之間的紐帶。預言者通過神盾協議預定義的接口規範和GSC建立鏈接,為GSC提供輸入。預言者本質上是一個服務提供商,在鏈上繳納足額保證金之後,即可提供預先申請的服務,通過提供服務收取費用獲得收益。

技術分享圖片

預言者根據其所提供的服務類型,繳納了數倍甚至數十倍於所提供服務的保證金,一旦作惡將會被罰沒保證金,從經濟角度上講預言者最優選擇是誠實提供現實世界的信息以期獲得服務收益。GAIAWORLD會記錄單個GSC的執行次數,通常來說,被執行的次數越多的預言者服務越誠信,鏈上用戶會傾向於選擇執行次數更多的智能合約。

此外,神盾協議還引入了評級制度。當然,單個預言者始終是不足夠可靠的。對於可信度性要求更高的GSC,會采用多預言者模式。即同時使用多個預言者提供的相同服務,並且為每一個預言者分配權重,使用總權重最高的結果作為GSC的輸入。在此基礎之上,GAIAWORLD還實現了三級仲裁委員會制度,神盾協議和仲裁制度的結合會進一步保證預言機的可信度。

這就是GAIAWORLD神盾協議技術的邏輯,能更好的實現與現實世界交互。

技術分享圖片

GAIAWORLD神盾協議:能與現實世界交互的預言機