以太坊隐私:通往自我主权的道路

关于将以太坊转变为一个以隐私为优先的金融系统的路线图。作者强调隐私必须成为以太坊网络的默认状态,而不是用户需要主动开启的特性。文章详细阐述了实现这一目标的必要步骤,以及当前以太坊隐私的技术挑战,并提出了分阶段的具体方案。

_Special thanks go to Paul Dylan-Ennis, Tim Beiko, and Vitalik Buterin for feedback and review._

将这份路线图视为一个正在进行的工作,具有许多可动的部分。其主要目标是提供一个以隐私为首要的以太坊建设方向,而每种列出的方式都需要进行单独的讨论和研究。你可以在此处讨论线程中分享你对这篇博客文章的反馈。

以太坊必须提供无条件的隐私,而不迫使用户证明自己的清白。

这份路线图概述了将以太坊转变为最大限度地保护隐私自我主权金融系统所需的必要步骤。隐私不能作为用户必须有意识地启用的可选功能——它必须是网络的默认状态。以太坊的架构必须设计成确保用户默认具备隐私,而不是例外。

今天,以太坊采用部分、选择性隐私模型,用户必须采取明确措施来隐瞒自己的财务活动——通常以牺牲可用性、可达性甚至有效性为代价。这个范式必须转变。隐私保护技术应在协议层面上深入集成,使交易、智能合约和网络交互在本质上都是机密的。将隐私作为默认情况下可疑对待的系统是根本有缺陷的。以太坊必须赋予用户无条件的隐私——使自我主权成为一种保障,而非特权。

主权与风险的原则

无条件的隐私伴随着权衡。这将被无辜者和恶意者使用。但如果只向能够证明自己无辜——根据身份或意图授予隐私,那么这就不再是一项权利。这只是一种许可。而许可是可以被撤回的。

这份路线图植根于对自由决不能为了安全而削弱的科幻朋克信念。隐私工具——如加密、隐蔽交易和模糊智能合约——是中立的。它们不会造成伤害;它们只是防止伤害。它们的误用应该通过惩罚有害的_行动_来解决,而不是限制对工具本身的访问

正如我在开放访问部分的以太坊科幻朋克宣言中所阐述的,基础工具和基础设施——包括隐私——必须保持普遍可访问。无许可的系统不能挑剔哪些自由是可以表达的。如果我们允许核心技术根据它们可能被误用的方式受到限制,我们就面临将控制权拱手让给看守者的风险,从而破坏以太坊建立的基本原则。

我们不是通过破坏自由来捍卫自由的。而是通过为无辜者提供更强的保护,并使有罪者承担责任——而不将每个人都变成嫌疑人。

这构成了以下一切的基础。每个阶段不仅仅是技术里程碑——它是朝着一个隐私不是特性,不是恩惠而是默认的世界迈出的一步。

现状

当前,以太坊的透明性模型给隐私带来了重大挑战。公开可访问的交易图表允许运营人员追踪账户之间的资金流向,所有参与者都可以看到余额,从而破坏了财务隐私。尽管,以太坊网络的透明性促进了信任机制,但同时也为潜在的监视、目标攻击和剥削打开了大门。

当前的状态面临几个具体的技术挑战[1]:

  • 地址重用: 基于账户的模型鼓励地址重用,创造了与链上活动相关的持久身份。
  • 公共状态: 所有合约状态变量是公开可读的,使真正私密的应用在没有附加加密的情况下变得不可能。
  • MEV Vulnerability: 透明的内存池使得最大可提取价值(MEV)提取主要损害用户利益。
  • 元数据泄露: 网络级别的元数据,包括IP地址和交易传播模式,即使在使用应用级隐私工具的情况下也会使用户去匿名化。

为了解决这些问题,以太坊生态系统中出现了几种隐私解决方案:

  • Tornado Cash: 一种基于zk-SNARK的混合器,通过打破发送者和接收者之间的链接来模糊交易轨迹。尽管效果显著,Tornado Cash面临可用性挑战和持续的监管审查(最近取得了胜利),并且其对以太坊基础层的依赖使其受到相同公共透明性问题的影响。

  • Aztec: Aztec提供了一种Layer 2隐私解决方案,通过他们的Noir语言利用加密状态机制进行零知识电路开发。这使得在其生态系统内进行机密交易,同时仍然允许可验证性,尽管Aztec的采用和扩展性仍在不断发展。

  • RAILGUN: RAILGUN利用零知识证明来掩护交易细节,但面临需要更广泛的采用和在以太坊生态系统中整合的局限。它还通过隐私无辜证明提供条件性隐私。其系统架构采用zk-SNARK与Groth16证明以及基于智能合约的隐蔽池模型。

  • Privacy Pools: Privacy Pools是另外一种隐私解决方案,采用多层设计,包含可升级的合约层、零知识层和关联集提供者(ASP)层。由于ASP层,它提供条件性隐私。作为一种相对较新的项目,其长期成功和整合影响尚待全面评估,与其他项目一样,作为应用层解决方案,它面临可用性和整合挑战。

重要说明

我对所有在隐私解决方案上工作的人充满敬意和感激,包括未在此提及的人。你们的贡献奠定了这项工作的基础——我们正站在巨人的肩膀上,没有你们,这一切都无法实现!

这些努力代表了宝贵的进展,但它们尚未完全融合入以太坊基础层,且在范围和可扩展性上仍然有限。隐私仍然在很大程度上是一个次要特性,缺乏保护以太坊使用所有方面的全面无缝解决方案。

隐私的逐步路线图

为了将以太坊建立为一个最大限度地保护隐私自我主权的金融系统,路线图采取了结构化和渐进的方法:

  1. 第一阶段: 基础交易隐私
  2. 第二阶段: 隐私ERC-20和ERC-721交易
  3. 第三阶段: 隐私智能合约和执行
  4. 第四阶段: 协议级隐私集成与排序
  5. 第五阶段: 量子抗性隐私与最终确认

说明 首先进行隐私ERC-20/721交易可能降低协议风险,但第一阶段基础的: (1) ETH是基础资产——如果ETH仍然是公开的,私密ERC-20/721交易仍然暴露链接;(2) 从ETH开始可以促进更广泛的隐私采纳;(3) ETH隐私为可以组合的私密资产奠定了基础。尽管如此,如果隐私代币的需求更为迫切,优先级是灵活的。

第一阶段:基础交易隐私

第一步是屏蔽本地ETH交易并在确认上链之前保护用户活动。这涉及到重新思考以太坊的交易模型,同时确保执行隐私和内存池隐私。

1. 机密(Confidential)ETH交易

  • 重新思考交易格式: 引入支持隐私的新的交易结构。交易应模糊发送者、接收者和金额,同时保持与以太坊验证的兼容性。诸如EIP-7503WormholeTxType)这样的提案为通用化提供了潜在基础。
  • 零知识证明(ZKPs): 利用zk-SNARKs来验证交易而不揭露输入,维护以太坊的安全性,同时启用隐私(例如,证明充足资金而不透露余额)。
  • 封闭的金额和地址: 采用加密承诺,例如Pedersen承诺,来加密交易值。实施本地隐蔽地址(在基于EIP-5564的基础上发展)来生成一次性接收地址,从而破坏区块链分析。
  • Mana(又称Gas费[2])隐私: 混淆mana使用模式,即使对于机密交易,也可能泄露信息。探索诸如_随机费用结构_或_虚假mana消耗_等技术。
  • 无缝集成: 确保以太坊客户端(例如,Geth)可以有效验证必要的零知识证明。利用账户抽象 (EIP-4337) 允许智能合约钱包为用户自动管理隐私功能。
  • 效率考虑: 零知识电路必须非常高效以适应实际应用 (证明时间,证明大小,验证成本)。同时,必须保持强大的可审核性和可验证性,以便进行独立检查、形式分析以及与发展中的协议标准兼容。这些电路必须有效地证明所有权、余额一致性和交易有效性,在严格的密码学健壮性保证下。像ZoKratessnarkjsCircom等工具为构建这样的系统提供了基础。总的目标是在不危及信任假设或协议透明度的情况下,尽可能减少用户摩擦和性能开销。

2. 加密内存池

  • 阈值加密: 当交易在内存池中传播时,交易应保持加密状态。一个阈值方案可以确保只有在区块包含时才会发生解密,通过验证者共识来防止单点故障或审查。
  • 通过加密减轻MEV影响: 在接近执行之前保持交易细节加密,显著阻碍常见类型的MEV,如抢跑和三明治攻击。
  • 早期提交-揭示机制: 探索密码学提交-揭示方案,在不透露细节直至包含时,交易提交到其行为,从而减少验证者的重新排序牟利能力。
  • 借鉴现有研究: 基于Shutter Network加密内存池概念进行构建。

3. 早期MEV保护与网络隐私

  • 增强提议者-构建者分离(PBS): 实施具有_隐私增强_中继的PBS设计,比初始版本提供更强的机密性保障(例如,Flashbots Protect)。
  • 网络级别匿名性: 集成或鼓励网络协议,如Dandelion++,以掩盖点对点层面上的交易来源,减轻IP地址追踪和审查。考虑与像Nym这样的混合网结合,以获得更强的保障。
  • 诱饵流量与混合机制: 探索钱包级别策略,如发送_诱饵交易_或参与_背景混合_以进一步模糊真实用户活动模式。

4. 用户体验与钱包集成

  • 隐形隐私默认设置: 隐私功能应在钱包可行的情况下默认启用。用户无需成为密码学专家即可受益。钱包必须_自动_处理隐蔽地址生成、加密和证明生成。
  • 无缝用户入门: 通过Snaps、SDK或本地集成将隐私工具集成到流行现有钱包中(例如MetaMask、Rabby),而不是强迫用户使用小众隐私专属钱包。
  • 用户友好的恢复机制: 开发安全且实用的恢复机制,针对私密账户/密钥,探索如适应隐私背景的社交恢复等选项。
  • 教育: 清晰地向用户和开发者传达隐私功能的好处和运作(在高层次上),以促进理解和采用。

第一阶段重新思考以太坊的交易模型,以达到初步隐私层。 如果内存池和网络层泄露元数据,仅仅隐藏链上细节是不够的。通过结合机密交易、初步内存池加密、基本MEV抵抗和网络匿名性——加上重要的用户体验改进——第一阶段为端到端隐私奠定基础。

第二阶段:隐私ERC-20和ERC-721交易

随着基础ETH隐私的推进,下一步是将隐私保证扩展到代币转账。这一阶段确保同质化(ERC-20)和非同质化(ERC-721)资产获得机密性,保护用户的余额、转账和所有权元数据。重要的是,这不仅是自然而然的扩展——这对ETH隐私的成功至关重要。如果没有广泛使用的代币的隐私保护等效体(例如WETH),应用程序和交易所可能会默认仅接受公共资产,从而削弱了端到端隐私的更广泛目标。

1. 机密ERC-20交易

  • 制定一个标准(即通过EIP)用于私密同质代币转账,可能扩展来自以前提案,如ERC-1724的概念,但使用现代的zk-SNARK构建(例如PlonKHalo2)利用可重复性和承诺提高效率和安全性。该标准应提供现有代币的迁移路径,使其无缝选择进入隐私池,同时保持流动性及确保隐私。
  • 实施类似于Zcash的Sapling的机密资产转移,使用可重复性来防止双重支出,并使用加密承诺来隐藏金额,确保交易不可链接。
  • 标准化承诺方案和高效的范围证明(使用诸如PlonK或[Halo2](https://zcash.github.io/halo2)中的构造)来改进对代币金额的验证效率
  • 鼓励开发践行隐蔽池的大型、发展中的隐私集(目标最初超过10,000个用户),以提供有意义的匿名性保障。

2. 隐蔽NFT所有权和转移

  • 设计一个标准(即通过EIP)用于保护ERC-721转移的隐私,隐藏所有权链接和交易历史,允许NFT被持有和隐秘转移。该标准应提供现有NFT的无缝迁移路径,使其能够选择加入隐私池或盾牌,保持流动性同时确保隐私。
  • 利用零知识证明验证NFT的所有权或属性,而不公开揭露所有者的身份。
  • 探索基于Merkle的所有权注册,用户可以通过zk证明证明其所有权,类似于Zcash的note承诺树,确保隐私但可验证的所有权。

3. Layer 2隐私增强

  • 在滚动中标准化私密状态转换,或通过类似于zkInterface的通用接口,使得跨层隐私保证一致升级。
  • 在zk卷上推广对机密交易的原生支持,利用隐私保护有效性证明实现可扩展而高效的私密转移。
  • 通过标准化的SNARK友好哈希函数和承诺方案,启用私密跨卷转账。
  • 在L1和L2之间以及不同L2之间设计隐私保护的桥梁,可能采用可行的共享匿名集合模型。
  • 确保Layer 2方案能够在成本效益上利用以太坊的逐步数据可用性层(如EIP-4844的blobs)发布进行私密状态证明所需数据。

第二阶段基于第一阶段,将隐私从本地ETH交易扩展到所有代币化资产。通过机密ERC-20转账、隐蔽NFT所有权和隐私驱动的Layer 2标准,该阶段旨在实现以太坊及其扩展生态系统的全面代币隐私。

第三阶段:隐私智能合约和执行

随着交易和代币隐私的建立,下一步关键是实现私密计算。这一阶段专注于允许智能合约在保密的情况下执行,保护敏感输入和状态同时保持可验证性。

1. 机密智能合约执行

  • 引入执行环境,其中合约逻辑执行和状态更新对外部保持私密,但可以向网络证明其正确性。
  • 探索中期解决方案,例如零知识虚拟机(zkVM),可以证明特定计算的执行,可能使用避开功信任硬件假设的系统,如RISC Zero
  • 开发长期全zkEVM的实现,基于AztecPolygon zkEVMScrollZKsync等项目的工作,旨在实现任意智能合约的普遍隐私。
  • 确保机制少数私密状态更新和合同或用户与合约之间的机密互动。

2. 智能合约逻辑隐私

  • 探索技术以模糊[3]合约字节码或使用加密方法来防止对手出示合约逻辑的简单逆向工程。
  • 利用加密承诺和零知识证明,使用户或系统能够根据特定(但隐藏的)合约逻辑验证_正确_的执行。
  • 开发基于zkSNARK的合约验证方法,其中证明证明合约运行正确,而无需揭示执行过程或中间状态。
  • 促进标准化库(类似于OpenZeppelin Contracts),用于通用DeFi原语(如交易、借贷等)的内置、经过审计的隐私保护实例。
  • 根据为ZKP设计的语言(例如NoirLeo)模型隐私保护合约开发框架,以简化开发。

3. 隐私预编译

说明

我对建议新的预编译持矛盾态度。一方面,为深度隐私所需密码操作(特别是像ZKP验证这样的东西)的mana成本确实是L1上的巨大障碍,而预编译是提高效率的最直接解决方案。另一方面,我完全支持简化以太坊核心协议的工作,例如The Purge,而添加更多预编译与此精神相悖。我希望我们能够找到明智的方法来解决这个问题,可能会通过未来EVM的改进或将解决方案主要架构在Layer 2上实现,但目前尚不清楚在不具备部分L1支持的情况下,如何达到所需性能。

  • 引入EVM预编译,以验证常见的zk-SNARK方案(例如Groth16PlonKHalo2),以显著降低链上证明验证的mana成本。
  • 考虑添加预编译,用于基本全同态加密(FHE)操作或安全多方计算(MPC)原语(受到类似MPyC的库启发)以启用不同形式的协作机密计算。
  • 确保这些预编译是经过审查的、安全的密码操作的mana优化实现。

第三阶段确保以太坊的可编程性延伸至私密域。 通过启用机密执行,保护合约逻辑,并通过预编译提供高效的密码原语,该阶段为一个丰富的私密应用和DeFi生态系统奠定了基础,而不影响安全性或可组合性。

第四阶段:协议级隐私集成与排序

在这一阶段,隐私从应用层或可选特性转变为以太坊协议设计的核心方面。隐私机制在可行的情况下成为默认设置,以信任为基础,并在共识和执行层面深入嵌入,包括交易排序的方式。

1. 协议原生隐蔽池

  • 将隐蔽池功能直接集成到协议中,允许用户将资产移动到以太坊自身管理的完全机密状态中。
  • 利用增量Merkle树等高效数据结构跟踪已提交值而不公开,优化协议级性能。
  • 在协议逻辑中直接实施稳健的基于可重复性防止双重支出,借鉴成熟系统如Tornado Cash实施Zcash
  • 探索由协议管理的跨资产或特定目的的隐蔽池设计,以最大化匿名集和可用性。

2. 私密跨层操作

  • 建立标准化、安全且隐私保护的桥梁协议,在以太坊L1与Layer 2解决方案之间,可能利用零知识证明验证状态转换而无需披露用户数据。
  • 实施层间的保密存款和取款机制,以掩盖参与转移的L1和L2地址之间的关联。
  • 利用标准化的ZKP格式进行跨层状态证明,以确保互操作性和安全性。
  • 寻求实现各层之间统一或共享的匿名集合模型,以防用户隐私分散。

3. 私密与公正的顺序流

  • 基于早期的加密内存池工作(第一阶段)构建强大的协议级解决方案,以实现私密事务排序。这包括_封闭竞标拍卖_用于区块空间,可能使用阈值加密或提交-揭示方案,确保提议者无法基于完整交易内容进行前置操作或夹击。
  • 集成公正排序协议,可能基于可验证延迟函数(VDFs)或其他密码学抽签技术,防止提议者审查或恶意重新排序。
  • 设计和实施密码经济机制(例如,惩罚条件),以强烈打击验证者或构建者破坏隐私或公正保证的行为。
  • 进一步完善提交-揭示方案,结合阈值解密,确保交易内容仅在执行前或排序确认后立即揭示。

第四阶段巩固以太坊的隐私以协议原生形式存在,而不仅仅是应用层特性。 通过深度集成的隐蔽池、安全的私密跨层操作和强大的私密、公正排序机制,以太坊以默认状态转向至少是隐私优先的执行环境,同时保持可扩展性和去中心化。

说明

为澄清各阶段的内容:第一阶段关注将单独ETH交易隐私化,并提供初步内存池/MEV保护。第四阶段将隐私提升至核心协议功能,使其集成原生隐蔽池等功能,制定标准化的私密跨层操作,以及强大的协议级私密与公正交易排序机制(先进的MEV抵抗)。简而言之:第一阶段 = 私密ETH交易和初步保护;第四阶段 = 协议原生层的私密执行环境与健全的排序机制。

第五阶段:量子抗性隐私与最终确认

提示

本节聚焦于后量子隐私。有关使整个以太坊协议量子抗性的总体技术任务的更广泛概述,请参见此处讨论

随着量子计算能力的提升,以太坊的密码学基础——特别是支撑隐私的那些基础——必须得到未来保障。这一阶段专注于迁移到后量子密码原语、实施完全隐私的zkVM,以及进行最终优化以确保长期健壮性。

1. 后量子密码学迁移

  • 计划并执行从当前的椭圆曲线密码学(ECDSA签名,SNARKs中的配对)向量子抗性替代理论的过渡。对于签名,考虑使用NIST标准,如CRYSTALS-DilithiumSPHINCS+
  • 设计分阶段的迁移策略,允许遗留和抗量子账户/合约并存,以最小化干扰。账户抽象可促进此过程。
  • 实施量子抗性签名聚合方案,以管理后量子签名的潜在较大尺寸。
  • 用量子抗的构造替换可能漏洞的zk-SNARK系统(尤其是那些依赖配对或离散日志的系统),例如基于晶格或安全哈希(如zk-STARKs)。
  • 为现有应用和隐私解决方案(如Layer 2)提供明确的迁移路径和工具以采用后量子密码学。

2. 完整zkVM实现

  • 开发并集成通用zkVM,能够私密证明任意EVM/智能合约逻辑的正确执行。这意味着状态转换_与_执行逻辑对公共网络保持机密。基于不断成熟的研究和项目如Risc0Polygon Miden和探索STARK基础或类似量子抗性ZKP证明系统的其他项目进行构建。
  • 确保zkVM利用量子抗性证明系统(如zk-STARKs)提供Transparency(无信任设置)作为附加好处。
  • 针对EVM操作码和常见智能合约模式优化ZK电路生成与证明,以竞争性的证明生成时间为目标(例如,理想情况下常规交易证明生成时间少于5秒)。
  • 创建成熟的开发工具和高层次语言(基于Noir等营销理念),专门为zkVM的隐私优先智能合约开发设计。

3. 隐私强化与优化

  • 实施对现存(量子迁移前)证明系统如PlonKHalo2的前沿优化(例如,递归、聚合技术如Nova)以最小化证明大小和链上验证成本。
  • 持续优化基于STARK的证明系统,以提高证明大小和验证效率,使其与SNARK保持竞争力。
  • 鼓励对核心密码操作(包括量子前和量子后)开发和标准化硬件加速(FPGA/ASIC),以减少用户和证明者的证明时间。
  • 通过EIP流程进一步优化与隐私相关的操作的mana成本,确保私密交易在经济上保持可行。
  • 开发针对所有集成到以太坊中隐私协议的综合测试套件、形式验证方法以及持续审计。

第五阶段确保以太坊的隐私栈在后量子世界中长久保持安全和高效。 通过迁移关键密码学、启用完全私密的通用智能合约执行和不断优化性能,以太坊可以维持稳固的隐私保障,同时在未来维持可扩展性与安全性。

前行的道路

隐私不是可选的;它是自我主权和数字自由的支柱。实现这一愿景需要开发者、研究人员、密码学家和更广泛的以太坊社区的共同努力。

这里概述的路线图提供了一种按阶段、以技术为基础的方法,利用现有研究并提出未来方向。然而,实现这一愿景需要的不仅仅是技术突破;还需要仔细考虑这种对隐私的重大关注如何与以太坊持续发展的路线图和治理过程集成

一个关键的讨论点是,这一隐私优先方向如何与The MergeThe SurgeThe ScourgeThe VergeThe PurgeThe Splurge等现有优先事项保持一致。 采用这一新的关注重点是否意味着重新审视当前路线图,以提升隐私?还是可以作为独立,有平行开发轨道,类似新“隐私支柱”的构想,与核心发展结构的发展想法相结合(例如,社区内部讨论的更并行类型的工作流的概念,如Tim Beiko有关重新构建所有核心开发者的帖子)?

此外,这一工作的规模与专业化特性可能需要专门的协调努力。是否需要类似强大的激励组(RIG)的有针对性的工作组,或构建为独立主动入侵的方式,来有效推动研究、规范和实施阶段?借鉴不直接聚焦于隐私的ZK团队,例如0xPARCPSE,求得对如何专业化的努力构建以实现最大的效果提供有价值的见解。解决这些组织和程序性问题对于将技术愿景转变为现实至关重要。

在这一隐私关注的集成上——无论是通过优先排序、平行轨道、专门小组还是其他途径——最佳道路留作开放性问题,是这条路线图的显著特点。寻求答案需要在更广泛的以太坊社区中进行充分讨论和共识构建。

最终,无论这份路线图是否代表优先次序的重新调整,一项新的平行努力,亦或是对治理本身的催化,其执行路径需要广泛的社区讨论和共识。虽然具体的协议变更将通过已建立的EIP流程进行,但这一隐私关注的战略集成需要在各个层面获得买入与严格审查。有关可用性、与透明世界的互操作性及用户教育的挑战必须与这些治理考量并行处理。

通过共同的承诺——无论是技术上,还是程序上——隐私可以(且必须)成为以太坊的DNA的一部分。构建这个未来的时间,以及确定我们如何联合构建,现在就已到来。

让我们再次让以太坊成为科幻朋克!


  1. 请视为这份清单并未完整。 ↩︎

  2. EIP-6789↩︎

  3. 有关加密混淆的介绍,见此处此处。最近的作品见此处此处。对于以太坊的用例,请参见,例如,这篇文章↩︎

  • 原文链接: hackmd.io/@pcaversaccio/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
pcaversaccio
pcaversaccio
江湖只有他的大名,没有他的介绍。