【原文】

https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841

【翻譯】團長

**
**

III. 女巫攻擊和去中心化系統的其他漏洞

創建預言機系統很容易。但是缺乏信任的組件,會引起許多令人頭疼的問題。

主要風險:依賴智能合約的各方和無法被追究責任的匿名預言機之間的激勵機制。當利用多個預言機時,他們必須達成共識,因爲智能合約只需要一個輸入。因此,爲了防止攻擊,需要一種機制來確保預言機:

無法識別對方

無法相互交流:具有重要投票權的預言機(例如 40%)可以廣播其答案,但是不必說服許多節點確保其投票佔多數。如果其他預言機知道這個節點確實具有如此強大的投票權,那麼他們自己的投票權相對而言就沒那麼重要了。

沒有辦法證明他們所聲明的內容:像上一條一樣,必須設計一種機制來隱藏提交的答案,(當其他節點提交答案之後)預言機仍在取得他們自己的答案,並且只有在所有人全部參與之後才能揭示答案。

以下攻擊機制或漏洞適用於去中心化預言機網絡。

多數攻擊(51% 攻擊):網絡中存在大量節點由單個實體所控制或形成卡特爾的風險,會使得節點提供錯誤的數據並且仍然屬於大多數。在去中心化的預言機網絡項目中,預防這種風險至關重要,這通常依賴於信譽和所涉及的節點數量。

鏡像:這是分去中心化預言機網絡中一種特殊的女巫攻擊。爲了降低運營成本,節點可以決定一次收集數據,然後與其可能控制的其他節點進行鏈下共享。雖然這種類型的攻擊如果傳播的信息是正確的並不會帶來危險,但它錯失了通過多次查詢來糾正的錯誤的機會,從而嚴重降低安全性。

Freeloading (吃白食、抄襲)是指一個預言機惡意複製另一個預言機的答案。這通常使用提交-解密(commit-reveal)方案來解決,其中每個預言機提交其加密的答案,並在足夠的預言機提交答案時解密。

去中心化的預言機:全面概覽(二)

預言機抄襲 — 來源:《憨豆先生》

數據損壞很難被檢查出來,尤其是當只有一個數據源(單點故障)時。該方法通常使用多個來源和多個預言機,以降低數據損壞的風險。

鏈上數據機密性:如果數據請求是隱私敏感的,即使請求可能被加密,但是由預言機組報告的數據也可能會不由自主地顯示請求的內容。可能的解決方案是強制節點在 TEE 安全區內解密的請求,而不是發佈客戶端和節點都能看懂的區塊鏈的一般答案。例如,對於智能飛行保險,用戶可能不希望公開地廣播他在倫敦到紐約的航班。預言機必須知道我們正在談論航班,但是他們可以通過另一個問題的答案進行廣播,例如“航班是否已經延誤?”,對於是 / 否答案就足夠了,沒有在鏈上進一步的暴露信息。

**
**

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

目前有多個項目致力於通過不同程度的去中心化來解決這些挑戰,通過制定不同的激勵機制來減少單一中介依賴,並引入複雜的攻擊預防機制。對每個項目的深入分析超出了本文的範圍,我們僅提供了簡單的介紹。

這些項目分爲兩類:提供預言機服務的網絡和網絡內部化預言機服務。

1. 預言機即服務(Oracle-as-a-Service, OaaS)

**
**

ChainLink

Chainlink - Official Channel (@chainlink) | TwitterThe latest Tweets from Chainlink - Official Channel (@chainlink). The Chainlink network provides reliable tamper-proof…twitter.com

Chainlink 旨在構建一個完全去中心化的預言機節點網絡,與以太坊,比特幣和 Hyperledger 兼容,並考慮到模塊化:ChainLink 系統的每個部分都是可升級的。ChainLink 主要思想是爲客戶端和節點連接的預言機建立一個值得信賴的市場。因爲歷史和聲譽是公開的,良好的行爲會得到激勵,不良行爲將受到處罰。他們最初是從鏈上的預言機彙總數據,但他們希望通過一個有趣的設計將其轉移到鏈外。

Chainlink 演示圖

**
**

任何系統的安全性都取決於其最薄弱的環節。這裏的去中心化可以確保可用性,但爲了應對故障節點提供不良數據的風險,ChainLink 提出了兩種可能的解決方案。

去中心化的預言機:全面概覽(二)

鏈上聚合(來源)

初始解決方案: 鏈上聚合

**
**

合約聚合所有鏈上節點的結果,可以公開審計,使用提交-解密,以避免節點觀察其他預言機的響應和抄襲結果。因此,一旦有足夠的公開結果響應,最終結果就會在鏈上確定,但這具有顯著的計算成本:每個節點一個事務,達成共識需要一個事務,以及在以太坊上部署的一個或多個聚合合約。

中期策略:鏈下聚合

**
**

鏈下聚合提供了一種更省成本的方式來達成共識。可惜的是這無法避免抄襲結果的問題。

ChainLink 建議的解決方案是使用 Schnorr 簽名:參與工作的每個預言機都會收到特定於該項工作的 [公鑰,私鑰] 組合。他們可以使用他們的私鑰生成部分簽名,其中包含他們對數據查詢的解決方案(加密)。一個簽名本身是不夠的,但如果組合了足夠的簽名(如下圖所示),它會產生一個集體簽名,相當於單個事務中所有答案的聚合。

去中心化的預言機:全面概覽(二)

鏈外聚合(來源)

這裏的關鍵是足夠的簽名,因爲當某些節點不響應查詢時,這提供了緩解機制。這種方法的缺點是,如果一個誠實的節點花費太長時間來發送它的答案,它們將不會得到獎勵,從而導致節點對時間依賴性。這確實可以解決抄襲的問題,因爲一旦得出答案,就不會再接受其他的提交。

您可以在此處找到有關 ChainLink 的更多信息。插圖來自他們的白皮書。

Witnet

Witnet - Decentralized Oracle Network (@witnet_io) | TwitterThe latest Tweets from Witnet - Decentralized Oracle Network (@witnet_io). Building Witnet: the Decentralized Oracle…twitter.com

Witnet 是一個基於信譽的 (reputation-based) 去中心化預言機網絡:運行 Witnet 軟件的節點在正確或錯誤地滿足數據請求時會贏得或失去聲譽 — 正確性由分析節點答案的一致性算法定義。不同意共識的節點會失去聲譽(通過離線或惡意動作的方式),這和誠實節點之間是區別開的。如果達成共識是超時,只要節點同意共識,它仍然不受懲罰。

稱爲證人的預言機節點隨機選擇作業並根據其網絡聲譽挖塊,使得多數攻擊更加困難。誠實的參與者因此將迅速提高他們的聲譽,並在網絡中獲得更多的責任,而不活躍和惡意的參與者將迅速失去所有網絡信譽,同樣它們有權爲網絡做出貢獻,這會使它們獲得信譽。

由於聲譽在 Witnet 中非常有價值,除了在預言機工作之後在好節點和壞節點之間傳遞聲譽之外,還在所有活動節點之間的每個塊(90 秒)處不斷重新分配聲譽以防止 A. 聲譽集中化在最早的誠實節點和 B. 退出詐騙(節點停止履行工作只收集採礦獎勵)。

重新分配由每個塊的逾期函數執行:活動節點的聲譽以對數指數的速度衰減,並且在該塊中表現良好的節點獲得該聲譽的相等份額。換句話說,聲譽在任何時候都處於抵押狀態,聲譽最大的人的損失最大。因此,爲了保持預言機在 Witnet 上的地位,您必須始終表現良好

Witnet 是擁有自己獨立的區塊鏈,因此可以通過橋接節點在任何地方提供去中心化預言機服務。這可能與交互操作解決方案的不太一致,但在此之前,它提供了可擴展的解決方案,降低了鏈上運營費用,並允許在需要時修復關鍵漏洞。

你可以在 https://witnet.io 上找到更多信息,或者您可以在此處閱讀他們的白皮書。

Oraclize

Oraclize (@oraclizeit) | TwitterThe latest Tweets from Oraclize (@oraclizeit). World's most widely adopted style="box-sizing: inherit; display: block; margin-top: 12px;">twitter.com

Oraclize 是一家總部位於倫敦的網絡安全公司,擁有 9 人團隊,爲區塊鏈預言機提供集中解決方案。它們擁有運行時間最長和應用最廣泛的區塊鏈預言機服務。雖然它可以在多個區塊鏈平臺(比特幣,以太坊,Monax,Rootstock,Corda 和私有鏈)上使用,但他們的大多數客戶都在使用以太坊。

他們的方法是利用所有 TEE 環境提供商來減少漏洞。這就是所謂的沙盒。Oraclize 利用 IT 提供商和製造商(包括亞馬遜的 EC2,Google 的 SafetyNet,高通的 QSEE,Ledger 的 Nano S 和英特爾的 SGX)的產品作爲其自身核心服務(Oraclize 技術上)的關鍵組件。它們在一個獨特的環境中進行分組並結合在一起使用:Oraclize 爲所有 TEE 設計了特殊的自定義應用程序以及軟件層連接,使它們可以互相操作。通過從多個 TEE 恢復數據,這會使得即使一項技術受到諸如英特爾 SGX 的 Spectre 之類的漏洞的影響,整體聚合的結果會忽略受損的數據點。(假設漏洞是特定於體系結構的,而不是對所有處理器的通用漏洞)

爲了實現分佈式信任和數據的完整性,Oraclize 一直依靠 TLSNotary 算法對來自 https 網站的 TLS 數據進行數字簽名。這需要付出代價:Oraclize 理論上只能提供網站上顯示的數據,沒有鏈下的處理過程,但這已經可以涵蓋許多應用場景了。這裏的主要風險仍然是,如果太多數據源發送故障,就無法阻止錯誤數據的傳播,但這種風險也存在於其他更“去中心化”的解決方案中。

你可以在此處找到有關 Oraclize 的更多信息

Town Crier

該學術提案背後的團隊由 5 名康奈爾大學博士和本科生組成。

Town Crier 充當任何區塊鏈和支持 https 的網站上智能合約之間的橋樑,通過 TLS 處理握手進行安全通信,以提供源身份驗證數據。採用的方法與 TLS-notary (僅在軟件級別的安全性)不同,允許更多可定製的數據中繼。

這些數據由運行在英特爾 SGX 上的節點恢復(軟件和硬件級別的安全性)。這個經過驗證的數據從安全區傳遞到區塊鏈,完全依靠SGX 保護來證明節點確實按預期運行了軟件。

爲了保護機密性,消息僅在可信執行環境的安全區內解密,因此不僅可以用於安全數據傳輸,還可以用於提取加密的用戶憑證(例如:私有 API)。此外,支持潛在的多個 Web 抓取目標的自定義請求。

他們解決單點故障的方法是聚合數據源以及多個 SGX 平臺上的數據預言機。該軟件已被證明相對具有可擴展性,吞吐量爲 15–65 個事務 / 秒。

你可以在這裏找到更多關於 Town Crier 的信息。據報道,2014 年 11 月 1 日 ChainLink CEO Sergey Nazarov 在 Devcon 4 期間收購了 Town Crier。

Cornell's Town Crier Acquired By Chainlink To Expand Decentralized Oracle NetworkToday,>t.co

2. 內部化預言機服務

A. 預測市場

預測市場就像投注市場一樣。你對某些結果下注,這些結果的價格反映了結果發生的可能性。— Stefan George,Gnosis

Augur 和 Gnosis 是兩個最着名的去中心化預測市場,因爲它們都可以追溯到 2015 年。它們利用人們的智慧和無摩擦的去中心化網絡來創建精妙的預測市場。兩者都仔細設計激勵措施,以確保市場得到正確結果。我們將仔細研究 Augur 如何處理這個問題。

Augur(LIVE)

Augur (@AugurProject) | TwitterThe latest Tweets from Augur (@AugurProject). An open-source, decentralized, peer-to-peer oracle and prediction market…twitter.com

Augur 是一個無信任的去中心化預言機和預測市場平臺,允許分佈式個體推測並報告任何事件的客觀結果。創建分散的預測市場平臺是 Augur 的“簡單”部分;關鍵因素是市場的完整性,確保理性的 Augur 參與者最佳選擇是誠實的。

Augur 有一個名爲 Reputation (REP)的原生 token,必須用它來創建新的市場,並報告結果或提出反對意見 — 在確認無誤後,這些行爲獲得一部分平臺費用作爲補償。對市場的推測不以 REP 計價。

去中心化的預言機:全面概覽(二)

預測市場的生命週期展示(來源)

Augur 允許任何人創建任何即將到來的事件的市場。市場創建者設置事件結束時間並選擇指定的報告者來報告事件的結果。這一結果可能受到社區的挑戰。

這些是 Augur 必須採取的一系列保護措施,以保護誠實的參與者:

市場創建者抵押有效保證金:如果市場沒有明確定義,或沒有客觀明確結果,保證金則會被沒收。

由市場創建者抵押的未到期押金:如果市場指定的報告者在 3 天內沒有報告事件的結果,該押金將被沒收。如果無人認領,任何人都可以提交他們的暫定事件結果。

一旦報告了暫定結果,則有 7 天的期限,任何 REP 持有人都有機會對暫定結果提出挑戰。成功的挑戰要求最小的爭議資金大小與市場上的資金成比例。如果挑戰不成功,則將押注的 REP 返還給其所有者,市場結算。

如果第一個暫定結果成功受到挑戰,那麼下一步將取決於對該輪進行挑戰的抵押數量。如果爭議中所有 REP 的利率低於 2.5%(按今天的利率爲 150 萬美元),或者將進入分叉狀態(如果 > 2.5%),市場將要經歷另一輪糾紛。

分叉狀態是 60 天凍結期的最後手段,所有市場暫時凍結,直到它們遷移到“新的 Augur 宇宙”。如果產生所有這些挑戰的市場是兩個選項市場(是 / 否,當選 / 未選,贏 / 未贏……),將創建 3 個宇宙,即 3 個可能的選項:其中一個肯定,一個否定,一個無效。在每個宇宙中,市場將各自地得到解決。用戶需要將他們的 REP 令牌遷移到這些 Universe 中的一個且只有一個。在 60 天內遷移其 REP 令牌的用戶承諾此結果,並獲得 5%的額外 REP 以承擔該風險。如果他們利用錯誤的宇宙,那麼他們的 REP 就會被困在那裏(宇宙 A / B / C 中的 REP 是不可替代的)。對於不希望承擔這種風險的用戶,他們可以在 60 天后的任何時間根據普遍的共識決定遷移到該市場的肯定結果。雖然並行的 Augur 宇宙可以暫時共存(例如 Ether / Ether Classic),但人們期望一個人將成爲明顯的贏家,重新獲得大多數市場活動,併成爲公認的 Augur。

我們希望讀者能夠明白,在創建一個市場時,模棱兩可是多麼危險,讓去中心化預言機來控制一個會帶來財務影響的結果是多麼棘手。

當 Augur 預言機在報告現實生活事件的結果以穩定 Augur 市場時,我們可以想象,如果這些激勵措施強大且 Augur 不斷增長,那麼 Augur 的市場一旦穩定就可能成爲可靠的預言機。換句話說,人們可以假設最終 Augur 的市場將(可能)確定實際的真實結果,因此它可以作爲另一個智能合約的輸入。

B. 支付服務

**
**

Ramp

Ramp Network (@RampNetwork) | TwitterThe latest Tweets from Ramp Network (@RampNetwork). Using open banking APIs to connect crypto with fiat. Warsaw, Polandtwitter.com

在過去,銀行賬本很難獲取,但隨着越來越多的司法管轄區採用開放式銀行業務框架,這種情況正在迅速改變。例如,在歐洲,PSD2 指令是歐洲銀行有義務向獲得許可的第三方提供商提供 API 訪問銀行賬戶,而 Ramp 已申請成爲其中一個。

去中心化的預言機:全面概覽(二)

Ismail Chaib 和 OpenBankProject 示意圖

Ramp正在構建一種金融模型,用於最小化現有金融機構與公共區塊鏈之間的交互。在實踐中,他們使用 PSD2 提供 p2p、fiat-to-crypto 原子交換 (Ramp 交換)。

過程如下 :

賣家創建一個智能合約,將數字資產鎖定在第三方託管中。數字資產將被釋放給買家,買家在適當的時候發送正確的法幣,或者在不成功的情況下返還給賣家。

買家向賣家發送直接電匯。

付款預言機驗證買家的付款並向網絡發送付款證明(PoP)。預言機可以訪問買方和賣方的賬戶,並且可以分別看到發送和接收的款項。

智能合約解鎖託管中的資產並將其發送給買方。

存儲在金融機構賬本中的數據顯然是敏感的,因此與報告公開信息(例如商品價格或運動結果等)相比,報告此類數據時存在明顯的挑戰:

數據由單一事實來源提供 — 例如:銀行。

轉賬的信息不是一成不變的,因爲金融機構可能會恢復某些交易。

數據不公開,也不易驗證。

有關特定帳戶(身份和交易歷史)的信息應保密。

賬本的可訪問性各不相同,始終取決於用戶的同意。

有時可以進行雙向通信 — 這可以通過智能合約啓動交易。

數據是結構化的 — 它形成了一個帶賬戶的賬本,但結構可能因機構而異。

由於隱私要求,人們不能簡單地將從銀行獲得的信息傳遞給區塊鏈。原始信息需要從公開可識別的信息中刪除,並與區塊鏈事務相匹配。由於這些原因,數據需要在鏈外進行處理並作爲簡單的布爾值傳遞給網絡,以回答二進制問題(例如,是否進行了特定付款?):

Ramp 目前正致力於進一步下放其技術並將其提供給更多司法管轄區。Ramp 還在探索使用安全區作爲額外的保護層,最終允許更多授權的第三方成爲區塊鏈上銀行交易的預言機。這些發展將消除最大的集中點:法幣網關。如果您想了解更多關於 Ramp 的信息,請查看他們的網站。

C. 去中心化的保險業

我們現在可以信任代碼驅動而不是利潤驅動的保險公司,但如果預言機不能被信任,這一切就毫無意義。— Hugh Karp, NexusMutual

去中心化的預言機:全面概覽(二)

Etherisc 上提供的去中心化保險產品

參數保險是一種特殊的保險,具有參數觸發和支付條件(如果 Y 發生,支付 $ X),例如航班延誤或中心化加密貨幣交易所攻擊。這些產品非常適合智能合約。他們需要預言機服務來爲事件是否發生提供可靠的數據,要麼通過良好的內部(通過投票流程定義數據輸入的 EtherRisk 或 Nexus Mutual)經濟激勵,要麼儘可能通過去中心化的預言機即服務(Oracle-as-a-Service)提供商。

人們可以期待看到更多的保險產品由智能合約處理,Flyingcarpet 就利用了複雜的物聯網(IoT)傳感器,無人機和衛星(來獲取數據)。例如,農民可以通過智能合約購買保險,其中氣象衛星通過 Flyingcarpet 提供數據,並使用在平臺上開發的 AI 模型進行分析。

然而,在有些情況下,如果沒有輸入信息的局部調整,將無法實現自動檢測和處理索賠的情況。這些案例要求本地的預言機作爲獨立的索賠代理人,例如:量化汽車的損壞。這些代理商由保險公司使用,可以輕鬆地將智能合約添加到其潛在僱主的名單中。這是 EtherRisk 和 Nexus Mutual 的路線圖,他們正在使用類似的抵押設計,即良好的行爲可以賺取利潤,但經過證明的惡意行爲將受到嚴重懲罰。由於欺詐一直是保險的最大損失,因此不能指望該系統不被欺騙,但如果它的可靠性與中心化保險相匹配,那麼通過智能合約節約下來的成本可以惠及客戶。

最終,這些索賠代理人也可以在去中心化的自治組織中合作,例如使用 Aragon 或 Colony 來協調他們的專門業務。

**
**

V. 結論

與去中心化網絡一樣,與其本質屬性相關的挑戰和機遇可以用一個詞來概括:激勵。去中心化的網絡通過精心設計的經濟激勵機制實現前所未有的全球合作,以確保理性參與者通過利益參與到網絡中。

消除對可信第三方的依賴是一項挑戰,因爲任何事物和任何人理論上都是可能作惡的,但必須將風險降低到可容忍的水平。實際上,雖然總是存在短期攻擊的風險,但不應該破壞網絡維護者的長期激勵,以維持成爲他們可能的重要收入來源。

作爲一個整體的比特幣礦工代表了一個受信任的“實體”,他們保護比特幣賬本的安全。有些礦工可能利用漏洞獲取短期收益,但他們理性地進行了長期收益,從而使得他們的 ASIC 投資和未來的區塊獎勵變得收益更高。此外,以太坊經常受到批評,因爲它過度依賴 Infura 或 Metamask 等服務。即使這些服務通過 Consensys 進行了重新變成了中心化的服務,但它們在以太坊中佔有重要地位,因此它們沒有動機去作惡。這些中間解決方案在更廣泛的去中心化道路上所帶來的風險是可以容忍的。

邏輯上,與外部世界的交互是智能合約的下一個方向,同樣,爲了防止攻擊,必須設計合理的激勵措施。這裏的主要挑戰是潛在的強大經濟誘因,誘使人們做出不當行爲。隨着這些網絡的發展,它們將成爲其貢獻者重要的收入來源。將會有越來越多的預言機服務提供商出現,在這些網絡中佔有大量的份額。這意味着它們將不再依賴於單一的一方,而是對服務質量有着極高的信心。

胡蘿蔔加大棒的經濟激勵是非常有效的,我們期待看到所有這些項目的發展。ChainLink 通過使用 token 抵押和聲譽系統,在擁有可靠的預言機服務方面處於有利地位。當我們擁有被證明有效的預言機時,就會出現很多應用案例,我們對去中心化的保險產品,金融產品和預測市場感到非常興奮。

Chainlink 官方渠道

去中心化的預言機:全面概覽(二)

QQ 羣 : 6135525 微博 : https://weibo.com/chainlinkofficial 幣乎 : https://bihu.com/people/1869894547 合作聯繫 : china@smartcontract.com GitHub: https://github.com/smartcontractkit/chainlink Gitter: https://gitter.im/smartcontractkit-chainlink/LobbyTwitter: https://twitter.com/chainlinkofficial Telegram: https://t.me/chainlinkofficial

去中心化的預言機:全面概覽(二)

來源鏈接:mp.weixin.qq.com