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

下文提供了两种 Web3 隐私方法不同维度的比较:零知识证明(Zero-Knowledge Proofs)和可信执行环境(Trusted Execution Environments)。无论是开发人员还是用户,了解这些技术之间的差异对于理解 Web3 的未来都十分重要。在比较这些技术之前,让我们先定义一些术语。

区块链通过数十个为全球数百万用户提供服务的开放和无需许可的网络,为互联网提供了一种完全透明的方法。然而,透明度虽然提供了许多好处,但它必须与强大的隐私工具相平衡,这些工具可以加强每个链上用户的机密性和数据安全性。随着 Web3 越来越和隐私保护挂钩,洞察推动链上隐私向前发展的趋势和技术是至关重要的。

下文提供了两种 Web3 隐私方法不同维度的比较:零知识证明(Zero-Knowledge Proofs)和可信执行环境(Trusted Execution Environments)。无论是开发人员还是用户,了解这些技术之间的差异对于理解 Web3 的未来都十分重要。在比较这些技术之前,让我们先定义一些术语。

  • 零知识证明:零知识证明(ZKP)是一种加密机制,它允许任何人证明一个陈述的真实性,而不需要分享陈述中的信息,也不需要透露信息是如何获得的。在区块链中,有些人可以运行计算来验证一个证明是否正确,如果是的话,就根据证明更新系统状态,而不需要了解被验证的数据是什么。
  • 可信执行环境:可信执行环境(TEE)通过将处理器的一个区域与 CPU 的其余部分分开来使用基于硬件的安全计算模型。当用于启用机密区块链时,这些环境会接收加密数据并运行无法被任何人(甚至是硬件主机)直接监视或篡改的计算。

现在来让我们深入探讨这两种隐私保护技术。

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

一、应用可扩展性 

ZKP 的一个关键特征是经常需要在某些应用程序中开发独特的电路以满足特定用例,来让证明者在不泄露任何信息的情况下证明知识的准确性。通常通过构建一个基于特定秘密的特定计算的电路来执行此操作。然后验证者会收到证明该电路已被正确执行的证据。

在某些应用中,同一电路不能由多个证明者使用,而在其他应用中,使用通用 ZKP 方案,单个电路可以被多个证明者使用。但是,多次使用的电路需要仔细设计,以确保它们不能用于揭示有关正在证明的秘密的任何信息。

对于 TEE,跨多个用例和应用的可扩展性取决于它是如何实现的,而这是由一系列因素决定的,包括硬件和软件架构以及 TEE 用例的具体要求。在某些情况下,例如在移动设备上实现 TEE 时,可能仅限于简单的应用程序。然而,对于 Web3 dApp,区块链验证者使用的 TEE 通常能够处理大型计算工作负载。这些环境支持执行任意机器代码,因此可以被多个开发人员用于众多应用。

Oasis 可以处理一些低级但是安全至关重要的细节,比如建立可信执行环境(TEE),进行远程(重新)认证,组织计算委员会,提供可信的防篡改存储,数据可用性等等。对于用户和开发者来说,Oasis 将 TEE 封装成在 Oasis 网络上运行的 Runtime,有着精心设计的外部接口,让基于 TEE 的机密计算变得容易使用和安全。

对于 Solidity 开发人员来说,这意味着在 Oasis 网络上使用 TEE 进行构建时,不会有基于用户数量或特定生态系统的独特限制或要求。开发人员不仅可以通过只进行几个修改即可将加密状态添加到任何 Solidity dApp 中,还可以明确选择他们希望加密的状态,以及他们希望保持公开的地方。Web3 开发人员可以利用 TEE 的显著灵活性和可扩展性,为任何建立在任何区块链网络上的应用程序提供安全执行,而不必费力开发 ZKP 电路。

二、安全性和性能

ZKP 的计算成本可能很高,这取决于所使用的算法类型和所要证明问题的复杂度。ZKP 通常需要大量的计算资源来生成证明,因为它们的安全性完全来自加密操作。然而,证明验证本身是很快的,但是大多数 ZKP 算法的复杂度与其电路的大小成正比,且 ZKP 算法有很多种。某些类型的计算成本要高于其他类型。使用 ZKP 的开发人员通常认为其安全性和隐私保护优势将超过计算成本。

TEE 旨在为运行敏感代码提供一个安全和隔离的环境,而无需承担昂贵的加密操作成本。由于 TEE 的安全性是基于具有一些软件要素的硬件,而不是完全依赖密码学,因此可以提高复杂工作负载的性能。然而,TEE 也不能幸免于攻击,尤其是试图利用系统意外信息泄露的侧信道攻击。但另一方面,也存在各种缓和技术,包括一些常规通用的、众所周知的技术(例如恒定时间密码学)和个别用例所需要的特定方法。

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

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

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

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

三、智能合约灵活性

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

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

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

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

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

四、信任权衡

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

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

五、结论

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

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

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

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
上一篇 2023年5月8日 上午11:24
下一篇 2023年5月8日 上午11:38

相关推荐

  • 特定的应用让更广泛的 Cosmos 生态系统将蓬勃发展

    Cosmos SDK 是一套模块化工具,允许区块链开发者以与虚拟机无关(VM agnostic)的方式构建其应用层逻辑。Cosmos SDK 被设计为通过 ABCI 连接到 Tendermint。除了作为允许创建特定应用区块链的框架,它还允许各种定制选项,如协议无关(protocol-agnostic)的治理、交易和质押机制等等。SDK 处理应用逻辑层所需的大部分任务,这意味着开发人员不需要完全从头开始构建。

    2022年7月28日
    907
  • Bankless:盘点以太坊生态的中心化痛点及其解决方案

    LIDO 的流动性质押衍生品(LSD)「stETH」在 DeFi 中独领风骚; 该代币在所有质押衍生品中具有最高的流动性,它作为蓝筹流动质押品在同行中脱颖而出,Lido 控制着以太坊 TVL 的 17.6%。 每三个以太坊验证者中就有一个 (30.6%) 属于该协议,其质押衍生品在 LSD 市场中占有 74.9% 的绝对份额。

    2023年4月28日
    683
  • Rollup经济学2.0:解析成熟Rollup生态的多层经济关系

    我们提出了一个新的框架,将有助于理解 Rollup 准备扩展的新世界。目前仍在进行大量的实验,但已经出现了几种模式。我们将分析关键模式,并希望提供一个工具,帮助理解事物可能发展的方向,并解答当前的开放性问题。

    2023年8月14日
    325

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613