BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

乾貨| 全面概述去中心化預言機

星球君的朋友们
Odaily资深作者
本文約11570字,閱讀全文需要約17分鐘
如何讓去中心化預言機落地實施也將引起另一股創新的浪潮。
AI總結
如何讓去中心化預言機落地實施也將引起另一股創新的浪潮。

編者按:本文來自以太坊愛好者(ID:Ethfans)編者按:本文來自Medium以太坊愛好者(ID:Ethfans)

編者按:本文來自Fabric Ventures以太坊愛好者(ID:Ethfans)Joey Krug編者按:本文來自Tomas Bertani以太坊愛好者(ID:Ethfans)Hugh Karp,譯者安仔Clint、wuwei & 阿劍;原文來自James Ryan Moreau,作者Julien Thevenard;Odaily經授權轉載。Gorka Irazoqui Apecechea在此我想感謝我們在Szymon Sypniewicz的團隊,同時感謝Przemysław Kowalczyk( Augur 核心開發者),

( Oraclize 創始人),

( Nexus Mutual 創始人),

( Witnet 技術社區領袖),

  • ( Witnet 研究員),

  • ( Ramp 聯合創始人)以及

  • ( Ramp 創始人)給我們的重要反饋。

  • 分佈式賬本和智能合約能消解當前人類交互協作中由信任問題帶來的摩擦,為社會帶來史無前例的巨大革新。不過在此之前,如果以上智能合約無法無需額外信任地獲取鏈外輸入,那麼所謂的創新也不過流於紙面。

本文旨在引介以下幾點內容:

為什麼預言機服務是去中心化技術

棧中的重要組成部分對免信任型服務的需求

預言機面臨的複雜挑戰及攻擊界面

8 個致力於解決上述難題的項目的概述

在深入討論免信任型預言機的諸多技術細節之前,我們先來看5 個經預言機賦能後的智能合約關鍵用例。

金融產品

金融產品

金融產品CDx、dYdX、MakerDAO、Vega Protocol、0x protocol 。

金融產品

金融產品

在免信任且可靠的信源加持下,某些保險產品可以通過編程以智能合約的形式實現。保險業中最大的成本是欺詐,所以預言機的重要性不言自明。目前智能保險的一些項目案例包括:

和FOAM 實現了航班延誤的自動賠付。

實現人工智能和地理數據的新型可編程保險。

貨運Maker DAO為例,它能降低dApp 對原始數據源的信任門檻,將信任依賴到去中心化的網絡中(在這個場景裡就是一個位置預言機)來保障信源所聲明位置信息的可信。DAI 的報告抵押借貸和穩定幣

的Ethlend 和Dharma 中也有著類似的設計。

預測市場

預測市場Augur,Gnosis 預測市場

預測市場

預測市場

預測市場

去中心化預測市場(

)將人類協作帶向了史無前例的一個新高度,充分利用了群體的智慧。這些市場必須依靠一個或多個預言機來判定鏈下事件。

接入多條信源能在概率上取得更高的安全性,不過相應會增加很多成本。具體運用場景所需的信源數量可能有多有少,實際應用中我們應當採取一種基於風險的設計思路來決定不同應用程序需要多少條信源。

瑞士奶酪模型


總的來說,需要根據涉及資金量的大小來平衡所建立預言機系統的成本,在實際應用中找到適合自己場景的預言機方案。圖片描述)-

瑞士奶酪模型

圖片描述

要想保證第三方一直不作惡是很難的。在中心化世界裡解決這個信任問題要使用多個保護層:合約、可信賴的公司、保險、法律等等。只要至少還有一個保護層沒有失靈,就可以認為系統依然是誠實的。然而如果所有的保護層都被腐化墮落了,那攻擊就生效了(瑞士奶酪模型)。

-適配瑞士奶酪模型(

圖源

所以此處我們再次強調單一(未經審計)的信源是無比脆弱的,它會影響所服務的系統的安全性。

世上沒有完美的系統,但我們可以將多重屏障的概念應用到去中心化的預言機系統中,從而盡盡可能完善最小化信任機制。

B. 多重預言機

C. 利益共享

C. 利益共享

當增加預言機數量時,依概率大多數預言機不會是惡意的,因此只要係統中的多數仍保持誠實,那系統就是安全的。然而無論是有意操縱還是無意為之(信息源本身失效),此時都沒有排除所有預言機都傳遞錯誤信息的可能。

C. 利益共享

C. 利益共享

去中心化網絡可以製定特定的激勵機制,以保證網絡參與者的行事準則和網絡的整體利益一致。當網絡參與者按照規則活動時就能獲得獎勵,比如說礦工挖礦可以得到區塊獎勵,權益證明系統需要罰沒條件來抵禦女巫攻擊和無利害關係攻擊。

讓去中心化網絡中的匿名參與者充當預言機十分危險,在去中心化系統中,一旦他們作惡來獲取經濟利益,也尚未有法律條文來追索那些不義之財。利用代幣工程的設計,能強制去中心化網絡中的節點質押一部分保證金/存款,這些資產通常是系統中的原生貨幣。當節點好好工作時,會獲取一定的酬勞,而如果節點作惡,就會按一定比例失去所質押的資產。上述機制保證了預言機系統有正向的激勵機制來促進參與者生成準確數據。March-2018 & July-2018D. 可信執行環境(TEE)D. 可信執行環境(TEE)簡而言之,SGX 允許程序在CPU 的圍圈(enclave)中執行,為用戶級別的代碼賦予了硬件層面的保護。首先,圍圈避免了應用程序(數據、代碼和控制流)受到其它進程的破壞。其次,圍圈保護了應用程序的機密性,即程序的數據、代碼和執行狀態在理論上對剩下部分的操作系統不透明,但程序依然可以讀寫圍圈區域以外的內存。

一些

不過值得留意,在SGX 發布後已經有兩個漏洞 (

) 相繼被發現,並且目前還有研究在探索

一些

  • 其他的漏洞。儘管第一個漏洞已經被修復,但這警示著我們只採用TEE 仍然會造成單點故障。當智能合約的執行依賴於來自一個或多個預言機自動生成的輸入時,必須設計多重保護層來避免單點故障。

  • 上述保護屏障單個抽離出來不能算是萬無一失,但當它們聯合起來共同作用時,能起到更強有力的保護效果。在下一節中,我們將介紹去中心化預言機系統中的主要攻擊界面,並舉例說明對應的防禦措施。

  • III. 女巫攻擊和其它去中心化系統的弱點

III. 女巫攻擊和其它去中心化系統的弱點

關鍵風險:依賴智能合約裁決事務的各方之間是存在利益衝突的,而匿名的預言機沒有訴訟風險。當運行多重預言機系統時,各個預言機必須達成共識,因為智能合約只接受一個輸入。因此為了防禦攻擊,需要設計機制來保證預言機滿足以下要求:

無法互相通信:一個有著相當大投票權力(譬如說40% )的預言機能廣播自己的答案,而且不需要刻意說服其它節點自己的結果是主流答案。不過如果其它節點已經知道這個節點具備如此大的投票權力,那這個要求也相對沒什麼意義了。

圖片描述

以下的攻擊策略或漏洞對去中心化的預言機網絡是有效的。

圖片描述

多數人攻擊:存在這樣的風險,即網絡中大多數的節點都是由一個實體或是一個同盟來控制的。此時網絡依然是由多數人控制,但已經被惡意操縱了。在去中心化的預言機網絡項目中要尤其註意此類風險,需要根據節點的信譽和節點總數來決定節點的權力。

-多數人攻擊——圖源:Narcos-

鏡像:這是去中心化預言機網絡中一種特殊的女巫攻擊。為了降低節點運行的成本,某個節點的控制人可以只通過一個節點收集一次數據,然後在鏈下將數據傳遞給自己控制的其它節點。當他傳遞的數據依然真實時,這種攻擊並沒有很大危害,但如果所傳遞的數據有問題,它會大大降低整個系統的安全性,因為系統通過多方查詢來提煉數據準確性的機制被破壞了。

吃空餉:當一個預言機惡意複製其它預言機的答案時,我們稱他為吃空餉。可以通過“提交-揭露”(commit-reveal)機制來解決這種問題,即預言機所提交的答案是加密的,只有當足夠多預言機都已經提交過答案後,才解密全部人的答案。

鏈上數據機密性:如果數據的請求既敏感又私密,即使加密了數據請求,最終數據上報時也會不自覺地揭露該請求信息。這個問題的解決思路是強制節點在TEE 圍圈環境中執行解密,並向區塊鏈匯報所有用戶和節點都能看到的通用答案。舉例來說,對於一個航班保險,用戶可能不想要別人知道他要從倫敦飛到紐約。因此預言機在知道具體航班之後,只在區塊鏈上回答“那一趟航班是否延誤了?”,或者其它只需用是/否來回答、而無需進一步披露信息的問題。

IV. 致力於去中心化預言機的項目

許多去中心化程度不同的項目都致力於解決上述問題,或是編寫多種激勵機制來減少對單一信任中介的依賴,或是引入成熟的攻擊-抵禦機制。囿於篇幅,本文無法逐一介紹各項目的深度細節,因此下文將對各種項目進行高度概括性的描述。


- 所有的項目可以分為兩類:通過網絡提供預言機服務,以及網絡自帶預言機服務。-

ChainLink (已上線)


Chainlink 的目標是構建一個完全去中心化的預言機網絡,網絡節點兼容以太坊、比特幣和Hyperledger,並支持模塊化:系統的每個部分都支持升級。其主要的想法是為預言機打造一個可信的市場。有良好行為的預言機節點會受到激勵,其表現和聲譽會公之於眾,反之有惡意行為的節點會受到懲罰。 Chainlink 一開始是在鏈上對預言機的數據進行聚合,後續將通過一個有趣的設計轉而在鏈下進行數據聚合。圖片描述)-

  • Chainlink 示意圖

圖片描述

  • 任何系統的安全性都是由其最短板決定。去中心化保證了每時每刻的可用性,但存在失效節點傳遞錯誤數據的風險,為此ChainLink 提供了2 種解決方案。

圖片描述

圖源


合約在鏈上聚合所有節點的數據(可被公開審計),並使用commit-reveal 的方式避免節點獲取其它預言機的結果和互相抄襲。聚合後的最終結果將在足夠多的結果在鏈上公佈後被確定,但這會帶來不小的計算成本:每個節點都會發起一次交易、每次交易都需要達成共識、還需要在以太坊部署一個或多個聚合合約。圖片描述)-

鏈下聚合能提高達成共識的經濟性,但無法解決上文所說的吃空餉問題。

-鏈下聚合 (這裡這裡白皮書。

Witnet

這裡

白皮書

這裡

白皮書

找到更多關於ChainLink 的信息。本文的圖示出自它的

白皮書https://witnet.io被稱作目擊者(witness)的預言機節點,基於它們的網絡信譽,被隨機分配任務並開挖區塊,使其不易受“多數人攻擊” 的影響。行為良好的節點可以迅速增加信譽值,並在網絡中承擔更多的責任;相反,失效的和惡意的節點將迅速失去其在網絡中的信譽,進而無法再對網絡作出貢獻,最終變得無足輕重。這裡每次區塊生產中,會使用滯納金函數實現信譽值的重分配:生效節點的信譽值每次以對數函數方式減少,減少的信譽值由所有行為良好節點共享。換句話說,所有節點的信譽值都會不斷減少,而那些信譽值最多的節點則損失最大。因此,為了在Witnet 中保持名列前茅,必須時刻保持良好的行為。

Oraclize

這裡

你可以在

找到更多信息,或者在這裡閱讀白皮書。

Town Crier

這裡

他們的方案是利用所有的TEE 供應商來降低脆弱性,這一做法被稱作沙箱化。 Oraclize 利用IT 供應商和生產商的產品(包括亞馬遜的EC2,Google 的SafetyNet, 高通的QSEE,Ledger 的Nano S 和英特爾的SGX)作為他們核心服務的關鍵組件。這些產品在物理上被分成獨立的小組,並可以通過軟件協作使用:Oraclize 設計了支持ad-hoc 的定製程序作為軟件接入層,支持所有TEE 的接入和互相協作。當某種技術手段因為漏洞而受到影響時(比如英特爾的SGX 幽靈漏洞),整體的數據聚合依然可以忽略受影響的節點,從其它多個TEE 中獲得正確數據。 (這裡假設漏洞是基於某種特定架構的,而不是某種影響所有處理器的通用漏洞)

這裡

為保證分佈式信任和數據正確性,Oraclize 使用TLSNotary 來給https 站點的TLS 數據進行簽名。這麼做有一定代價:Oraclize 理論上只能傳送網站顯示的數據(不能在鏈下預處理後上傳),但這足以覆蓋常用的場景。方案主要的風險在於當多數的數據源被破壞時,沒有辦法阻止錯誤數據的繼續分發,但該風險在多數“去中心化”解決方案中都會存在。你可以在

了解更多關於Oraclize 的信息。宣布Town Crier 可以作為(任意區塊鏈上的)智能合約與啟用https 的網站之間的橋樑,它通過TLS 層來保證兩者之間的安全通信以傳輸經過認證的數據。這個方案與TLS-notary(只是軟件層的安全)不同,它允許更多定制化的數據傳輸。數據由那些運行在英特爾SGX 上的節點解密處理(兩者皆有的軟硬件安全級別)。授權數據最終從enclave 發送到區塊鏈中,僅依賴SGX 來保障節點軟件的運行符合預期。

為解決點單失敗問題,它們的方法是在多個SGX 平台上進行數據源聚合和預言機部署。該軟件被證明具有一定的擴展性,可以支持15-65 筆交易/每秒的吞吐。

宣布

你可以在找到更多關於Town Crier 的介紹。在2018 年11 月1 日的第四次開發者會議中,CEO Sergey

宣布

了ChainLink 收購Town Crier的消息。

2.內部預言機服務

Augur 和Gnosis 是兩個最知名的去中心化預測市場,兩者都創辦於2015 年。它們利用集體智慧和少爭端的去中心化網絡建立起優雅的預測市場。為保障市場正確運行,兩者都不得不依賴於精心設計的激勵機制。我們將以Augur 為例進行進一步剖析。

圖片描述來源)-

圖片描述

來源

  • 圖片描述

  • 來源

  • -預測市場的生命週期說明(

  • 來源

  • 任何人都可以在Augur 平台上為即將發生的事件創建預測市場。創建者設定事件的結束時間,並指定事件結果的匯報者。這個結果允許接受社區的質詢。

以下是Augur 旨在保護誠信參與者的一系列措施:

市場創建者需持有有效性債券:當市場定義不完善,或者結果不可能做到客觀何準確時,這些債券將失效、歸零。

市場創建者持有無結果債券:當創建者指定的結果匯報者在3 天內沒有給出結果時,這些債券將失效。此時,任何人均可以提交此事件的臨時結果。

一旦有臨時結果上報,任何REP 的持有者均有機會在7 天內對暫定結果提出異議(發起競標)。競標保證金佔預測項目市值比例最小者可以獲得競標的勝利。一旦競標失敗,質押的REP 將返給所有者;然後整個市場進入結算。

Ramp

若第一個臨時結果競標成功,接下來的步驟取決於本輪的質押金數量。當質押金小於所有REP(目前為150 萬美元) 的2.5% 時,市場會開始下一輪競標;否則(大於2.5%)進入分叉狀態。

分叉狀態將持續60 天,期間所有的市場會被臨時凍結,直到它們被遷移到一個“Augur 新世界”中。如果所有的市場都只有兩個選項的(是/否,選中/落選,贏/輸等),此時將會生成3 個世界,比如會有3 種可能的真相:一種真相為是,一種為否,最後一種為無效。市場會被劃分到對應的世界中。用戶可以能且只能將其REP 代幣遷移到其中一個世界中。若是用戶在60 天內完成REP 代幣的遷移(投向其中一個結果),則可以獲得額外5% 的REP 作為風險補償。這裡的風險是指,當用戶遷移到錯誤的世界時,則他們的REP 會被困住(REP 在A/B/C 的世界中是不可互換的)。如果用戶不想承擔風險,他們可以在60 天后再進行遷移, 此時這個市場已經達成了正確的共識。因為並行的Augur 世界可以共存(比如:以太坊/以太坊經典),所以最終那個贏得絕大部分市場活動的顯而易見的獲勝者,才會成為真正的Augur。 OpenBankProject 當Augur 預言機通過匯報真實生活中的事件結果來完成一次Augur 市場的預測活動時,我們可以想像當激勵足夠而且Augur 不斷成長時,Augur 市場的結果本身可以作為一種可靠的預言機。換句話說,我們可以假設Augur 市場會最終(可能)給出一個真實的結果,並以此作為另一個智能合約的輸入。

-(Ismail Chaib 和Ramp Swaps更多關於Augur 的信息參見這裡。

  • B. 支付服務

  • 銀行賬本歷來不易被外部訪問,但事情在快速變化,更多的監管機構正在接受開放銀行(open banking)框架。比如,在歐洲,PSD2 指令要求歐洲銀行對授權的第三方供應商開放銀行賬戶的API 訪問,Ramp 即是其中之一。

  • -(Ismail Chaib 和

  • 的覆蓋情況)-

*Ramp *正在建設金融基礎設施,以保障傳統金融機構和公共區塊鏈之間的信任最小化通信。實踐中,他們使用PSD2 來提供p2p 的法幣和加密貨幣原子交換服務(

  • )。過程如下:

  • 賣方創建一個智能合約,在第三方監管中鎖定一定量的數字資產。當買方在如約發送法幣後,數字資產會釋放給買方,否則退還給賣方。

  • 買方通過匯款付款給賣方。

  • 一個支付預言機驗證買方的付款並發送付款憑證(PoP)到網絡中。預言機能夠訪問買賣雙方的賬戶,並查看它們的收付款情況。

  • 智能合約解鎖第三方監管中的資產並發送給買方。

  • 存在金融機構的賬本中的數據異常敏感,因此,相對於匯報可公開獲得的信息(比如商品價格或體育比賽結果),匯報此類信息面臨一種顯而易見的挑戰:

  • 數據由單一的可信來源提供——比如:銀行。

轉賬信息是可變的,金融機構可能撤銷交易。

給定的賬戶信息(身份信息和交易歷史)需要保密。網站。

雙向通信不能保證總是暢通——有雙向通信,智能合約才能夠發起交易。

網站


-Etherisc因為隱私的要求,不能簡單的將從銀行獲得的信息傳播到區塊鏈上。原始信息需要脫敏以適配區塊鏈交易。因此,數據需要在鏈下處理後,以簡單的是非題形式(比如:某一筆交易是否成交?)將答案發送到網絡中。

網站EtherRiskRamp 正進一步拓展它的技術並使其被更多監管機構接納。 Ramp 也在探索安全enclave 的使用,使其能作為額外的保護層,容納更多的權威第三方作為預言機在區塊鏈上驗證銀行交易。這些發展將消除最大的中心化需求:法幣網關。如果你想更多得了解Ramp,請移步它們的Nexus Mutual網站

C. 去中心化保險Flyingcarpet“相比利益驅動的保險公司,我們更信任代碼,但是如果沒有可信的預言機,一切無從談起” Hugh Karp,NexusMutual

提供的去中心化保險產品-

參數保險是一種帶有參數觸發器和付款條件的特殊保險(如果Y 發生,則付款$X),比如航班晚點,交易所遭黑客入侵。顯然,這些產品適合使用智能合約。它們需要預言機服務為這些事件提供可靠的數據,可以通過經濟激勵在內部獲得(使用Aragon定義的數據輸入,或使用Colony可以預料,我們將看到越來越多由智能合約處理的保險產品,特別是已經有了利用複雜物聯網傳感器、無人機和衛星的

。比如,農民可以通過智能合約購買保險,然後氣象衛星將數據傳送給Flyingcarpet,並由在它的平台上構建的AI 模型進行分析。

某些情況下,如果不對輸入信息進行本地協調處理,聲明的結果將無法被自動檢測和處理。這些情況中需要本地的(受激勵的)預言機作為獨立的聲明代理,比如量化汽車的損毀情況。保險公司可以利用這些代理,這些代理也很容易添加莫格智能合約作為其潛在的雇主。這一做法已經在EtherRisk 和Nexus Mutual 的路線圖中,它們利用類似的權益設計來懲惡揚善。欺詐通常是保險中最大的成本,不可能指望有某種系統可以絕對免於欺詐,但如果智能合約可以實現媲美中心化保險的可靠性,則節約下來的成功便可回饋給客戶。

最終,這些聲明代理可以在去中心化的自治組織中工作,比如使用

或

來協調它們各自的運行。


金融
开发者
ETH
歡迎加入Odaily官方社群