查看原文
其他

Web3隐私问题,两种解决方案对比——零知识证明VS可信执行环境

        

作为对传统的Web(Web1)和社交媒体互联网(Web2)的进一步发展和演变,Web3是去中心化的,它由所有的用户自己构建并运营,它主张捍卫用户权利,从中心化的模式中放权于普通大众,打造去中心化的价值互联网。

那么在这样的需求背景下,隐私数据泄露、个人信息被贩卖的问题就要加紧解决,真正扭转用户在Web2中的负面现状。



Web3时代的隐私既要保密又要匿名,在实际的操作中,包括数据隐私、身份隐私、计算隐私,这是一个非常宏大的课题。怎么办?当然还得靠隐私计算,在Web3场景下,隐私计算可以解决以下四大关键问题:

01数据隐私保护
隐私计算可保护用户数据的计算和传输过程中的隐私,防止未经授权的访问和数据泄露。02匿名性和去中心化
隐私计算可实现用户在进行交易和参与网络活动时的身份保护,确保用户可以匿名地参与到Web3网络中。03数据共享与合作
隐私计算可使用户以加密和匿名的方式与其他参与者共享数据,同时保护数据隐私。04验证和验证者的隐私保护

隐私计算可通过加密和安全计算的手段,实现验证者对用户数据的访问和计算操作,同时保护验证者的隐私。

本文就Web3隐私场景下,对两种不同隐私计算技术——零知识证明(ZKP,Zero-Knowledge Proofs)和可信执行环境(TEE,Trusted Execution Environments)做个简单分析和比较,看看两项技术的差别。
在比较两种技术之前,先简单介绍下这两种技术:
  • 零知识证明:
    零知识证明(ZKP)是一种密码学技术,允许任何人证明一个陈述的真实性,而无需分享陈述中的信息,也无需透露信息是如何获得的。
  • 可信执行环境:
    可信执行环境(TEE)使用基于硬件的安全计算模型,通过将处理器的一部分与CPU的其他部分分离来实现。
接下来,我们从应用可扩展性、安全性和性能、智能合约的灵活性、信任权衡四个方面做一个对比:


应用可扩展性零知识证明是一种使证明者能够在不透露任何信息的情况下证明他们拥有某些特定知识的方法。在某些应用中,需要构建能够执行特定计算的电路,然后验证者可以接收到证明该电路已被正确执行的证据。在一些应用中,同一个电路不能被多个证明者共用,而在其他情况下,可以使用通用的零知识证明方案,使得单个电路可以被多个证明者使用。需要仔细设计多用途电路,以确保它们不能泄漏与被证明的秘密相关的任何信息。跨应用和多用途的可扩展性取决于实现方式,这由一系列因素确定,包括硬件和软件架构,以及特定用例的要求。在某些情况下,例如在移动设备上实现的安全执行环境(TEE),使用可能仅限于简单的应用程序。然而在Web3 dApps中,通常由区块链验证者使用的TEE能够处理大量计算工作负载。这些环境支持执行任意机器代码,因此可以在多个应用程序中被多个开发者使用。TEE的设置、远程(重新)认证的执行、计算委员会的组织、提供可信防篡改存储和数据可用性等低级但安全关键的细节被抽象化处理。对于用户和开发者来说,TEE被打包成在特定网络上执行的运行时环境,具有设计良好的外部接口,以安全易用的方式使用基于TEE的保密计算。特别是对于Solidity开发者而言,在某网络上利用TEE进行构建意味着没有基于用户数量或特定生态系统的独特限制或要求。Web3开发者可以利用TEE的灵活性和可扩展性,在任何区块链网络上构建应用程序并进行安全执行。


安全性和性能零知识证明的计算成本可能很高,这取决于所使用的算法类型和被证明问题的复杂性。生成证明通常需要大量计算资源,因为其安全性完全依赖于加密操作,但是证明的验证本身是快速的。可信执行环境(TEE)旨在提供安全且隔离的环境,以运行敏感代码,而无需进行昂贵的加密操作。由于TEE的安全性基于硬件和一些软件元素,而不仅仅依赖于密码学,因此对于复杂工作负载的性能得到改善。TEE旨在平衡安全性和性能,因此大多数TEE设置都经过优化,以提高效率,并通常使用专用硬件,以最小化任何额外安全操作对性能的影响。实际上,基于TEE的操作的大部分计算开销来自偶尔需要进行的与安全相关的任务,例如对数据进行加密和解密,或验证在TEE内运行的代码的完整性。例如,如果我们想为Web3去中心化交易所提供隐私功能,仅仅使用零知识证明是不够的。相比之下,TEE的实现提供了更大的灵活性,使得像去中心化交易所中需要的更复杂的私有数据聚合任务更容易和高效地实现。另一个例子是涉及发送方和接收方之间的稳定币交易的场景。使用TEE,开发者可以构建复杂而精细的应用程序,定制链上数据的可见性。无论是仅发送方和接收方可以看到数据,还是发行者也有可见性权限,或者甚至只有发送方可以查看数据,所有这些选项都对于在强大而灵活的TEE中构建的dApp开发者是可用的。


智能合约的灵活性

TEE专为高性能而设计,能够处理复杂的计算工作负载。

TEE的易用性和开发者灵活性是构建Web3中许多复杂应用程序的主要原因。

总体而言,TEE非常适合于智能合约执行,特别是那些需要聚合大量私有数据的智能合约。例如使用TEE构建的保密应用程序可以在短时间内开发完成。

相比之下,零知识证明传统上并不针对智能合约执行进行优化。

虽然近年来在支持EVM兼容性方面取得了一些进展,例如ZK-EVM,但这些兼容性改进主要针对可扩展性的用例。在通用智能合约执行中,ZKP仍然存在一些限制,无法为隐私提供完整的解决方案。

在某些具有较简单用例的应用程序中,ZKP可以轻松解决用户隐私问题。

然而随着计算负载变得更加复杂和数据输入的增加,隐私保护变得更加具有挑战性、昂贵且不够灵活。

为了应对这些问题,有时需要使用自定义电路来保护具有大规模和复杂数据负载的dApp。

一些使用ZKP的团队正在构建框架,以简化将ZKP集成到智能合约中的过程,但它们无法提供与TEE相同级别的隐私灵活性。


信任权衡了解任何Web3隐私技术的信任模型对于开发者和用户来说都非常重要。例如某些基于ZKP的解决方案可能依赖于半可信的序列化程序来验证信息。应清楚ZKP作为Web3隐私解决方案的局限性。例如如果一个应用程序允许多个序列化程序,隐私性将会进一步降低。但在特定的使用案例中,ZKP可以提供有用的隐私保护,最主要的例子是Zcash加密货币。对于TEE而言,信任是名称中的一部分。但TEE的可信度主要局限于基于硬件的信任,即TEE被实现为提供与系统其他部分隔离的安全执行环境。TEE允许开发者为数据输入生成防篡改的证明,并为他们构建或使用的任何应用程序生成证明。


总结简而言之,Web3的隐私技术存在着各种强项、弱项和权衡。ZKP可以满足一些专注于隐私的使用案例,但在性能、可扩展性和对通用计算的支持方面存在限制。与此相比,其他Web3隐私技术如TEE对于开发者来说更具吸引力,特别是对于构建具有大量并发用户和大量数据的dApps。在这些情况下,TEE提供了一种灵活、可扩展且高性能的工具,可以将强大的机密性整合到任何Web3应用程序中。但这两种技术也可以相互补充,例如,一些Web3应用程序可以使用ZKP来提高基于TEE系统的安全性和稳定性。无论开发者使用哪种隐私工具,Web3的未来都充满了各种隐私技术供选择。隐私计算是Web3场景中的核心,可以保护用户的数据隐私,确保匿名性和去中心化原则的实现,促进数据共享与合作,同时保护验证者的隐私。隐私计算的发展和应用将为Web3的广泛应用提供坚实的隐私保护基础,推动Web3技术的可持续发展。

来源 Oasis Network:https://medium.com/oasis-protocol-project/4-ways-to-compare-trusted-execution-environments-and-zero-knowledge-proofs-293615b8c1b6

本文由【开放隐私计算】翻译整理,转载请备注来源。


END
热门文章:




隐私计算头条周刊(4.24-5.07)


讲师招募|欢迎加入“隐私计算共学计划”


联合国公布18个全球隐私计算技术应用典型案例!


AI 大模型淘金时代,淘金的铲子和勺子是什么?


案例分享 | 差分隐私在美国人口普查数据中的应用

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存