隐私保护技术TEE与ZKP的区别究竟在哪里?4个维度帮你全面了解

2023-05-05 21:39 栏目:行业动态 来源:网络整理 查看()

区块链通过数十个开放的、无需许可的网络为全球数百万用户提供服务,为互联网提供了一种完全透明的方法。然而,随着Web3 与隐私保护的联系越来越紧密,深入了解驱动链上隐私的趋势和技术非常重要。

下面是两种Web3 隐私方法的各个方面的比较:零知识证明和可信执行环境。了解这些技术之间的差异对于了解Web3 的开发者和用户的未来至关重要。在比较这些技术之前,让我们定义一些术语。

透明: Zero Knowledge Proof (ZKP) 允许任何人在不共享声明中的信息或透露信息是如何获得的情况下证明声明的真实性的一种密码机制区块链允许某人执行计算以验证证明是否正确,如果正确,则根据证明更新系统状态,而无需知道被证明的数据是什么。

度虽然提供了许多: 可信执行环境(TEE) 通过将处理器的一个区域与CPU 的其余部分隔离开来,使用基于硬件的安全计算模型。当用于启用敏感区块链时,这些环境会接收加密数据并执行无法直接观察或篡改的计算,即使是硬件主机也是如此。

让我们仔细看看这两种隐私保护技术。

隐私保护技术TEE与ZKP的区别究竟在哪里?4个维度帮你全面了解

好处,但它必须与强大的隐私工具相平衡,这些工具可以加强每个链上用户的机密性和数据安全性零知识证明可信执行环境

1

在某些应用中,多个证明者不能使用同一电路,而在其他应用中,多个证明者可以使用通用ZKP 方案使用单个电路。但是,必须仔细设计多次使用的电路,以便它们不能用于泄露有关已证明秘密的信息。

应用可扩展性可能仅限于简单的应用,比如在移动设备上实现TEE。但是,Web3 Cloud Service这些环境支持任意机器码的执行,可以被多个开发者用于很多应用。

Oasis 提供低级别但对安全至关重要的细节,例如设置可信执行环境(TEE)、执行远程(重新)身份验证、组织计算板、提供可信、防篡改存储和数据可用性。对于用户和开发者,Oasis 将TEE 封装成一个运行时,在Oasis 网络上运行,并使用精心设计的外部接口,使基于TEE 的机密计算易于使用和安全。

对于Solidity 开发人员,这意味着在Oasis 网络上使用TEE 进行构建时,没有基于用户数量或特定生态系统的独特限制或要求。开发人员不仅可以通过微小的更改将加密状态添加到任何Solidity dApp,而且他们还可以明确选择要加密的状态以及他们想要发布的位置。ZKP的一个关键特征是经常需要在某些应用程序中开发独特的电路以满足特定用例,来让证明者在不泄露任何信息的情况下证明知识的准确性。通常通过构建一个基于特定秘密的特定计算的电路来执行此操作。然后验证者会收到证明该电路已被正确执行的证据。无需费力开发ZKP电路。

对于TEE,跨多个用例和应用的可扩展性取决于它是如何实现的,而这是由一系列因素决定的,包括硬件和软件架构以及TEE用例的具体要求。对于Web3 dApp,区块链验证者使用的TEE通常能够处理大型计算工作负载Web3开发人员可以利用TEE的显著灵活性和可扩展性,为任何建立在任何区块链网络上的应用程序提供安全执行

2由于ZKP的安全性完全来源于密码学运算,ZKP通常需要大量的计算资源来生成证明。然而,虽然证明验证本身非常快,但大多数ZKP 算法的复杂度与其电路的大小成正比,并且ZKP 算法有很多种。某些类型的计算成本高于其他类型。使用ZKP 的开发人员经常声称安全和隐私方面的好处超过了计算成本。

安全性和性能TEE 安全性基于具有多个软件元素的硬件,而不是完全依赖密码学,密码学可以提高复杂工作负载的性能。但是,TEE 也是不可能的。

幸免于攻击,尤其是试图利用系统意外信息泄露的侧信道攻击。但另一方面,也存在各种缓和技术,包括一些常规通用的、众所周知的技术(例如恒定时间密码学)和个别用例所需要的特定方法。

TEE旨在平衡安全性和性能,因此大多数TEE设置都针对效率进行了优化并且通常会使用专用硬件来最大限度地减少任何额外安全操作对性能的影响。实际上,基于TEE操作的大部分计算开销主要来自偶尔需要进行额外的安全相关任务,例如加密和解密数据或验证在TEE中运行的代码的完整性。

例如,如果我们想为Web3 DEX提供隐私功能,仅仅使用ZKP是不够的,而且将被证明是一项极其困难的任务。相比之下,TEE实现提供了更大的灵活性,可以更轻松高效地实现DEX所需的更复杂的私有数据聚合任务。

或者设想一个涉及发送者和接收者之间的稳定币交易的场景。当今,所有交易数据对发送方、接收方、发行方和任何其他查看区块链的人完全可见已成为一种常态规范。然而,使用TEE,开发人员可以建立复杂和精密的应用程序,自定义链上数据的可见性。无论是只有发送方和接收方看到数据,还是发行方也有可见权限,甚至只有发送方可以查看数据——所有这些选项都可以供dApp开发者在强大而灵活的TEE中构建。

 智能合约灵活性 Web3 Cloud Service

TEE是为在大量计算工作负载下实现高性能而构建的,例如高级智能合约和数据密集型Web3应用程序产生的那些。易用性和开发人员灵活性是TEE环境适用于Web3构建复杂应用程序的主要原因。

总的来说,TEE很适合通用智能合约的执行,尤其是需要聚合大量私有数据的智能合约。开发者的体验也更为简单。例如,建立在Oasis Sapphire(由TEE提供支持的保密EVM)上的保密应用程序可以在几天内开发完成,而使用其他隐私技术可能需要数月甚至数年的时间。

ZKP以往并没有针对智能合约执行进行优化。近来,其在支持EVM兼容性方面已经取得了显著进展,但是这些兼容性改进主要集中在可扩展性(而不是隐私)用例上,例如ZK-EVM。ZKP在通用智能合约执行中保障隐私方面仍然存在局限性。这是因为ZKP需要证明者能够获得所有全局状态和交易数据的访问权限,但如果一些全局状态是私有的,它将无法做到这一点。这对需要在多方参与的情况下实现隐私的应用产生了严重的限制,因为在这种情况下需要来自多个参与者的知识。

在某些用例较为简单的应用中,ZKP可以轻松解决用户隐私问题。但随着计算负载变得更加复杂和数据输入量的增长,这种隐私变得更具挑战性、成本更高且灵活性更低。为了缓解这些问题,有时需要定制电路来保护具有大量复杂数据负载的dApp。一些使用ZKP构建的团队正在构建框架以简化将ZKP集成到智能合约中的过程,但它们没有提供与TEE所提供的相同级别的隐私灵活性。

 信任权衡 Web3 Cloud Service

了解任何Web3隐私技术的信任模型对开发者和用户都很重要。尽管ZKP可以成为一种有效的扩展工具,但我们应该清楚为什么ZKP作为Web3的隐私解决方案是有限的。例如,一些基于ZKP的解决方案可以依赖半可信的排序器来验证信息。如果一个应用程序允许多个排序器,那么隐私就会变得更糟。但在特定的用例中,ZKP可以提供有效的隐私——一个典型的例子是Zcash加密货币。在不透露用户拥有或正在花费多少硬币的情况下,每个用户需要证明他们没有重复花费硬币。使用ZKP来证明一个用户没有作弊是非常必要的。但要明确的是:这种技术仅限于非常具体的用例(如货币),并没有为可通用的安全计算而进行优化。

对于TEE,信任的概念就在名称中。但是,TEE的可信度在很大程度上仅限于基于硬件的信任,在这种情况下,TEE的实施是为了提供一个与系统其余部分隔离的安全执行环境。这种基于硬件的信任主要是基于硬件设计者和制造商以及他们的安全实践。这种信任在很大程度上可以通过安全启动程序、安全飞地和其他行业标准技术来验证。TEE允许开发者为数据输入产生防篡改证明,并为他们正在构建或使用的任何应用提供证明。

 结论 Web3 Cloud Service

简而言之,任何一种Web3隐私技术都会呈现出不同的优势、劣势与权衡取舍。

ZKP可以满足一些以隐私为重点的用例,但其性能、可扩展性以及对通用计算的支持均存在局限性。而TEE等其他Web3隐私技术则对构建拥有海量并发用户和数据的dApp的开发人员更具吸引力。在这些情况下,TEE提供了一种灵活、可扩展且高性能的工具,用于将高保密性集成到任何Web3应用程序中。

但是这两种工具也可以互补,例如,例如一些Web3应用程序能够在基于TEE的系统中使用ZKP,从而提高安全性与稳健性。无论开发者目前选择使用哪种隐私工具,未来的Web3隐私技术定会蓬勃发展,给开发者提供广阔的选择空间。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发