隱私保護技術TEE與ZKP的區別究竟在哪裡? 4個維度幫你全面了解

區塊鏈通過數十個為全球數百萬用戶提供服務的開放和無需許可的網絡,為互聯網提供了一種完全透明的方法。然而,透明度雖然提供了許多好處,但它必須與強大的隱私工具相平衡,這些工具可以加強每個鏈上用戶的機密性和數據安全性。隨著Web3越來越和隱私保護掛鉤,洞察推動鏈上隱私向前發展的趨勢和技術是至關重要的。

下文提供了兩種Web3隱私方法不同維度的比較:零知識證明(Zero-Knowledge Proofs)和可信執行環境(Trusted Execution Environments)。無論是開發人員還是用戶,了解這些技術之間的差異對於理解Web3的未來都十分重要。在比較這些技術之前,讓我們先定義一些術語。

  • 零知識證明:零知識證明(ZKP)是一種加密機制,它允許任何人證明一個陳述的真實性,而不需要分享陳述中的信息,也不需要透露信息是如何獲得的。在區塊鏈中,有些人可以運行計算來驗證一個證明是否正確,如果是的話,就根據證明更新系統狀態,而不需要了解被驗證的數據是什麼。

  • 可信執行環境:可信執行環境(TEE) 通過將處理器的一個區域與CPU的其餘部分分開來使用基於硬件的安全計算模型。當用於啟用機密區塊鏈時,這些環境會接收加密數據並運行無法被任何人(甚至是硬件主機)直接監視或篡改的計算。

現在來讓我們深入探討這兩種隱私保護技術。

1 應用可擴展性 Web3 Cloud Service

ZKP的一個關鍵特徵是經常需要在某些應用程序中開發獨特的電路以滿足特定用例,來讓證明者在不洩露任何信息的情況下證明知識的準確性。通常通過構建一個基於特定秘密的特定計算的電路來執行此操作。然後驗證者會收到證明該電路已被正確執行的證據。

在某些應用中,同一電路不能由多個證明者使用,而在其他應用中,使用通用ZKP方案,單個電路可以被多個證明者使用。但是,多次使用的電路需要仔細設計,以確保它們不能用於揭示有關正在證明的秘密的任何信息。

對於TEE,跨多個用例和應用的可擴展性取決於它是如何實現的,而這是由一系列因素決定的,包括硬件和軟件架構以及TEE用例的具體要求。在某些情況下,例如在移動設備上實現TEE時,可能僅限於簡單的應用程序。然而,對於Web3 dApp,區塊鏈驗證者使用的TEE通常能夠處理大型計算工作負載。這些環境支持執行任意機器代碼,因此可以被多個開發人員用於眾多應用。

Oasis可以處理一些低級但是安全至關重要的細節,比如建立可信執行環境(TEE),進行遠程(重新)認證,組織計算委員會,提供可信的防篡改存儲,數據可用性等等。對於用戶和開發者來說,Oasis將TEE封裝成在Oasis網絡上運行的Runtime,有著精心設計的外部接口,讓基於TEE的機密計算變得容易使用和安全。

對於Solidity開發人員來說,這意味著在Oasis網絡上使用TEE進行構建時,不會有基於用戶數量或特定生態系統的獨特限製或要求。開發人員不僅可以通過只進行幾個修改即可將加密狀態添加到任何Solidity dApp中,還可以明確選擇他們希望加密的狀態,以及他們希望保持公開的地方。 Web3開發人員可以利用TEE的顯著靈活性和可擴展性,為任何建立在任何區塊鍊網絡上的應用程序提供安全執行,而不必費力開發ZKP電路。

2 安全性和性能 Web3 Cloud Service

ZKP的計算成本可能很高,這取決於所使用的算法類型和所要證明問題的複雜度。 ZKP通常需要大量的計算資源來生成證明,因為它們的安全性完全來自加密操作。然而,證明驗證本身是很快的,但是大多數ZKP算法的複雜度與其電路的大小成正比,且ZKP算法有很多種。某些類型的計算成本要高於其他類型。使用ZKP的開發人員通常認為其安全性和隱私保護優勢將超過計算成本。

TEE旨在為運行敏感代碼提供一個安全和隔離的環境,而無需承擔昂貴的加密操作成本。由於TEE的安全性是基於具有一些軟件要素的硬件,而不是完全依賴密碼學,因此可以提高複雜工作負載的性能。然而,TEE也不能倖免於攻擊,尤其是試圖利用系統意外信息洩露的側信道攻擊。但另一方面,也存在各種緩和技術,包括一些常規通用的、眾所周知的技術(例如恆定時間密碼學)和個別用例所需要的特定方法。

TEE旨在平衡安全性和性能,因此大多數TEE設置都針對效率進行了優化,並且通常會使用專用硬件來最大限度地減少任何額外安全操作對性能的影響。實際上,基於TEE操作的大部分計算開銷主要來自偶爾需要進行額外的安全相關任務,例如加密和解密數據或驗證在TEE中運行的代碼的完整性。

例如,如果我們想為Web3 DEX提供隱私功能,僅僅使用ZKP是不夠的,而且將被證明是一項極其困難的任務。相比之下,TEE實現提供了更大的靈活性,可以更輕鬆高效地實現DEX所需的更複雜的私有數據聚合任務。

或者設想一個涉及發送者和接收者之間的穩定幣交易的場景。當今,所有交易數據對發送方、接收方、發行方和任何其他查看區塊鏈的人完全可見已成為一種常態規範。然而,使用TEE,開發人員可以建立復雜和精密的應用程序,自定義鏈上數據的可見性。無論是只有發送方和接收方看到數據,還是發行方也有可見權限,甚至只有發送方可以查看數據——所有這些選項都可以供dApp開發者在強大而靈活的TEE中構建。

3 智能合約靈活性 Web3 Cloud Service

TEE是為在大量計算工作負載下實現高性能而構建的,例如高級智能合約和數據密集型Web3應用程序產生的那些。易用性和開發人員靈活性是TEE環境適用於Web3構建複雜應用程序的主要原因。

總的來說,TEE很適合通用智能合約的執行,尤其是需要聚合大量私有數據的智能合約。開發者的體驗也更為簡單。例如,建立在Oasis Sapphire(由TEE提供支持的保密EVM)上的保密應用程序可以在幾天內開發完成,而使用其他隱私技術可能需要數月甚至數年的時間。

ZKP以往並沒有針對智能合約執行進行優化。近來,其在支持EVM兼容性方面已經取得了顯著進展,但是這些兼容性改進主要集中在可擴展性(而不是隱私)用例上,例如ZK-EVM。 ZKP在通用智能合約執行中保障隱私方面仍然存在局限性。這是因為ZKP需要證明者能夠獲得所有全局狀態和交易數據的訪問權限,但如果一些全局狀態是私有的,它將無法做到這一點。這對需要在多方參與的情況下實現隱私的應用產生了嚴重的限制,因為在這種情況下需要來自多個參與者的知識。

在某些用例較為簡單的應用中,ZKP可以輕鬆解決用戶隱私問題。但隨著計算負載變得更加複雜和數據輸入量的增長,這種隱私變得更具挑戰性、成本更高且靈活性更低。為了緩解這些問題,有時需要定制電路來保護具有大量複雜數據負載的dApp。一些使用ZKP構建的團隊正在構建框架以簡化將ZKP集成到智能合約中的過程,但它們沒有提供與TEE所提供的相同級別的隱私靈活性。

4 信任權衡 Web3 Cloud Service

了解任何Web3隱私技術的信任模型對開發者和用戶都很重要。儘管ZKP可以成為一種有效的擴展工具,但我們應該清楚為什麼ZKP作為Web3的隱私解決方案是有限的。例如,一些基於ZKP的解決方案可以依賴半可信的排序器來驗證信息。如果一個應用程序允許多個排序器,那麼隱私就會變得更糟。但在特定的用例中,ZKP可以提供有效的隱私——一個典型的例子是Zcash加密貨幣。在不透露用戶擁有或正在花費多少硬幣的情況下,每個用戶需要證明他們沒有重複花費硬幣。使用ZKP來證明一個用戶沒有作弊是非常必要的。但要明確的是:這種技術僅限於非常具體的用例(如貨幣),並沒有為可通用的安全計算而進行優化。

對於TEE,信任的概念就在名稱中。但是,TEE的可信度在很大程度上僅限於基於硬件的信任,在這種情況下,TEE的實施是為了提供一個與系統其餘部分隔離的安全執行環境。這種基於硬件的信任主要是基於硬件設計者和製造商以及他們的安全實踐。這種信任在很大程度上可以通過安全啟動程序、安全飛地和其他行業標準技術來驗證。 TEE允許開發者為數據輸入產生防篡改證明,並為他們正在構建或使用的任何應用提供證明。

5 結論 Web3 Cloud Service

簡而言之,任何一種Web3隱私技術都會呈現出不同的優勢、劣勢與權衡取捨。

ZKP可以滿足一些以隱私為重點的用例,但其性能、可擴展性以及對通用計算的支持均存在局限性。而TEE等其他Web3隱私技術則對構建擁有海量並髮用戶和數據的dApp的開發人員更具吸引力。在這些情況下,TEE提供了一種靈活、可擴展且高性能的工具,用於將高保密性集成到任何Web3應用程序中。

但是這兩種工具也可以互補,例如,例如一些Web3應用程序能夠在基於TEE的系統中使用ZKP,從而提高安全性與穩健性。無論開發者目前選擇使用哪種隱私工具,未來的Web3隱私技術定會蓬勃發展,給開發者提供廣闊的選擇空間。

Total
0
Shares
Related Posts