由我、@rishotics和团队完成
特别感谢Rand Hindi和Zama团队的反馈和建议
简介
区块链和DeFi系统促进了透明度和去中心化,但也将用户交易数据暴露给公众。这种可见性带来了重大的隐私风险,阻碍了注重隐私的用户,并为诸如前运行攻击等安全威胁敞开大门。
隐私是开源生态系统的基本支柱,但在DApps中常常被忽视。本文解释了我们其中一种方法,即将隐私无缝集成到现有应用程序中,而不是创建孤立、碎片化的生态系统,将隐私作为事后想法。随着数十亿美元锁定在以太坊、Solana和比特币等生态系统中,隐私解决方案甚至不在他们的近期路线图中。这迫使用户不得不在没有隐私的情况下参与这些系统,暴露敏感的财务数据。
包括隔离池、硬件解决方案和阈值加密在内的几种隐私解决方案已经被尝试来解决这些问题,但面临着重大局限性。隔离池虽然能有效隐藏交易细节,但由于复杂的用户界面和监管挑战,会造成采用障碍。阈值加密解决方案在分散环境中存在复杂的密钥管理和可扩展性问题。因此,这些解决方案通常会牺牲可用性和合规性,限制了它们在实际应用中的有效性。
FHE、TEE和MPC等隐私增强技术提供了一种新的方法,通过在不解密的情况下对加密数据进行计算来保护隐私。因此,它们在解决可扩展性和监管挑战方面取得了进展,这些挑战限制了之前解决方案的有效性。问题在于如何将这些PET与现有的EVM堆栈或Dapps一起使用[2]。
为了让所有用户都能获得隐私,我们需要关注两个关键领域:
- 改编现有应用程序:使其与隐私增强技术兼容
- 如果构建新应用程序:在现有生态系统中使用隐私保护技术
很少有努力将隐私引入现有应用程序。我们的方法试图解决上述挑战,并提供一种与当前应用程序交互的通用方式。
在这篇文章中,我们将探讨如何使用FHE等PET将隐私集成到EVM兼容链上的现有DeFi应用程序中。整体架构结合了链下协处理器和链上智能合约。为了使这些链下协处理器与链上状态有效交互,我们需要一个框架,使智能合约能够与加密数据无缝协作。
我们还讨论了加密ERC20代币的概念,这提供了一种隐私增强的标准ERC20代币替代方案。最近,Circle和Inco发布了一份报告,深入探讨了加密ERC20的话题。准确地说,我们的框架并不局限于任何特定的加密ERC20标准,使其可以跨多个标准使用。
背景和相关工作
当前交易流程
当前的交易过程——从用户钱包到内存池再到区块链,是完全透明的。这种透明度符合公共区块链的核心目的,即账本中包含的数据应该对所有参与者可见。然而,这种开放性使许多人不愿意进入这个领域,因为并非所有人都希望自己的数据对全世界可见。
在执行过程的各个阶段都可以引入隐私,每个阶段都有自己的复杂性。在钱包签署交易后立即加密交易是最有意义的,因为这样可以在客户端隐藏有价值的信息。
挑战在于修改现有基础设施并获得社区对这些变更的认可。解决方案包括加密内存池、加密求解、私有RPC提供商和TEE内部的区块构建等。让我们探讨一下其他团队过去工作过的一些解决方案。
一些以前的隐私解决方案
加密内存池
团队已经在研究加密内存池解决方案。阈值加密内存池使用阈值加密来保护内存池中的交易细节,直到它们准备好被包含在区块中。这可以防止未经授权的各方查看交易细节(如发送方、接收方或金额),同时交易仍在等待确认。用户可以提交交易,确保他们的详细信息将保密,直到区块得到确认。
然而,加密内存池由于其独特的加密(时间锁难题、阈值加密/解密)或硬件要求(TEE),进入门槛很高。
大多数阈值加密方案需要一个初始设置阶段,涉及分布式密钥生成,这在时间和资源方面可能很昂贵。在大型分散环境中,这种设置可能很具挑战性,特别是当委员会成员加入或离开时,需要密钥重新共享或甚至完全重新运行设置。
隔离池
当前提供链上交互隐私保护的解决方案通常在用户体验方面缺乏友好性。
使用隔离地址和池引入了显著的复杂性,以实现链上隐私。隔离池使用户能够在不泄露交易细节(如发送方、接收方或转账金额)的情况下存储和交易资产。零知识(ZK)证明促进了这些隔离交易,通过验证其合法性而不披露任何实际数据。这确保网络参与者可以验证交易的有效性,而无需知道谁发送或接收资金,或转账金额。
当用户将资产转移到隔离池时,这些资产会被"隔离",交易细节(金额、发送方、接收方)会被加密并隐藏在公共账本上。然后使用ZK证明来确认用户持有有效余额并有权支付,而无需泄露任何具体信息。用户可以在隔离地址之间转移资产,而无需在隔离池内泄露任何细节。所有交易都保持隐藏状态,ZK证明确保交易规则得到遵守,如维持余额完整性和确认有效所有权。如果用户选择将资产转回到透明(非隔离)地址,他们可以提取资金。但这通常会导致"隐私中断",因为提款金额会变得可见,除非转移到另一个隔离池。
如果没有适当的检查,隔离池也会引发合规性和监管问题,让用户感到不确定。这些池模糊了交易细节,使资金追踪和参与方识别变得复杂。监管机构担心隔离池可能会通过隐藏非法资金来促进洗钱。金融机构和受监管实体必须遵守反洗钱(AML)法规,这要求检测和报告可疑活动。隔离池限制了交易可见性,使验证资金来源和遵守AML标准变得很困难。
一些基础知识
差分隐私
差分隐私是一个数学框架,用于量化和确保数据集中个人隐私 [1]。
差分隐私的核心思想是确保即使分析应用于数据集的算法的输出,也很难确定任何特定个人的数据是否包含在数据集中。如果一个随机算法满足(ϵ,δ)-差分隐私,那么包含或排除一个个人的数据只会略微改变任何特定输出的概率。
在差分隐私的背景下,ϵ控制隐私损失,量化相邻数据集(只差一个个人的数据集)输出概率的最大差异。δ代表了对隐私保证的小幅放松的概率,允许有更大隐私泄露的小概率。这个框架确保算法的输出对于相邻数据集保持几乎不可区分,从而限制了对任何单个数据点的信息泄露。
差分隐私已成为隐私保护数据分析的广泛采用标准,在提供强大的隐私保证的同时,也能产生有价值的统计见解。
基于Torus的全同态加密
TFHE是一种针对快速二进制门计算进行优化的FHE方案。与依赖更复杂格结构的传统FHE方法不同,TFHE在Torus上运行,能够以较低的噪声累积和更快的自举时间高效地执行加密计算。
这使其特别适合于需要高速二进制操作的应用程序,如位运算和布尔电路。通过创新的优化,TFHE实现了显著的性能改进,将自举时间从毫秒级降低到微秒级。
因此,TFHE已经成为实时应用中安全、隐私保护计算的一个有前景的解决方案。
解决方案
加密ERC20代币
加密ERC20标准用于私有化用户代币余额。任何打算在链上进行同态计算的代币余额都需要被包装在这个加密ERC20标准中。这种方法可以作为构建各种以隐私为重点的解决方案(如私人支付、私人拍卖、暗池等)的基础。
这个标准实现了必要的接口,用于实施必要的合规性检查,包括选择性披露特定密文以及其他一些检查。
要了解更多关于加密ERC20的信息,您可以阅读Circle的这篇文章[3]
差分隐私与订单聚合和批量结算
我们提出了一种利用差分隐私来实现加密订单求解的解决方案。这允许用户下达加密订单(带有加密代币的订单),并在不泄露其详细信息的情况下在链上进行处理。外部各方无法确定与特定用户相关的订单详细信息。
批量处理是这个解决方案的核心组件。直接通过协议处理单个加密订单的挑战在于,一旦解密,用户打算隐藏的金额就会变得可见。为了缓解这一问题,我们使用某些隐私增强技术(PET)的同态加法属性来聚合多个订单。加密金额被求和并存入指定的管理器。管理器的角色是通过安全包装器解密这个聚合值(获得解密的代币amountIn值),以便所得资产可以与适当的求解器协议交互。
通过
数学公式
我们提出了两种缓解隐私问题的方法:
- 加密资产: 用户持有的资产通过公开可验证的加密方案进行加密。
- 批量订单: 在执行之前选择一个大小为n的订单批量。
单独这些解决方案无法为对手提供足够的隐私保证,但结合起来可以引入差分隐私,为特定用户的订单提供概率上的不可区分性。
大多数DeFi链上操作可以定义为代币流入(T_{in})和代币流出(T_{o}),这意味着任何解决操作π都可以写成
通过改变用户与协议的交互域,我们可以引入一个中间智能合约M来代表用户进行这种交互。现在M的任务是接收来自n个用户的订单并对它们进行聚合i \in [1,n]
我们可以将用户i的T_{in}的加密值表示为C^{i},其中C^{i}可以表示为
由于加密是同态的,我们可以简单地求和个人密文来形成聚合密文C^{\pi_M}
在这个过程中,我们需要多次进行可编程的自举,以减少每次添加时积累的噪声。
解密后的金额现在用于与DeFi协议的进一步交互。
结论
区块链和DeFi生态系统中的隐私正变得越来越重要,以保护用户数据和确保交易过程的安全。虽然各种解决方案,如遮蔽池、阈值加密、差分隐私和完全同态加密,提供了独特的方法,但它们在可用性、合规性和技术实施方面也存在挑战。
探索这些隐私保护技术突出了将隐私集成到现有区块链应用程序中的潜力,同时平衡透明度和监管要求。随着隐私解决方案的不断发展,它们有望培养一个更加包容、安全和以用户为中心的区块链生态系统,让用户能够自信地参与去中心化平台。
参考文献
[1] Differential Privacy in Constant Function Market Makers by Tarun Chitra and Guillermo Angeris and Alex Evans
[2] Zama's fhEVM co-processor
[3] 揭开机密ERC-20框架:使用FHE在公共区块链上实现合规隐私
[4] TFHE: Fast Fully Homomorphic Encryption over the Torus by Ilaria Chillotti and Nicolas Gama and Mariya Georgieva and Malika Izabachène
[5] ZSwap Penumbra