Ekiden:擴容區塊鏈實踐的綠洲?
可信計算必須要用區塊鏈嗎?
隱私保護是否是僞需求?
“去中心化”真的政治正確嗎?
MPC 有幾種實現方法?

從 2017 年接觸區塊鏈起,這些困惑就困擾着我們。在解答困惑的路上我們走了不少彎路,也得到了不少點撥,甚至還激發我們實踐目前的創新。在與同行、朋友們交流的過程中,我們發現有一些問題出現頻次很高、且值得一談。因此,我們將在 Phala 公衆號中通過「Phala 研究室」的方式對重點問題和大家分享團隊觀點。

您可以把這裏當做我們的調研,也可以當做可信計算領域的研究探討。但不歡迎貼標籤、歸納謬誤、動機論、錯誤歸因、訴諸經驗等非理性討論。

今天的主角是:前輩,Oasis Labs 的 Ekiden。

Oasis Labs

Oasis Labs (綠洲實驗室)是一個可以在計算、存儲和應用層都可以保證保密性的智能合約網絡,創始人兼首席執行官是加州大學伯克利分校計算機科學系 Dawn Song (宋曉東)教授。這位被中國科技媒體冠以「計算機安全教母」之名的知名學者,其英文名字「Dawn Song」更廣泛地在計算機安全及加密學領域被業內人士知曉。宋教授於 1996 年畢業於清華大學,之後於 1999 年從卡內基·梅隆大學計算機係獲得碩士學位,2002 年從加州大學伯克利分校獲得博士學位。之後,她曾在卡內基·梅隆大學計算機系任教,後任教加州大學伯克利分校。

業內人士以「學霸」和「得獎大戶」形容宋曉冬教授的學術成績。她曾是是麥克阿瑟天才獎 MacArthur Fellow 的獲得者,曾在 2009 年入選美國麻省理工學院 《MIT 技術評論》雜誌評選的「35 位 35 歲以下創新者」榜單。她在卡內基·梅隆大學執教期間指導學術完成的一篇論文,提出了計算機安全領域的「污點分析法 Dynamic Taint Analysis」。該論文不僅成爲計算機安全領域被引用數量最高的論文,更是引領了計算機安全領域商用趨勢的發展。

Ekiden:擴容區塊鏈實踐的綠洲?Dawn Song at UC Berkeley

因此,明星項目就此而來:2018 年 4 月,硅谷風投圈陸續傳出 Oasis 的融資消息。2018 年 7 月 9 日,Oasis Labs 正式宣佈獲得由 a16z 領投、polychain 等 19 家資本跟投的 4500 萬美元 A 輪融資。

Oasis Labs 旨在構建基於區塊鏈的「雲計算平臺」,可以實現隱私保護、安全和性能的兼顧,利用該項目的軟硬件集成技術,可以首次在區塊鏈上實現諸如人工智能這樣的計算密集型應用。這個願景聽上去如同把以太坊和亞馬遜雲計算服務平臺 AWS 進行了有機結合,並且試圖要打破目前的公鏈項目在可擴展性和隱私保護方面的瓶頸。

Ekiden:擴容區塊鏈實踐的綠洲?Oasis Labs core team

Oasis Labs 具有以下四個特性:

隱私性:解決目前公鏈完全透明的問題,從底層到應用層的全棧式隱私保護;

安全性:利用 TEE—區塊鏈混合架構互補,保障鏈上鍊下雙重安全;

可擴展性:採用了將計算和共識相互獨立的新區塊鏈架構,計算完全並行化,大幅提高性能;

易遷移性:衆多原生工具和 SDK,任何人都可以在平臺上可快速建立應用程序。

而 Ekiden,則是 Oasis Labs 交上的第一份答卷。

Ekiden

Ekiden 是日語“驛站接力賽”的發音:“驛站接力賽”的每個團隊由 10 人組成,每個團隊將完成相當於半程馬拉松的里程。

2018 年 4 月,宋教授和 UC 伯克利 Oasis Labs 其他 8 位成員聯名發表了一篇長達 20 頁的論文:《Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts》。文章分 9 個部分講述了現今區塊鏈技術的應用瓶頸、解決思路及方法、面臨的挑戰等內容。

Ekiden:擴容區塊鏈實踐的綠洲?

在介紹 Ekiden 之前,團隊分析了現今區塊鏈技術的應用瓶頸,表示 TEE—區塊鏈混合架構將着手解決以下問題:

TEE 的不足:

  • 主機問題導致 TEE 中數據丟失或延遲執行;
  • 外部攻擊導致的數據泄露;
  • 可信時間源可以被篡改;

PoW 區塊鏈的 proof of publication 問題;

TEE 中的祕鑰管理;

執行結果的原子傳遞。

宋教授認爲,以太坊之所以性能低下,是因爲它把共識、存儲和計算,都放到共識層上。Ekiden 的架構分爲 4 層:

應用程序層

計算層

存儲層

共識層

計算、存儲和共識的解耦合對於實現項目的高性能和安全性至關重要。

在這種分離式架構中,Ekiden 通過將區塊鏈與離線 EVM 擴容方案相結合來解決吞吐量和安全性問題。利用基於硬件的可信執行環境(TEEs),比如英特爾 SGX,Ekiden 能夠在安全的離線環境中提高吞吐量。通過最大限度地提高安全性和吞吐量,Ekiden 的目標是在去中心化金融和醫療保健等領域創建一個具有實際使用效用的協議,這將需要以上特性來開發分佈式應用。

應用層,也就是合約層,負責調度。開發者可以在鏈上部署合約設計調度邏輯,Oasis Labs 也提供了一些合約模板,需要保密的代碼可以加密存在儲存層中。此外,Oasis Labs 的編程框架運用了隱私數據分析和深度學習技術檢查代碼,保證執行該合約不會泄露輸入結果的敏感信息。

計算層,負責智能合約執行,有配置可信硬件的節點。開發者可以根據自身應用的需求,定義由什麼樣的節點和多少個節點去執行智能合約,那就不需要全體共識節點參與合約執行,從而提高計算速度。

存儲層顧名思義負責存儲。Dawn 表示,Oasis Labs 在這層的設計有參考 IPFS,也用到了加密存儲、數據切割和高冗餘等方式,保證數據的隱私性。這層要解決如何驗證儲存節點完整存儲了原文件,相關算法 Dawn 曾經發表過論文論述。

Ekiden 保證合約對外保密,合約具有機密性且自動密鑰加密,密鑰只爲應用區域所知。

Ekiden 網絡有三大組成:客戶端、計算節點和共識節點。

客戶端是智能合約的終端用戶。客戶可以創建智能合約或執行現有的合約。

計算節點使用多個 TEE 來運行智能合約程序。在 TEE 中,計算節點通過執行協議來處理來自客戶端的請求,並生成能證明計算有效性的可驗證證明。計算節點還通過密鑰管理器對合約進行密鑰管理。密鑰管理器 TEE 將根據請求創建或檢索現有密鑰。

共識節點通過共識層維護分佈式分類賬。共識節點負責智能合約的分類賬以及狀態更新的有效性。

Ekiden:擴容區塊鏈實踐的綠洲?



優越性

Ekiden 與以太坊網絡具有向後兼容性;EVM 的啓用意味着 Ekiden 支持以太坊編寫現有合約。ERC20 智能合約自動繼承協議擔保,包括保密合約的狀態,以及計算節點上離線操作的高性能。

通過該設計,任何以 Ethereum 爲基礎的分佈式應用都可以將 Ekiden 作爲擴容解決方案。爲了開發新的分佈式應用,Ekiden 支持 Rust 和所有 EVM 兼容的編程語言。用熟悉的語言進行編程的功能爲開發人員創造了一個更有利的環境。

由於這種設計,Ekiden 對於開發人員和用戶的接入比其他高吞吐量區塊鏈有着明顯的優勢。

在 Ekiden 原型網絡的初步測試中,與以太坊網絡相比,該團隊報告稱其吞吐量提高了 600 倍、延遲縮短了 400 倍、成本降低了 1000 倍。雖然預計該性能的水平會在整個網絡中會有所下降,但 Ekiden 將整合如上所述的衆多優化來保持理想的性能水平。網絡的初始測試也表明 Ekiden 能夠支持計算密集型的用例,例如在 Ethereum 網絡上成本高昂的機器學習應用。

這種可擴展性、安全性和低成本交易的結合開創了無數的使用案例,而以太坊在這個階段還無法實現。

Ekiden 的團隊將其理論和專業知識進行獨特的結合。在成立科技初創公司(後被雅虎和 FireEye 收購)之後,他們除了作爲 Uber 的研究人員,爲其開發解決方案之外。該團隊還基於其研究專長設計和構建了其他產品,這些產品後來也被實際性採用。

Ekiden:擴容區塊鏈實踐的綠洲?Oasis Labs at meeting

問題

我們可以看到,在安全隱私領域工作過幾十年、享有世界級聲譽的“計算機安全教母”團隊選擇了 TEE 區塊鏈方案,原因是把智能合約的執行與共識拆分可以讓運算節點和存儲節點處理交易,不需依賴負荷很重的共識協議。由於運算層和共識層分開,共識層只需覈實運算曾的計算結果,實現了更高的可擴展性——“擴容”是 2016-2019 年公鏈的重點課題。Oasis Labs 更像是把 TEE 作爲一種性價比高的“擴容”方案,而隱私保護,是一個附加甜點。

但是我們也可以看到 Ekiden 存在的比較大的問題:對“組合性”需求的弱化所帶來的應用價值降低——Ekiden 強調了合約的獨立執行,卻無法實現合約之間相互調用,即可組合性。Ekiden 將每個機密合約進行本地計算,計算結果提交至到鏈上,這會導致機密合約之間無法互相調用:

用以太坊舉例,傳統的智能合約鏈,每個節點都會順序地執行區塊內所有的交易。共識協議保證了每個節點都擁有完整且一致的數據庫,合約之間不互相獨立,因此可以輕易組合。

而 Ekiden 中,安全性被下放至由 TEE 保證,一方面增強了網絡的健壯性,另一方面每個礦工得以擺脫低效的全局共識,可以實現極高的性能。

但與此同時,由於合約之間相互獨立,完全並行執行,合約之間無法互相訪問,也不能互相調用。

我們都知道,可組合性是以太坊上 DeFi 生態存在的大前提,在以太坊上 Top10 的合約中,80% 都使用了合約的相互調用與組合。在 DeFi 項目中,多種 ERC20 Token 的組合是最常見的智能合約使用場景。

因此,Phala 爲了滿足這個需求,在設計上更進一步:我們爲合約的並行執行增加了一個前提,利用區塊鏈作爲隱私合約調用的共識層,實現 TEE 網絡的共享安全性,從而讓互操作成爲可能。

這個實現方法很像波卡的中繼鏈和平行鏈的設計,難點是數據同步、狀態順序和通訊協議,我們經過和波卡團隊的學習,已經設計了一套成熟方案。我們會在隨後詳細分享。





結語

Oasis Labs 聲稱自己要做“下一代區塊鏈”的衆多開拓者之一。Ekiden 在很多方面都比以太坊有優勢,包括支持 ERC-20 協議,但開發人員可以使用與 Rust 和 EVM 兼容的語言。

而作爲一家公司,許多技術之外的問題也不容小覷。首先,Oasis 項目熱度仍然不高。構建社區的支持力度以及推銷產品的力度都很小,因此圈內認知主要停留在資本背書和團隊背書上。不過,很多團隊都面臨這樣的問題;而且改善起來將會很快。

其次,雖然理論上存在完美的協議,實際應用過程中這樣的完美性能否得到保證仍然不可知。這是很多開發人員和用戶在目睹項目發展過程中所必須意識到問題,且要爲此做好準備。

Reference:

  1. Cheng R, Zhang F, Kos J, et al. Ekiden: A platform for confidentiality-preserving, trustworthy, and performant smart contract execution[J]. arXiv preprint arXiv:1804.05141, 2018.
  2. https://docs.oasis.dev/overview.html#key-features
  3. https://www.oasislabs.com/blog
  4. https://baijiahao.baidu.com/s?id=1605664799276237087𝔴=spider&for;=pc
  5. https://medium.com/coinsolidation/ekiden-protocol-by-oasis-labs-2eada7e068af
  6. https://coinsolidation.io/reviews/ekiden-protocol-by-oasis-labs/
  7. https://cryptobriefing.com/oasis-labs-ico-review-ekiden-protocol/
  8. https://www.crunchbase.com/funding_round/oasis-labs-series-a--a52c89eb#section-lead-investors

Ekiden:擴容區塊鏈實踐的綠洲?

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