恶意MEV(矿工可提取价值)问题已在以太坊网络上困扰多年。交易者遭受夹击,NFT铸造被抢先交易,交易面临实时审查。这些问题的根源在于,用户的交易在被打包进区块之前,默认会以明文形式暴露在公共内存池中,为机器人和区块构建者提供了利用的机会。而当前复杂且去中心化程度不一的链下交易供应链,并未彻底解决核心问题,反而引入了更多的中心化参与者和审查风险。
如今,为解决这一问题迈出了关键一步。Shutter及其合作者发布了通用嵌入式加密内存池EIP(以太坊改进提案)的首个草案。
该提案旨在为以太坊建立一个原生的加密内存池,在链上确定交易的最终排序之前,对所有参与者隐藏用户的交易内容。当无人能预知用户的交易意图时,最具危害性的MEV形式将不复存在。
此EIP是多年研究及加密内存池实际部署的成果与延伸。其设计天然契合以太坊的ePBS(以太坊提议者-构建者分离)路线图,推动以太坊迈向一个未来:每个用户都能默认获得保护,而无需依赖特殊钱包或自定义RPC端点。
提案纳入 Heka/Bogotá 升级
该EIP正被提议纳入以太坊即将到来的Heka/Bogotá升级。我们诚挚邀请以太坊社区对提案进行审查、提出质疑、共同改进并广泛传播。
快速链接:
- 在 Ethresearch 上查看 EIP 并贡献反馈
- 查看 EIP(审核中)
- 支持将 EIP 纳入 Heka/Bogotá
EIP 核心机制概览
通用嵌入式加密内存池EIP从根本上改变了以太坊处理待执行交易的方式。用户可以选择以加密形式提交交易,而非在公共内存池中公开其内容,直至交易已被链上包含并完成排序。
EIP通过引入以下三个主要部分来实现这一目标:
1. 新型加密交易类型
以太坊将支持一种原生的交易格式,该格式能够隐藏用户的调用数据(calldata)和交易意图,直到区块排序最终确定。每笔加密交易包含两部分:
- 信封(Envelope):对所有人可见,用于预先支付Gas费用,包含Gas参数和用户选择的密钥提供者信息。
- 加密负载(Encrypted Payload):在正确的解密密钥发布之前处于隐藏状态。
区块构建者正常包含“信封”部分。一旦正确的解密密钥到达,链上机制将安全地解密并执行“负载”部分。这通过消除攻击者所依赖的早期交易可见性,从根本上防御了恶意MEV。
2. 技术无关的密钥提供者注册表
以太坊将引入一个简单的链上注册表,任何实体均可注册成为密钥提供者。密钥提供者的职责是在排序确定后,提供用于解锁加密交易的解密密钥。
该注册表完全与技术无关,支持阈值加密(Threshold Encryption)、多方计算(MPC)、可信执行环境(TEE)、延迟方案(Delay Schemes)、全同态加密(FHE)以及未来的新型密码学方案。协议本身不指定单一的密码学系统,而是创建一个中立的框架,鼓励技术竞争与迭代进化。
这意味着加密内存池不受Shutter或任何一个单一团队的控制。任何提供者,包括Nillion、Zama、Aztec等,都可以参与并为生态做出贡献。对于希望深入理解此类链上密码学应用与智能合约开发的开发者而言,这提供了丰富的学习场景。
3. 高效的链上解密密钥发布机制
加密交易只有在解密密钥被公开后才能执行。若密钥发布延迟,将阻碍区块的继续执行。
为避免此情况,EIP引入了一种受ePBS启发的快速子槽(sub-slot)机制。它允许在下一个区块产生前,于链上收集并记录解密密钥,从而确保加密交易的实用性并维持区块生产的流畅性。
关键在于,明文交易依然得到完全支持。 该设计避免了对现有应用的破坏,在保持区块生产稳定性的同时,为选择加密的用户增添了强有力的保护。
以太坊为何需要原生加密内存池?
1. 根除恶意MEV
自2020年以来,超过18亿美元的价值通过MEV从以太坊用户处被提取,其中大部分源自抢先交易和三明治攻击等恶意策略。加密内存池将交易内容隐藏至排序确定,消除了攻击者赖以生存的可见性。
2. 推动保护成为默认选项
当前,用户必须主动寻找受保护的DEX、使用特殊钱包或配置自定义RPC才能获得针对恶意MEV的保护。这导致保护措施是碎片化的,尤其对新用户极不友好。原生加密内存池推动以太坊迈向一个未来:用户默认即可获得针对抢先交易、三明治攻击和实时审查的保护,无需依赖特殊工具。
短期内,此EIP能使钱包为其用户提供此类保护,而无需依赖专有基础设施或引入额外风险的可信中介。
3. 区分良性与有害MEV
并非所有MEV都是有害的。加密内存池主要防止抢先交易和三明治攻击(通常被视为有害MEV),同时仍允许套利、清算和后端运行(Backrunning)等被认为对网络健康有益的MEV形式存在。
4. 摒弃对私有中介的信任
私有内存池(通常通过自定义RPC使用)是目前用户保护自己免受恶意MEV侵害的流行方式。但它们依然依赖于一小群能够看到你交易内容的运营商,用户必须信任他们不会实施攻击。这种可见性构成了单点故障风险。
相比之下,加密内存池对所有人隐藏交易。在交易被确认之前,任何运营商、合作伙伴、未来的排序器或基础设施提供商都无法窥探交易内容。这是吸引重要流动性、意图系统和机构用户所需的可靠中立性。
5. 降低构建者中心化风险
目前,大多数以太坊区块由少数高性能构建者生产,他们能够提前访问交易内容。这种中心化削弱了以太坊的抗审查保证。加密内存池作为一种对策,使用户可以向构建者隐藏交易内容,从而增加审查的难度。
6. 面向未来且技术中立
此EIP支持多种加密方法,包括阈值加密、MPC、TEE、FHE及未来可能出现的方案。新技术可以随时间推移而被添加,无需对链进行硬分叉或改变用户与以太坊的交互方式。这使得生态系统保持灵活,并鼓励更多开发者参与。例如,对全同态加密(FHE)等前沿密码学的支持,为隐私计算开启了新的可能性。
7. 与FOCIL和ePBS协同增强抗审查性
随着FOCIL和ePBS被纳入以太坊路线图,加密内存池可以与它们协同工作,构成强大的三层防御体系,共同保障交易被及时包含,且不被过滤或延迟。
实现基础与社区贡献
此EIP建立在多年的研究与实践部署之上:
- Gnosis Chain上的运行实例:一个已处理数千笔加密交易的内存池,得到了Nethermind和Erigon验证者的支持,证明了该模型在生产环境中的有效性。
- Shutterized信标链研究:证明了加密排序如何安全地与以太坊共识机制集成。
- Sepolia OP Stack测试网部署:验证了在L2环境中的加密流程可行性。
- 与Primev的概念验证(即将进行):旨在将加密排序引入以太坊的链下交易供应链(PBS)。
- 社区路线图:此前与Gnosis、Nethermind、Chainbound和MEV Blocker等合作伙伴共同发布的路线图,概述了将加密内存池引入以太坊的路径。
该设计也融入了社区贡献者的思想与研究,包括Marc Harvey Hill、Martin Köppelmann、Julian Ma、Anders Elowson、Sebastian Faust等众多致力于加密排序、缓解恶意MEV和增强审查抵抗力的研究者与开发者。这些努力共同证明了加密内存池的实用性、可靠性及其融入以太坊核心的成熟度。
如何参与贡献?
该EIP正被提议纳入以太坊即将到来的Heka/Bogotá升级。我们邀请以太坊社区:
- 在 Ethresearch 上查看 EIP 并贡献反馈
- 查看 EIP(正在上传)
- 支持将 EIP 纳入 Heka/Bogota
常见问题解答(FAQ)
1. 这个 EIP 解决了什么问题?
它通过隐藏交易内容直至区块被包含,来防止抢先交易和三明治攻击,同时提升实时抗审查能力。
2. 这个 EIP 提供长期隐私吗?
不。交易在包含后会被解密并公开。其主要目标是保护排序过程的隐私,而非提供长期的交易保密性。
3. 加密交易在区块中如何放置?
它们被放置在区块末尾的所有明文交易之后。这允许进行正常的区块模拟,并确保费用在解密前通过“信封”支付。
4. 加密交易由哪些部分组成?
- 信封(明文):Gas参数、Nonce、密钥提供商ID、密钥ID、信封签名、费用支付。
- 加密负载:接收者地址、Calldata、转账金额(Value)、负载签名。
执行顺序为:1) 明文交易 → 2) 信封 → 3) 解密后的负载。
5. 解密前会泄漏哪些元数据?
可见:Gas参数、Nonce、信封签名者、密钥提供商ID和密钥ID、近似交易大小。
隐藏:Calldata、接收者地址、转账金额、负载签名者。
根据交易发布方式(如,发布到的RPC提供商IP地址),可能泄漏其他网络级元数据。
6. 对交易延迟有何影响?
- 明文交易:延迟保持不变。
- 加密交易:若密钥按时到达,执行发生在同一区块内,密钥发布及PTC证明的开销<1个槽(slot)。
7. 协议如何确保加密交易为区块空间付费?
“信封”部分会预先支付全部费用,并在解密前执行。即使“负载”执行失败或密钥丢失,“信封”已支付的费用也不会退回。
8. 如何防止无效加密交易浪费区块空间?
“信封”优先执行的机制确保了无论解密成功与否,费用都会被收取,从而保护了构建者和协议。尽管如此,区块空间仍可能被无效负载占用,但这种情况与当前常规无效交易的处理类似。
9. 构建者有何动机包含加密交易?
构建者可以获得:
- 有保证的“信封”费用;
- 解密/验证成本的费用补偿。
此外,构建者和密钥提供商可以达成链下补偿协议。加密交易出现在明文交易之后,保留了MEV策略空间。协议规则使得包含加密交易具有竞争力。
10. 如何处理由加密交易引起的回溯MEV(Back-run MEV)?谁捕获它?
加密交易引起的回溯机会仅在解密后对下一个区块的构建者可见。因此,是下一个区块的构建者捕获回溯MEV,而非当前区块的构建者。
11. 如何确保解密按时发生?
- 密钥提供商发布解密密钥或保留通知。
- 有效负载及时性委员会(PTC)验证并证明这些密钥。
如果密钥丢失或无效,则跳过加密负载的执行,但“信封”部分依然有效。
12. 如果密钥提供商失败或作恶怎么办?
风险由用户承担。被跳过的负载已通过“信封”支付费用,不可靠的提供商将失去市场份额。可选择在链下构建可选的惩罚(Slashing)或基于信誉的激励层。不明确或隐含信任特定密钥提供商的构建者或用户不受影响。
13. 如何注册和信任密钥提供商?
任何实体都可以注册为密钥提供商,并自定义:
- 解密函数
- 密钥验证函数
信任图(Trust Graph) 机制允许密钥提供商指定哪些其他提供商的交易可以先于自己的交易执行,从而在尊重用户信任假设的同时防止垄断。
14. 协议如何防止密钥ID被抢先交易?
提供商可以使用命名空间的密钥ID(例如,在密钥ID前附加发送者地址)。攻击者在无法访问发送者私钥的情况下,无法伪造有效的命名空间ID。
15. 加密交易在区块链重组或预定执行时表现如何?
密钥可能在区块最终确定前发布,因此即使发生重组,负载内容也可能已公开。但密钥与特定区块哈希绑定,防止了重放攻击和抢先交易。用户还可以将加密交易预定到未来的区块中执行,以增强抗重组能力。