導讀:
本文作者JulienThevenard供職于著名風投機構FabricVentures。FabricVentures致力于對Web3.0時代以人類福祉為核心的計算項目進行投資。分布式賬本和智能合約能夠解決人們交互協作過程中的信任摩擦問題,為社會帶來巨大變革。但是,如果智能合約不能夠無需額外信任地獲取鏈外輸入,那么所謂的創新終究會流于紙面。
去中心化預言機是智能合約和外部世界交互的網關,旨在確保正常運作的同時不過分依賴單一信源。
如何讓去中心化預言機落地,或將引起另一波創新浪潮。
本文圍繞以下內容展開論述:
為什么預言機服務是去中心化技術;
棧中的重要組成部分以及其對免信任型服務的需求;
預言機面臨的復雜挑戰;
致力于解決上述難題的項目概述。
系列文章分為上下兩篇,將陸續刊載,此為上篇。
我們為什么需要預言機?
無許可鏈上的智能合約運行在有敵手的環境中,其安全性是由僅在網絡傳播確定性交易保證的。智能合約的設計思路是:接受輸入→執行邏輯→更新相應的區塊鏈狀態,且這一過程是不可逆的,在區塊鏈的世界里沒有CtlrZ回撤。
允許智能合約從區塊鏈系統外部獲取數據是一把雙刃劍,在極大地拓展區塊鏈應用場景,賦能區塊鏈與外部世界交互的同時,它也引入了一定的信任難題。無許可鏈中的礦工沒有把握能驗證所有的外部輸入,因此只能無差別地執行任何符合智能合約預置條件的操作。
ERC20 Creator Fabian:通過區塊鏈建立的用戶體驗會比Web2.0更加簡單:金色財經報道,2月23日,新一期《佟掌柜的朋友們》直播在線上舉行。直播過程中,ERC20 Creator Fabian對于“未來是否會出現滿足多種協議的應用程序”的問題表示,現在區塊鏈發展的態勢很好,這種態勢會持續很久。現在我們可以看到有很多創意已經變成了實際使用的應用,比如DeFi。我覺得我們只發現了1%的使用案例,智能合約之間可以互相溝通是以太坊真正的優點。在區塊鏈領域,我認為我們仍在一個學習的階段。接下來,我認為通過區塊鏈技術建立的用戶體驗會比Web2.0更加簡單,即你不再需要給不同的應用設計不同的密碼,即使一個平臺倒了,你的資料也不會消失,我們需要一個真正去中心化的應用。[2021/2/25 17:49:43]
舉個簡單的例子:Alice和Bob對BTC在倫敦時間2019年1月3日下午2時的價格打賭。他們用智能合約設立賭局,各自向合約中存入1個以太幣,如果BTC的價格,并且的賭局的結果一旦確定就無法逆轉,因此我們一定要保證只向合約上報正確的預言機是對世界狀態的聲明進行簽名的實體。舉例來說,預言機可以報告特定時段Coinbase的BTC/USD價格,也可以報告歐冠聯賽的冠軍。最終信息是通過一個或多個預言機所采信的一個或多個可信信源消息進行聚合重整得到的。
在深入討論免信任型預言機的諸多技術細節之前,我們先來看5個經預言機賦能后的智能合約關鍵用例。
金融產品
動態 | 末日博士Marc Faber近日首次購買比特幣:據Bitcoin.com消息,知名股票市場分析師兼投資人Marc Faber最近接受Cash采訪時透露,他在2月底首次購買BTC。他表示,自己與Xapo首席執行官Wences Casares討論后決定購買BTC。此外,他對加密貨幣的廣泛應用前景表示謹慎樂觀。Marc Faber曾因準確預測1987年美國股市崩盤而聲名鵲起,有“末日博士”之稱。[2019/3/13]
智能合約和許多金融產品天然契合:利率掉期、現金結算期權、去中心化杠桿交易等等。上述金融產品都需要去信任的數據源來保障鏈上結算的正確執行。
有些項目有能力甚至已經把這樣的預言機應用到了金融產品之中,包括:CDx、dYdX、MakerDAO、VegaProtocol、0xprotocol。
智能合約保險
在免信任且可靠的信源加持下,某些保險產品可以通過編程以智能合約的形式實現。保險業中最大的成本是欺詐,所以預言機的重要性不言自明。目前智能保險的一些項目案例包括:
Etherisc和Fizzy實現了航班延誤的自動賠付。
NexusMutual讓受激勵驅動的本地預言機驗證本地尚未發布的斷言,并上報給區塊鏈。
FlyingCarpet實現人工智能和地理數據的新型可編程保險。
貨運
GPS并不是dApp根據地理位置自動釋放酬勞的合理數據源,因為它是個容易被欺騙的中心化系統。而利用預言機就能降低這個信任成本,以FOAM為例,它能降低dApp對原始數據源的信任門檻,將信任依賴到去中心化的網絡中來保障信源所聲明位置信息的可信。
現場 | Fabio C.Canesin:實現去中心化交易需革新UI、線下交易與線上狀態通道相結合:金色財經現場報道,NEO DevCon 2019開發者大會今日在西雅圖舉行,Nash 聯合創始人 Fabio C.Canesin做了“每個人的分布式金融”主題演講。Fabio C.Canesin表示,現在99%的加密貨幣交易在中心化交易所上進行,但是在中心化交易所擁有的不是真正的加密貨幣而是加密貨幣的一種表現形式。我們需要去中心化交易所去時刻掌控自己的數字貨幣,需要去中心化安全與真正的速度和功能相結合,實現目標需要革新的UI、線下交易匹配與線上的狀態通道相結合。[2019/2/18]
抵押借貸和穩定幣
在抵押借貸和穩定幣的場景中,需要接入判定抵押品價值的可信數據來決定是否需要清償債務。當穩定幣幣值與設計值相差過遠時,也需要通過預言機獲取到幣值數據,來判斷是否需要采取措施穩固穩定幣的價值。舉例來說,MakerDAO的DAI是由以太幣背書的穩定幣,它在設計中使用了多個預言機來報告以太幣的價格,使得當所放出的穩定幣沒有足夠多抵押品背書時及時觸發清償操作,從而保護整個系統。這些預言機是由Maker代幣的持有者選擇并資助運行的。
在去信任點對點借貸平臺Ethlend和Dharma中也有著類似的設計。
預測市場
去中心化預測市場將人類協作帶向了史無前例的一個新高度,充分利用了群體的智慧。這些市場必須依靠一個或多個預言機來判定鏈下事件。
動態 | Hyperledger Fabric增加對以太坊的支持:據nasdaq報道,根據Hyperledger發布的最新報告,Linux基金會開源的區塊鏈平臺Hyperledger Fabric現在增加了對以太坊虛擬機(EVM)智能合約的支持。Hyperledger澄清說,對Fabric的采用并不將使用以太坊區塊鏈的所有功能,而是專門用于使用智能合約協議而不是分類賬技術或共識機制。[2018/11/2]
確保預言機的誠實
區塊鏈在構建時故意隔離了外部世界和需要額外信任的第三方。然而,大部分的事件還是在鏈外發生,因此我們要在不損害抗審查性的前提下橋接區塊鏈與鏈外世界。事實上,dApp的免信任性取決于鏈內鏈外世界紐帶中最脆弱的那一條,因此僅僅一個可能會被腐化的信源是遠遠不夠的。
接入多條信源能在概率上取得更高的安全性,不過相應會增加很多成本。具體運用場景所需的信源數量可能有多有少,實際應用中我們應當采取一種基于風險的設計思路來決定不同應用程序需要多少條信源。
以倫敦的氣溫數據為例,如果僅僅用在手機app上的數據展示,即使數據出了問題也不會有嚴重后果,那使用一個預言機也就足夠了;而如果預言機上報的溫度決定了價值1000萬美金的保險合約的賠付結果,我們就有必要接入很多預言機,包括衛星數據、本地傳感器數據等等。
總的來說,需要根據涉及資金量的大小來平衡所建立預言機系統的成本,在實際應用中找到適合自己場景的預言機方案。
動態 | 參與FAB挖礦的嗨礦池遭駭客攻擊:FAB項目近期技術開發和社群發展迅速,但也引起了駭客的注意。2018年6月26日,嗨池發布聲明稱,稱其位于阿里云端的服務器6月22日下午經歷了有組織的駭客攻擊,礦池錢包被盜,內部文件被刪除一空,包括錢包,錢包密碼,數據庫等信息全部丟失,且無法找回,給眾多礦工造成高達上百萬元的損失。據了解,目前嗨池已經挖出651977個FAB,其中有102364個FAB被查明已轉出。公共基礎區塊鏈的特征使其更具安全性及隱私性,但如果用戶保管不當,一旦失竅難以追查,因此嗨池強烈建議用戶給錢包設置安全密碼,妥善保存,并備份錢包,且莫粗心大意,以防不測。[2018/6/27]
瑞士奶酪模型
要想保證第三方一直不作惡是很難的。在中心化世界里解決這個信任問題要使用多個保護層:合約、可信賴的公司、保險、法律等等。只要至少還有一個保護層沒有失靈,就可以認為系統依然是誠實的。然而如果所有的保護層都被腐化墮落了,那攻擊就生效了。
-適配瑞士奶酪模型-
LIBOR丑聞就是過度依賴中心化預言機的一次教訓。倫敦同業拆借利率是商業和私人貸款中常用的利率參照,支撐了約300萬億美金的貸款。然而根據thesources報道,最早可以追溯到2005年或2003年,這一指數就遭到了某些掉期交易員的合謀操縱。LIBOR同時也是評價銀行運行狀況是否良好的指標,因此對此利率的操縱也導致了在2007-2008金融危機期間某些機構看起來比他們的實際情況更健康。
所以此處我們再次強調單一的信源是無比脆弱的,它會影響所服務的系統的安全性。
世上沒有完美的系統,但我們可以將多重屏障的概念應用到去中心化的預言機系統中,從而盡盡可能完善最小化信任機制。
多重數據源
減少數據失誤的最簡單辦法是用預言機把多重數據源聚合起來。這樣以來,只有兩種可能收集到離譜的數據:一是大部分數據源都腐化了,二是預言機本身被攻破了。
多重預言機
當增加預言機數量時,依概率大多數預言機不會是惡意的,因此只要系統中的多數仍保持誠實,那系統就是安全的。然而無論是有意操縱還是無意為之,此時都沒有排除所有預言機都傳遞錯誤信息的可能。
利益共享
去中心化網絡可以制定特定的激勵機制,以保證網絡參與者的行事準則和網絡的整體利益一致。當網絡參與者按照規則活動時就能獲得獎勵,比如說礦工挖礦可以得到區塊獎勵,權益證明系統需要罰沒條件來抵御女巫攻擊和無利害關系攻擊。
讓去中心化網絡中的匿名參與者充當預言機十分危險,在去中心化系統中,一旦他們作惡來獲取經濟利益,也尚未有法律條文來追索那些不義之財。利用代幣工程的設計,能強制去中心化網絡中的節點質押一部分保證金/存款,這些資產通常是系統中的原生貨幣。當節點好好工作時,會獲取一定的酬勞,而如果節點作惡,就會按一定比例失去所質押的資產。上述機制保證了預言機系統有正向的激勵機制來促進參與者生成準確數據。
可信執行環境
英特爾最近的SGX和ARM的TrustZone都屬于可信執行環境,由于二者較為相似,我們下面以英特爾的產品為例作介紹。
簡而言之,SGX允許程序在CPU的圍圈中執行,為用戶級別的代碼賦予了硬件層面的保護。首先,圍圈避免了應用程序受到其它進程的破壞。其次,圍圈保護了應用程序的機密性,即程序的數據、代碼和執行狀態在理論上對剩下部分的操作系統不透明,但程序依然可以讀寫圍圈區域以外的內存。
SGX希求能在惡意操作系統上保護圍圈中的程序,也因此甚至能保護應用程序不被節點上的系統管理員破壞。在圍圈中運行預言機程序并分發數據能強有力地確保預言機程序的安全運行,因為可以從遠端檢測到系統是運行在合法的SGX系統之上。
不過值得留意,在SGX發布后已經有兩個漏洞(March-2018&July-2018)相繼被發現,并且目前還有研究在探索一些其他的漏洞。盡管第一個漏洞已經被修復,但這警示著我們只采用TEE仍然會造成單點故障。當智能合約的執行依賴于來自一個或多個預言機自動生成的輸入時,必須設計多重保護層來避免單點故障。
上述保護屏障單個抽離出來不能算是萬無一失,但當它們聯合起來共同作用時,能起到更強有力的保護效果。在下一節中,我們將介紹去中心化預言機系統中的主要攻擊界面,并舉例說明對應的防御措施。
女巫攻擊和其它去中心化系統的弱點
造一個預言機系統并不難,難的是其中去信任成分的設計。
關鍵風險:依賴智能合約裁決事務的各方之間是存在利益沖突的,而匿名的預言機沒有訴訟風險。當運行多重預言機系統時,各個預言機必須達成共識,因為智能合約只接受一個輸入。因此為了防御攻擊,需要設計機制來保證預言機滿足以下要求:
無法互相辨認。
無法互相通信:一個有著相當大投票權力的預言機能廣播自己的答案,而且不需要刻意說服其它節點自己的結果是主流答案。不過如果其它節點已經知道這個節點具備如此大的投票權力,那這個要求也相對沒什么意義了。
無法向其他節點證明自己是自己答案的所有人:和上一點類似,需要設計機制來隱藏各節點提交的答案,同時只有在所有人都提交答案之后才暴露其來源節點。
以下的攻擊策略或漏洞對去中心化的預言機網絡是有效的。
多數人攻擊:存在這樣的風險,即網絡中大多數的節點都是由一個實體或是一個同盟來控制的。此時網絡依然是由多數人控制,但已經被惡意操縱了。在去中心化的預言機網絡項目中要尤其注意此類風險,需要根據節點的信譽和節點總數來決定節點的權力。
鏡像:這是去中心化預言機網絡中一種特殊的女巫攻擊。為了降低節點運行的成本,某個節點的控制人可以只通過一個節點收集一次數據,然后在鏈下將數據傳遞給自己控制的其它節點。當他傳遞的數據依然真實時,這種攻擊并沒有很大危害,但如果所傳遞的數據有問題,它會大大降低整個系統的安全性,因為系統通過多方查詢來提煉數據準確性的機制被破壞了。
吃空餉:當一個預言機惡意復制其它預言機的答案時,我們稱他為吃空餉。可以通過“提交-揭露”機制來解決這種問題,即預言機所提交的答案是加密的,只有當足夠多預言機都已經提交過答案后,才解密全部人的答案。
數據腐敗難以被探查,特別是當只有一個信息源時。此問題的解決思路通常是設立多個信息源和多個預言機,以降低數據腐敗的風險。
鏈上數據機密性:如果數據的請求既敏感又私密,即使加密了數據請求,最終數據上報時也會不自覺地揭露該請求信息。這個問題的解決思路是強制節點在TEE圍圈環境中執行解密,并向區塊鏈匯報所有用戶和節點都能看到的通用答案。舉例來說,對于一個航班保險,用戶可能不想要別人知道他要從倫敦飛到紐約。因此預言機在知道具體航班之后,只在區塊鏈上回答“那一趟航班是否延誤了?”,或者其它只需用是/否來回答、而無需進一步披露信息的問題。
-END-
JulienThevenard作者
SonnySun編輯
Vera排版
如果你覺得還欠快播創始人王欣一個“會員”,那還賬的機會又來了。最近,由王欣創立的一款名為“靈鴿”的APP正在走紅,這是繼私密社交APP“馬桶MT”折戟之后王欣的又一區塊鏈產品.
1900/1/1 0:00:00第一條本平臺的宗旨是在不違反塞舌爾共和國相關法律法規的前提下,盡可能地為全球廣大數字資產愛好者及投資者提供專業的、國際化水準的數字資產交易平臺和數字資產金融產品服務.
1900/1/1 0:00:00一、產品方面 1、手機網頁版OTC添加收款方式優化。2、新增海外版H5語言選擇引導。3、ABS理財BUG修復.
1900/1/1 0:00:00當下,距區塊鏈底層項目主網集中上線已經一年,在這一年時間內,各個明星公鏈項目進展如何?區塊鏈3.0時代,哪條公鏈最終會脫穎而出?為了研究過去一年平臺型公鏈的進展情況.
1900/1/1 0:00:00比特幣礦機只能挖BTC嗎?當然不是,它也可以挖BCH或者BSV,但就像不能腳踩兩只船一樣,三者只能取其一。聯合挖礦改變了這種玩法.
1900/1/1 0:00:00加密數字貨幣行業的主要問題之一是要找到一家創新性的銀行同意與他們合作并將他們與傳統的法定金融系統聯系起來.
1900/1/1 0:00:00