区块链通过数十个为全球数百万用户提供服务的开放和无需许可的网络,为互联网提供了一种完全透明的方法。然而,透明度虽然提供了许多好处,但它必须与强大的隐私工具相平衡,这些工具可以加强每个链上用户的机密性和数据安全性。随着Web3越来越和隐私保护挂钩,洞察推动链上隐私向前发展的趋势和技术是至关重要的。
下文提供了两种Web3隐私方法不同维度的比较:零知识证明和可信执行环境。无论是开发人员还是用户,了解这些技术之间的差异对于理解Web3的未来都十分重要。在比较这些技术之前,让我们先定义一些术语。
零知识证明:零知识证明是一种加密机制,它允许任何人证明一个陈述的真实性,而不需要分享陈述中的信息,也不需要透露信息是如何获得的。在区块链中,有些人可以运行计算来验证一个证明是否正确,如果是的话,就根据证明更新系统状态,而不需要了解被验证的数据是什么。
可信执行环境:可信执行环境(TEE)通过将处理器的一个区域与CPU的其余部分分开来使用基于硬件的安全计算模型。当用于启用机密区块链时,这些环境会接收加密数据并运行无法被任何人直接监视或篡改的计算。
V神撰文介绍隐形地址概念以解决以太坊隐私保护难题:1月23日消息,以太坊联合创始人 Vitalik Buterin 近日发布新文章《隐形地址的不完整指南》,指出以太坊生态系统后续的最大挑战之一就是隐私,并提出隐形地址概念作为可能的隐私解决方案。该方案可能会使 P2P 交易、NFT 转移和 ENS 注册实现匿名化,从而起到用户保护作用。Vitalik Buterin 提出接收资产的用户可以生成并保存一个支出密钥,用于生成一个可以在 ENS 上注册的隐形元地址。该地址可以传递给交易发送者,发送者对元地址执行加密计算以生成一个属于接收者的隐形地址。发送方可以将资产转移到接收方的隐形地址,此外还可以发布临时密钥以确认隐形地址属于接收方,每个新交易都会生成一个新的隐形地址。
Vitalik Buterin指出除了实施密钥盲化机制之外,还需要采用Diffie-Hellman 密钥协议算法,以确保隐形地址和用户元地址之间的链接不会公开,并利用 ZK-SNARKs 技术转移资金支付 Gas 费。[2023/1/23 11:26:48]
现在来让我们深入探讨这两种隐私保护技术。
Neo创始人达鸿飞:区块链在技术上可通过新型密码学工具或分层来解决隐私保护难题:Neo创始人达鸿飞在微博上表示,在人工智能大会直播环节与大家就区块链技术价值做了更深入的讨论。曾有杂志把区块链比作信任的机器,输送“石油”,这里的“石油”其实是指我们从繁杂的数据中提炼出的有价值的数据。人们逐渐意识到数据作为一种新型生产要素,蕴含着许多有价值的信息,而人工智能、大数据等新兴技术可以把这些有价值的“石油”从地底下提炼出来。但提炼后如何运输给需要的人和企业?区块链可以完成这个职责,区块链可以确认数据归属权、使用权等,把数据这种新型要素组织起来,把经济活动的行为用数字化的方式完成,最终实现减少碳排放的大目标。
区块链在技术上可通过新型密码学工具,如零知识证明,或分层来解决隐私保护难题。从治理的角度,探索区块链的可管理性,与现存法律及制度进行结合,有助于区块链成为主流化的应用。[2021/7/13 0:48:20]
BitCherry CEO:区块链技术是实现个人隐私保护的最佳载体:BitCherry CEO Paul表示:“区块链技术是实现个人隐私保护的最佳载体,区块链技术可以使个人身份的真实性、唯一性得到保证,同时规避中心化网络平台对个人身份数据的垄断、监视或滥用的潜在风险,分布式商业公链BitCherry凭借独创的P2Plus网络协议,为数字身份提供载体,分布式的区块链架构可以为各商业领域提供身份服务,并根据需求来定制智能合约,构建分布式数字身份应用。”[2020/10/7]
1??应用可扩展性?Web3CloudService
ZKP的一个关键特征是经常需要在某些应用程序中开发独特的电路以满足特定用例,来让证明者在不泄露任何信息的情况下证明知识的准确性。通常通过构建一个基于特定秘密的特定计算的电路来执行此操作。然后验证者会收到证明该电路已被正确执行的证据。
在某些应用中,同一电路不能由多个证明者使用,而在其他应用中,使用通用ZKP方案,单个电路可以被多个证明者使用。但是,多次使用的电路需要仔细设计,以确保它们不能用于揭示有关正在证明的秘密的任何信息。
声音 | 金融壹账通陆一帆:区块链技术亟须解决数据共享与隐私保护间矛盾:金色财经报道,金融壹账通区块链业务部总经理陆一帆在接受采访时表示,区块链最大的价值是打破数据孤岛,使数据可溯源、可穿透、可验证。但如何解决数据共享与隐私保护间的矛盾是区块链技术亟须解决的问题。目前行业内许多隐私保护的解决方案并不完善,例如可信计算、哈希上链、加密上链等方案都是通过牺牲区块链价值来实现的隐私保护。我们认为区块链其中一个主攻方向是对数据治理,打破数据孤岛的应用。但传统区块链技术必须与前沿密码学如3D零知识密码算法体系结合,才能够为数据治理和解决数据孤岛提供全新的解决方案:将数据的所有权和掌控权归还给数据属主,使数据属主在权限可控,在不“共享”数据的前提下实现“共享”数据的价值,解决数据利用和隐私间的矛盾。为突破科研难题,平安为此组建了强大区块链底层团队同时也创建了世界范围内都数一数二的密码学研发团队。[2019/12/27]
对于TEE,跨多个用例和应用的可扩展性取决于它是如何实现的,而这是由一系列因素决定的,包括硬件和软件架构以及TEE用例的具体要求。在某些情况下,例如在移动设备上实现TEE时,可能仅限于简单的应用程序。然而,对于Web3dApp,区块链验证者使用的TEE通常能够处理大型计算工作负载。这些环境支持执行任意机器代码,因此可以被多个开发人员用于众多应用。
动态 | Brave推出基于隐私保护的广告平台:据brave官方网站,4月24日,Brave最新发布的macOS、Windows和Linux桌面浏览器的用户可以通过选择奖励,来选择观看基于隐私保护的广告。这些用户将获得70%的广告收入份额,作为他们关注的回报。[2019/4/25]
Oasis可以处理一些低级但是安全至关重要的细节,比如建立可信执行环境,进行远程认证,组织计算委员会,提供可信的防篡改存储,数据可用性等等。对于用户和开发者来说,Oasis将TEE封装成在Oasis网络上运行的Runtime,有着精心设计的外部接口,让基于TEE的机密计算变得容易使用和安全。
对于Solidity开发人员来说,这意味着在Oasis网络上使用TEE进行构建时,不会有基于用户数量或特定生态系统的独特限制或要求。开发人员不仅可以通过只进行几个修改即可将加密状态添加到任何SoliditydApp中,还可以明确选择他们希望加密的状态,以及他们希望保持公开的地方。Web3开发人员可以利用TEE的显著灵活性和可扩展性,为任何建立在任何区块链网络上的应用程序提供安全执行,而不必费力开发ZKP电路。
2??安全性和性能?Web3CloudService
ZKP的计算成本可能很高,这取决于所使用的算法类型和所要证明问题的复杂度。ZKP通常需要大量的计算资源来生成证明,因为它们的安全性完全来自加密操作。然而,证明验证本身是很快的,但是大多数ZKP算法的复杂度与其电路的大小成正比,且ZKP算法有很多种。某些类型的计算成本要高于其他类型。使用ZKP的开发人员通常认为其安全性和隐私保护优势将超过计算成本。
TEE旨在为运行敏感代码提供一个安全和隔离的环境,而无需承担昂贵的加密操作成本。由于TEE的安全性是基于具有一些软件要素的硬件,而不是完全依赖密码学,因此可以提高复杂工作负载的性能。然而,TEE也不能幸免于攻击,尤其是试图利用系统意外信息泄露的侧信道攻击。但另一方面,也存在各种缓和技术,包括一些常规通用的、众所周知的技术和个别用例所需要的特定方法。
TEE旨在平衡安全性和性能,因此大多数TEE设置都针对效率进行了优化,并且通常会使用专用硬件来最大限度地减少任何额外安全操作对性能的影响。实际上,基于TEE操作的大部分计算开销主要来自偶尔需要进行额外的安全相关任务,例如加密和解密数据或验证在TEE中运行的代码的完整性。
例如,如果我们想为Web3DEX提供隐私功能,仅仅使用ZKP是不够的,而且将被证明是一项极其困难的任务。相比之下,TEE实现提供了更大的灵活性,可以更轻松高效地实现DEX所需的更复杂的私有数据聚合任务。
或者设想一个涉及发送者和接收者之间的稳定币交易的场景。当今,所有交易数据对发送方、接收方、发行方和任何其他查看区块链的人完全可见已成为一种常态规范。然而,使用TEE,开发人员可以建立复杂和精密的应用程序,自定义链上数据的可见性。无论是只有发送方和接收方看到数据,还是发行方也有可见权限,甚至只有发送方可以查看数据——所有这些选项都可以供dApp开发者在强大而灵活的TEE中构建。
3??智能合约灵活性?Web3CloudService
TEE是为在大量计算工作负载下实现高性能而构建的,例如高级智能合约和数据密集型Web3应用程序产生的那些。易用性和开发人员灵活性是TEE环境适用于Web3构建复杂应用程序的主要原因。
总的来说,TEE很适合通用智能合约的执行,尤其是需要聚合大量私有数据的智能合约。开发者的体验也更为简单。例如,建立在OasisSapphire上的保密应用程序可以在几天内开发完成,而使用其他隐私技术可能需要数月甚至数年的时间。
ZKP以往并没有针对智能合约执行进行优化。近来,其在支持EVM兼容性方面已经取得了显著进展,但是这些兼容性改进主要集中在可扩展性用例上,例如ZK-EVM。ZKP在通用智能合约执行中保障隐私方面仍然存在局限性。这是因为ZKP需要证明者能够获得所有全局状态和交易数据的访问权限,但如果一些全局状态是私有的,它将无法做到这一点。这对需要在多方参与的情况下实现隐私的应用产生了严重的限制,因为在这种情况下需要来自多个参与者的知识。
在某些用例较为简单的应用中,ZKP可以轻松解决用户隐私问题。但随着计算负载变得更加复杂和数据输入量的增长,这种隐私变得更具挑战性、成本更高且灵活性更低。为了缓解这些问题,有时需要定制电路来保护具有大量复杂数据负载的dApp。一些使用ZKP构建的团队正在构建框架以简化将ZKP集成到智能合约中的过程,但它们没有提供与TEE所提供的相同级别的隐私灵活性。
4??信任权衡?Web3CloudService
了解任何Web3隐私技术的信任模型对开发者和用户都很重要。尽管ZKP可以成为一种有效的扩展工具,但我们应该清楚为什么ZKP作为Web3的隐私解决方案是有限的。例如,一些基于ZKP的解决方案可以依赖半可信的排序器来验证信息。如果一个应用程序允许多个排序器,那么隐私就会变得更糟。但在特定的用例中,ZKP可以提供有效的隐私——一个典型的例子是Zcash加密货币。在不透露用户拥有或正在花费多少硬币的情况下,每个用户需要证明他们没有重复花费硬币。使用ZKP来证明一个用户没有作弊是非常必要的。但要明确的是:这种技术仅限于非常具体的用例,并没有为可通用的安全计算而进行优化。
对于TEE,信任的概念就在名称中。但是,TEE的可信度在很大程度上仅限于基于硬件的信任,在这种情况下,TEE的实施是为了提供一个与系统其余部分隔离的安全执行环境。这种基于硬件的信任主要是基于硬件设计者和制造商以及他们的安全实践。这种信任在很大程度上可以通过安全启动程序、安全飞地和其他行业标准技术来验证。TEE允许开发者为数据输入产生防篡改证明,并为他们正在构建或使用的任何应用提供证明。
5??结论?Web3CloudService
简而言之,任何一种Web3隐私技术都会呈现出不同的优势、劣势与权衡取舍。
ZKP可以满足一些以隐私为重点的用例,但其性能、可扩展性以及对通用计算的支持均存在局限性。而TEE等其他Web3隐私技术则对构建拥有海量并发用户和数据的dApp的开发人员更具吸引力。在这些情况下,TEE提供了一种灵活、可扩展且高性能的工具,用于将高保密性集成到任何Web3应用程序中。
但是这两种工具也可以互补,例如,例如一些Web3应用程序能够在基于TEE的系统中使用ZKP,从而提高安全性与稳健性。无论开发者目前选择使用哪种隐私工具,未来的Web3隐私技术定会蓬勃发展,给开发者提供广阔的选择空间。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。