隨著隱私保護需求成長,可信任執行環境(TEE)技術受到重新關注,儘管過去因硬體安全性未能廣泛應用。 TEE與零知識證明(ZK)被討論是否有競爭關係,實際上二者為互補關係。 TEE技術如Intel SGX和AWS Nitro Enclaves能在安全環境中處理敏感數據,但仍依賴中心化供應商,風險存在。目前多個專案如Flashbots、Taiko和Scroll利用TEE來提高安全性和隱私,然而大多數專案仍依賴中心化供應商,可能引發安全隱患。未來應考慮引進更多硬體供應商,以降低中心化風險。
隨著隱私保護需求的迫切增長,TEE 再次成為討論的焦點。雖然TEE 在數年前就已經被討論過,但由於硬體安全性問題未能廣泛採用。然而,隨著MPC 和ZK 技術在性能方面的發展和技術要求方面遇到挑戰,許多零售商和開發者重新關注TEE。
趨勢也引發了Twitter上關於TEE是否會取代ZK技術的討論。有些用戶認為,TEE和ZK是互補關係,而不是競爭關係,它們因為是解決不同的問題,二者都不完美。另外向使用者指出,AWS 和Intel 提供的安全性比Rollup 的合約簽章保護更高。考慮到TEE 在設計空間上的擴展性,是ZK 無法實現的,因此這種權衡是值得的。
什麼是TEE?
TEE其實不是一個陌生的概念。我們常用的蘋果手機就應用了TEE技術,即「Secure Enclave」,其主要功能是保護用戶的敏感資訊和執行加密貨幣操作。 Secure Enclave整合在系統級晶片中,與主處理器隔離可確保高安全性。舉個例子,每當你使用Touch ID 或Face ID 時,Secure Enclave 都會驗證你的生物識別信息,並保護這些信息不被洩露。
TEE全名為Trusted Execution Environment(可信任執行環境),是電腦或行動裝置內部的安全區域,獨立於主網路運作。其主要特點包括:與主網路隔離,即使主網路受到攻擊,內部數據和執行仍然安全;透過硬體支援和加密貨幣技術,防止內部代碼和數據在運行過程中被篡改;利用加密貨幣技術保護敏感數據,防止洩漏。
目前,常見的TEE 實作方式有以下幾種:
Intel SGX:提供隔離執行環境的硬體支持,創建安全的記憶體區域(enclave)來保護敏感資料和程式碼。
ARM TrustZone:在處理器內部創造了一個安全世界和一個正常世界,安全世界運行敏感操作,正常世界處理普通任務。
AWS Nitro Enclaves:基於AWS Nitro TPM安全晶片,提供在雲端的可信任執行環境,專為處理機密資料的雲端運算場景設計。
在加密貨幣市場,TEE技術最常用於在可信任和安全的環境中進行鏈下計算。同時,TEE的遠端驗證(Remote Attestation)功能允許遠端使用者驗證在TEE中運行的程式碼的完整性,確保資料處理的正確性然而,TEE也存在去中心化不足的問題,因為它們依賴於如Intel和AWS等中心化供應商。如果這些硬體存在後門或漏洞,系統安全性可能會受到威脅。但作為輔助手段, TEE技術易於建置且成本較低,適合需要高安全性和隱私保護的應用情境。這些優點也使得TEE技術能夠評估各種加密貨幣應用,如隱私保護及增強Layer2安全性等。
TEE專案盤點
Flashbots:透過SGX實現隱私交易和去中心化區塊構建
Flashbots於2022年開始探索SGX等可信任執行環境相關的隱私技術,將其視為交易供應鏈上信任協作的重要建構模組。 2023年3月,Flashbots成功在Intel開發的可信賴執行環境SGX enclace中運行了一個區塊構建器,向實現隱私交易和區塊構建者去中心化的方向邁進了一步。借助SGX enclace,區塊構建者和基礎供應商無法看到用戶交易的內容,且風險構建者在enclave 內部構建可驗證的有效區塊,並如實報告其出價,可能可以消除對mev-boost 倉儲的需求。此外,該技術有助於減少獨家訂單流的,使交易保持在同時,仍然供所有在enclave 內部運行的區塊構建者訪問。
雖然TEE 確實能夠提供外部資源存取及隱私保護,但其效能源自於非TEE 技術方面並不高。而且結合存在一些中心化風險。 Flashbots 發現,僅依賴TEE 並不能解決所有問題,還需要其他安全措施,並引入其他實體來驗證TEE 的運算和程式碼,以確保系統的透明性和可信賴性。因此,Flashbots 構思了一個由TEE 組成的網絡(Kettles),同時還有一個可信賴的無權限公有鏈(SUAVE Chain)負責管理這個網絡,並託管TEE中要運行的程式等。這就是SUAVE的基本架構。
SUAVE(Single Unified Auction for Value Expression)旨在解決MEV相關挑戰的基礎設施,重點在於將記憶體礦池和區塊生成的角色從現有的區塊鏈中分離出來,形成一個獨立的網路(排序層) ),可作為任何區塊鏈即插即用的記憶體礦池和去中心化區塊建構者。
(更多SUAVE 介紹可以參考ChainFeeds 阿聯酋文章)
SUAVE將分兩階段推出。第一個版本為SUAVE Centauri,包括隱私權訂單流拍賣(OFA)和SUAVE Devnet(測試網)。這個版本的實現並不涉及密碼學和TEE技術。第二個版本是Andromeda ,將在受信任的執行環境(如SGX)中執行執行節點。為了確保離線運行的TEE節點上的計算和程式碼如預期運行,Flashbots透過TEE的遠端證明功能,使智慧合約能夠驗證來自TEE的訊息具體步驟包括:為Solidity程式碼添加新的預編譯功能以產生遠端證明;利用SGX處理器產生證明;在鏈上完全驗證證明;並使用Automata-V3-DCAP庫來驗證這些證明。
綜上所述,SUAVE將透過整合TEE來取代目前的第三方,SUAVE系統中運行的應用程式(如訂單流拍賣或區塊建構器)都將在TEE內部運行,並透過鏈上遠端證明保證TEE計算和代碼主權。
Taiko:透過SGX建構負載證明系統Raiko
TEE的概念也可以分段Rollup,以建構靜態證明系統。靜態證明是指為一個區塊產生多種類型的證明,構成坊以太的多客戶端機制。這種機制能夠保證即使一個證明有漏洞,其他證明仍然有效。
在權益證明機制下,任何有興趣產生權益的使用者都可以執行一個節點,提取交易和所有狀態存取的Merkle權益等資料。利用這些資料產生不同類型的權益,然後將所有權益一起提交到智能合約中,由智能合約驗證證明的正確性。對於TEE產生的證明,需要檢查ECDSA簽章是否由預期位址簽署。當所有證明通過驗證並確認區塊哈希一致後,該區塊將被標記為已證明,並記錄在鏈上。
Taiko正在利用Intel SGX技術建構阻塞證明系統Raiko,用於驗證Taiko和以太坊區塊。透過使用SGX,Taiko能夠確保執行關鍵任務時的資料隱私和安全性,即使有潛在的漏洞,TEE也能提供額外的保護,防止攻擊者破壞證明系統。 SGX證明可以在單一電腦上運行,只需幾個桌面即可完成,不會影響產生證明的效率。另外,Taiko推出了一個新的架構,支援將客戶程式編譯為能夠在ZK和TEE中的格式,確保區塊狀態轉換運行的正確性,並通過基準測試和監控評估效能和效率。
儘管TEE提供了許多優勢,但在實現過程中仍面臨一些挑戰。例如,SGX需要支援不同雲端建置的CPU,並優化驗證過程中的Gas成本。此外,還需要建立一個安全通道來驗證計算為了解決這些挑戰,Taiko 使用Gramine OS 將運行的應用程式封裝在可信任的enclave 中,並提供易於使用的Docker 和Kubernetes 配置,使得任何擁有SGX 功能的CPU的用戶都可以方便地配置和管理這些應用程式。
根據Taiko 的公告,Raiko 目前支援SP1、Risc0 和SGX,並不斷努力整合Jolt 和Powdr。未來,Taiko 整合計畫更多Riscv32 ZK-VM,擴展Wasm ZK-VM ,與Reth 直接整合以實現區塊鏈的即時證明,及採用升級架構以支援多鏈區塊證明。
Scroll:與Automata合作開發TEE Prover
Scroll的定時論證機制旨在實現三個目標:增強L2安全性、不增加終局時間及橫向L2交易引入邊際成本。因此,除ZK論證外,在選擇輔助論證機制時,Scroll需要權衡終局性和成本生產力證明雖然安全性高,但終局時間太長。而zkEVM 驗證器雖然強大,但開發成本高且複雜。最後,Scroll 選擇了使用Justin Drake 提出的TEE Prover 作為輔助證明機制。
TEE Prover 在受保護的TEE 環境中運行,能夠執行交易並產生證明,快速並不會因此增加終局性。此外,TEE Prover 的另一個重要優勢在於其效率。證明過程相關的所需時間可以忽略不計。
目前,Scroll正在與Automata合作開發Scroll的TEE Prover。 Automata是一個分層的驗證層,旨在透過TEE協處理器將機器級信任擴展至以太坊。 Scroll的TEE Prover由鏈上鏈下兩個主要元件組成:
SGX Prover:鏈下元件,運行在enclave 中,用於檢查在enclave 內執行區塊後的狀態根是否與現有狀態根匹配,並向SGX Verifier 提交執行證明(PoE)。
SGX Verifier:這是一個部署在L1鏈上的智慧合約,需要驗證SGX Prover提出的狀態轉換及Intel SGX enclave提交的證明報告是否正確。
SGX Prover 會監控排序器在L1 上提交的交易批次,確保其在執行狀態轉換時所使用的資料完整且可竄改。然後,SGX Prover 會產生一個包含所有必要資訊的區塊證明(PoB),保證所有參與驗證和執行的節點都使用相同的資料集。執行完畢後,SGX Prover 會提交執行證明(PoE)到L1。此外,SGX Verifier 將檢查PoE 是否由有效的SGX Prover 簽署。
SGX Prover 使用Rust 程式語言編寫,並使用SputnikVM 作為其執行智能合約的EVM 引擎。實作可以在支援SGX 硬體模式的機器上編譯和運行,同時也可以在非SGX 環境中進行偵錯。而SGX Verifier 則使用了Automata開源的DCAP v3驗證函式庫,可以對Scroll測試網的整個區塊歷史進行驗證。
另外,為了減少對TEE 實作和硬體製造商的信任問題,Scroll 仍在研究一種協議,聚合來自不同硬體和客戶端的TEE Prover。該協議將結合閾值簽名方案。閾值簽名方案是一種學技術,允許多個參與者共同產生一個簽名,只有達到特定數量的參與者同意時,簽名才有效。具體來說,TEE Prover需要多個(例如N個)TEE證明者中至少T個證明者產生一致的證明。
Automata:利用TEE協處理器增強區塊鏈的安全性和隱私性
Automata Network 是一個分層層,將硬體作為共同的信任根,實現了許多範例,包括基於TEE 驗證器的驗證器系統,為RPC 中繼提供公平性和隱私及在加密貨幣飛地中構建區塊等。
前面也提到過,Scroll 的多論證系統就是與Automata 合作開發的。除此之外,Automata 驗證TEE 協處理器作為多論證AVS 引入了EigenLayer 主網。 TEE 協處理器是一種執行特定計算任務的硬件,用於補充或擴展主鏈的能力。 Automata Network的TEE協處理器透過在被TEE隔離的情況下執行安全運算,擴展了區塊鏈的功能。
具體來說,Multi-Prover AVS 是一個任務控制中心,負責不同協議的要求協調和管理多個獨立的驗證器。各個協議可以公開發布需要驗證的任務,然後可以根據組織一個由長期激勵獎勵的承諾TEE委員會。實際進行驗證的節點(操作者)可以註冊參與這些任務,並且可以相互合作以確保安全。而持有代幣並願意支持協議安全性的用戶為質押者,他們將質押權委託給信任這種質押增強了協議在初級階段所需的經濟安全性,因為質押的資金作為一種,激勵了操作員誠實和有效率地工作。 EigenLayer 創建了一個耗用許可的市場,允許質押者、營運商和協議自由參與。
Secret Network:基於SGX技術實現隱私權保護
隱私公鏈Secret Network主要透過Secret Contract和TEE實現資料隱私保護。為了實現這一目標,Secret Network採用了Intel SGX可信執行環境技術,並且為了保障網路一致性,Secret Network只允許使用Intel SGX晶片,不支援其他TEE技術。
秘密網路採用遠端認證流程來驗證SGX安全區的缺陷和安全性。全節點在註冊前都會建立認證報告,證明其CPU使用了最新的硬體升級,並在鏈上進行驗證。新節點獲得共識的共享保障金鑰後,便能完成網路中的運算與交易,從而從而網路的整體安全性。為了減少可能的攻擊保護,秘密網路選擇SGX-SPS(伺服器平台服務)而不是SGX-ME (管理引擎)。
具體實作上,Secret Network使用SGX進行加密輸入、輸出和狀態的計算。這意味著資料在其生命週期內始終保持加密貨幣狀態,防止未經授權的存取。並且Secret Network的每個驗證節點使用Intel SGX的CPU來處理交易,確保敏感資料僅在每個驗證節點的安全解密支持,而外部無法存取這些資料。
Oasis:採用SGX建構隱私智能合約
隱私運算網路Oasis採用模組化架構,將共識和智慧合約執行分別分為決策層和ParaTimes層。作為智慧合約執行層,ParaTimes由多個ParaTime組成,每個ParaTime代表一個具有共享狀態的運算環境。這允許Oasis 在一個環境中處理複雜的計算任務,在另一個環境中處理簡單的交易。
ParaTimes可以分為隱私和非隱私兩種類型,不同的ParaTimes可以運行不同的虛擬機,還可以設計為許可或無許可系統。作為Oasis的核心價值配置之一,Oasis結合TEE技術推出了兩種隱私智能合約:Cipher及Sapphire。都採用了Inte SGX的TEE技術。加密貨幣資料和智能合約一起進入TEE中,資料會被解密並由智能合約處理,另外在輸出時還會再次加密貨幣。這個過程確定了資料在整個處理過程中保持機密,不會洩漏給節點操作員或應用程式開發者。 與之不同的是,Sapphire 是隱私EVM 相容的ParaTime,而Cipher 是用於執行Wasm 智能合約的隱私ParaTime。
Bool Network:結合MPC、ZKP和TEE技術,增強比特幣驗證的安全性和去中心化
Bool網路融合了MPC、ZKP及TEE技術,將外部驗證者群集改造為隱藏動態委員會(DHC),以增強網路安全性。
在動態隱藏委員會中,為了解決驗證過程中外部驗證節點需要討論簽章導致的私鑰暴露問題,Bool Network 引入了TEE 技術。例如,透過Intel SGX 技術,將私鑰封裝在TEE 中,使節點設備可以在本地的安全區域內運行,而係統中的其他元件無法存取資料。透過遠端證明,儲存者節點可以在TEE 中運作並深圳證券交易所中出示證明以驗證其確實性,其他節點或智慧合約則可以在鏈上驗證這些報告。
另外,BOOL Network是完全開放准入的,任何擁有TEE設備的主體都可以透過質押BOOL成為驗證節點。
Marlin:結合TEE和ZK協處理器實現去中心化雲端運算
Marlin是一個可驗證運算協議,結合了可信任的運作環境和ZK協處理器,將複雜的工作負載委託給去中心化雲端。
Marlin 包括多種類型的硬體和子網路。 TEE 技術主要評估其子網路Marlin Oyster 上。 Oyster 是一個開放平台,允許開發者在不可信任的第三方主機上部署客製化運算任務或服務。 Oyster 目前主要依賴AWS Nitro Enclaves,這是一個基於AWS Nitro TPM安全晶片的可信任執行環境。為了實現去中心化的願景,Oyster未來可能會相容於更多的硬體供應商。此外,Oyster允許DAO透過智慧合約呼叫直接配置飛地,需要特定成員管理SSH或其他認證金鑰。這種方法減少了對人工操作的依賴。
Phala Network:基於TEE 的質押證明系統SGX-Prover
Phala Network是一個去中心化的鏈下運算基礎設施,致力於透過TEE實現資料隱私和安全運算。目前,Phala Network僅支援Intel SGX作為其TEE硬體。基於去中心化TEE網絡,Phala Network建構了基於TEE 的睡眠證明系統Phala SGX-Prover。具體來說,鏈下模組sgx-prover 運行狀態轉換程式後會產生包含計算結果的TEE Proof,把其提交給鏈上的sgx-verifier 進行驗證。
而為了解決使用者對新交所中心化的擔憂,Phala Network引進了Gatekeeper和Worker兩種角色。 Gatekeeper由PHA代幣持有者透過NPoS選舉產生,負責管理網路鎖並監督經濟模型。而Workers則是運行在SGX硬體上。透過引入鑰匙輪換機制,Gatekeepers可以確保TEE網路的安全。
目前,Phala Network 擁有超過3 萬個由全球用戶註冊和運行的TEE 設備。此外,Phala Network 仍在探索基於TEE 的快速終局性解決方案。理論上,基於TEE 證明可以實現快速終局性,僅在必要時提供ZK 證明。
總結
在Twitter 上的爭論中,Uniswap CEO Hayden Adams 也發表了自己的觀點,他表示,「TEE 收到的負面評價都標有追求完美反而被封鎖了好的結果的含義。任何事物都存在取捨。在保護區塊鏈領域,可用的工具應該是越多越好。
而透過對上述這些例子的探索,可以看出TEE技術在解決隱私及安全的應用潛力。例如,Flashbots透過TEE實現隱私交易和去中心化構建,Taiko和Scroll則利用TEE實現定時證明製度,確保L2交易的安全性。不過,目前大部分專案都單一依賴的中心化供應商,這可能會帶來一定的風險。未來,或許可以相容於更多的硬體供應商,並透過設定節點比例,以確保節點在不同的硬體上運行,以進一步減少因過度依賴供應商而帶來的中心化風險。
資訊來源:0x資訊編譯自網際網路。版權歸作者ChainFeeds所有,未經許可,不得轉載