原文:Trusted Execution Environments and the Polkadot Ecosystem

來源:Polkadot Blog

翻譯:Antonia, Phala Network

與 Substrate[1] 模塊化框架相結合,可信執行環境(TEE)技術正爲下一代真正可用的區塊鏈 app 提出全新的解決方案。

區塊鏈第一次成爲熱點,是 2008 年比特幣白皮書發佈之時。自此,成千上萬、各式各樣的協議和區塊鏈就如雨後春筍般蓬勃生長。

區塊鏈的魅力,很大程度上在於其去中心化、公平性和透明性,但透明性也也意味着匿名性的缺失。儘管鏈上交易和消息傳遞可以用假名,但仍然很難做到完全的匿名。沒有人希望自己的信息(無論是金融交易還是健康記錄)被加密後就這樣公開。

此外,若按照遵守歐盟《通用數據保護法規(GDPR)》[2]的標準,任何私人數據都不應該未經許可就存儲在公鏈上,因爲存在某一天被解密的風險。爲了現實中更廣的可用性,克服鏈上隱私和數據安全問題刻不容緩。

而方案之一,就是可信執行環境(TEE)。

可信執行環境

可信執行環境[3](Trusted Execution Environment, 以下簡稱 TEE)技術並非新鮮事。誕生十年來,它已經融入了我們生活中的方方面面,你的智能手機裏就有它。TEE沒有嚴格唯一定義,但所有定義都表示這是一個可以隔離運算和安全存儲的區域。簡化到幼兒園版就是:它是計算機系統中的一個特殊區域,除了受信任的通信,任何人都無法訪問內部數據。

TEE 位於 CPU,卻獨立於操作系統,可以存儲私密信息、執行隱私代碼且不會用經過修改(modification)。每個TEE都有自己的密鑰,只有持有相應密鑰的第三方纔能看見其中的內容,這保證了 TEE 的可信性。裏面的內容可以通過寫入或升級程序來進行修改,能夠同時抵禦軟件和硬件層面的針對主系統硬盤攻擊。TEE 是否正版可信可以由製造商進行遠程驗證,哪怕 TEE 已經下了流水線、流入市場。(譯註:關於認證過程,可以看看Phala的文章 《區塊鏈應拒絕硬件嗎?》

在技術中集成 TEE 時,需要考察芯片製造商是否具有完善成熟的架構設計能力。目前,英特爾的 SGX[4] 最爲主流。不過也存在其他選擇,如 ARM 公司的 Arm TrustZone[5],Keystone[6] 這樣的正在開發中的開源 TEE 等等。

波卡生態 TEE 項目

Web3 基金會設立了一項獎金[7](Grant),旨在扶持能造福未來的技術。在波卡生態中,有許多項目正將 TEE 與 Substrate 結合,解決不同場景的問題。所有項目的代碼均開源可查。下面,我們將在此做個簡單介紹。

Supercomputing Systems AG

Supercomputing Systems AG 公司(SCS AG)[8]開發了一個鏈下計算框架 SubstraTEE[9],該框架旨在利用 TEE 增強 Substrate 上區塊鏈的隱私性和完整性。如,隱私幣交易,匿名且可驗證的投票,去信任化的跨鏈交易中介等等。

藉助 SubstraTEE,我們可以通過 TEE 在鏈下驗證交易,這樣只有一個結果會傳到鏈上,而非許多詳細交易信息。甚至,你還可以在一段時間後刪除這段交易信息。

有了這個技術,企業可以更好地運用區塊鏈,同時又不必擔心會違反 DGPR 規定。

在《 SubstraTEE 手冊 》中,你可以以 Encoiner[10] 爲例學習到如何利用 Substrate 和 SubstraTEE 創建可信轉賬。

Phala Network

和 Supercomputing Systems AG 一樣,Phala[11] 運用了 TEE —區塊鏈混合架構來保護隱私,旨在爲基於 Substrate 搭建地區塊鏈提供機密計算和數據保密服務。Phala 的保密智能合約會在 CPU 的 TEE 區域內運營,孤立於外部操作系統和硬件,從而確保了安全性和保密性。

Phala 的領航產品 —— Web3 Analytics[12] —— 是首個可以輸出用戶數據分析結果卻又不侵犯隱私的數據分析工具。

用戶的隱私數據不會經過第三方加密,而是直接傳輸進 Phala 保密合約中,在 TEE 進行運算。Phala 的用戶可以決定自己數據的目的和用途,100% 控制自己的數據。

Advanca

Advanca[13] 正在爲 Dapp(在區塊鏈上運行的去中心化數字應用程序)搭建可以一個保護隱私的通用計算/存儲基礎架構,旨在讓開發者以去中心化的方式構建任何現有的或新的 Web 端或移動端應用。

當前的設計包含協調器作用的的控制區和使用 TEE 接受並分配任務的計算/存儲平面。

Advanca 的技術將有助於實現經過身份驗證的 API 和隱私版 RAM(ORAM)以進一步在數據訪問過程中保護和隱藏隱私。

Crust Network

Crust[14] 實現了激勵層的去中心化存儲協議,這將有利於去中心化計算層和去中心化雲生態的構建。

Crust 通過環境檢測和工作負載檢測這兩種證明來保證可靠存儲檢測。在 Crust 網絡上,TEE 的完整性被用於量化有效存儲使用量。

在環境檢測環節,當新節點與 TEE 達成共識時,通過驗證的節點身份和相應的 TEE 公鑰將被記錄在鏈上。

在工作負載檢測環節,每個時間段的節點負荷都將經過 TEE 驗證和打包。收到用戶文件後,Crust 存儲節點將在 TEE 中執行加密打包並將其保存。在每個週期中,TEE 都會在本地進行快速驗證,並將工作符合報告傳到鏈上。其他節點僅需驗證工作負荷報告的簽名即可,大大簡化了驗證存儲共識的過程。

鑑於 TEE 也很適合保存隱私數據,Crust 也計劃在節點新增可信隱私保護服務。

Zondax

比起隱私,Zondax[15] 更注重驗證人節點[16](Validator)的安全性。他們將把 TEE 作爲額外的一層集成到一系列安全措施中,如獨立工業質量設備,TEE和硬件安全模塊(HSM)。

在 Polkadot 生態中,驗證人節點保護着中繼鏈[17],驗證來自收集人的證據並參與與其他驗證人的共識。在這個過程中,驗證人節點使用私鑰進行安全簽名,且每個週期結束時,都會創建一個新密鑰以確保始終可信。

Zondax 使用了基於 ARM 的 TEE 以大幅抬高密鑰轉置前的作惡成本,也額外在存儲密鑰的HSM和網絡之間做了一層隔離。結合編程支持和一系列設備支持,Zondax 提供的方案將遠比用雲服務器做驗證人要安全可靠。

相關文章