撰寫:Haotian
最近,圍繞著ZK 和可信任執行環境(TEE)的差異性,有廣泛的討論。原因是,新晉入局layer2 的@unichain 聲稱其毫秒級子區塊是基於TEE 構建,而號稱數據區塊鏈的預言機老鏈@FlareNetworks 則集成Google Cloud 等傳統互聯網渠道,通過TEE 引入可驗證的離鏈計算。結合這兩件事,談談我的看法:
1)TEE(Trusted Execution Environment)是一種硬體層級的安全技術,簡單而言,TEE 是在處理器中創建了一個獨立、安全、隔離的Enclave 飛地環境,與主作業系統程式完全隔離,可以安全儲存和保護敏感數據,同時有嚴格的存取控制機制。
這意味著,開發者可以在TEE 中執行特定程序,在確保安全的前提下,充分放大硬體的執行效率和效能。目前包括Intel SGX ARM TrustZone 等有多種不同的TEE 實作方式,在行動互聯網、物聯網等領域有更廣泛的應用,區塊鏈場景下的應用正在被發掘。
2)Unichain 基於TEE 環境,可以允許交易被預先執行和驗證,讓其發生在交易正式被打包出塊前,這打破了原先交易統一上傳Mempool 等待打包的限制,又能有相對安全封閉的防篡改作惡環境,因此得以實現。
Flare Network 做預言機的思路也是藉助TEE 環境而放大。做預言機數據區塊鏈純粹為DeFi 合約環境餵價(Price 指標)會很卷,若把數據範圍擴大到體育比賽結果、社交媒體數據、選舉實時排名等等需要龐大的鏈下計算和處理能力,最終再把可驗證結果傳遞到鏈上環境。
Flare 將透過Google Cloud 提供的TEE 環境,進行密集的運算操作,僅把可信任的結果餵到鏈上,避免了龐大資料來源在鏈上堆積產生較大的成本。其想法很簡單:複雜的計算任務在鏈下執行,然後透過簡短的證明在鏈上驗證,這樣可以減少鏈上的資料負載和計算需求。
3)類比之後不難發現,TEE 可信執行環境某種程度上是依賴硬體製造商(如AMD、英特爾)再結合谷歌雲等傳統上游服務商提供“可信度”,對原始數據進行了一次Pre 預先加工處理,最終將資料結果作用到鏈上。這和ZK 基於數學原理和密碼學演算法不依賴任何硬體提供的信任有一個關鍵區別:TEE 需要一個第三方信任方。
要如何解決此問題呢?邏輯也很簡單:TEE+ 可驗證性的Prove 網路。引入一個可驗證的證明網絡就可以顯著提高TEE 系統的透明度和可信度。 Unichain 要引入的去中心化驗證網絡,Flare 本身區塊鏈架構提供分散式節點治理架構都扮演了此驗證網路的角色。
儘管,Unichain 尚未透露此驗證網路的實現和治理細節,但如何利用TEE 飛地環境的遠端可認證特性,如何在硬體提供安全保密的前提下產生證明和鏈上環境進行互動一定是關鍵點。