以太坊研究人员正在推进一项加密内存池 EIP 提案,该提案将加强协议对 MEV 相关滥用的抵抗力,同时保持区块生产高效且无需许可。
新的以太坊改进提案(EIP)在协议层直接引入了一个加密的内存池。它允许用户提交加密交易,这些交易在被打包进区块之前一直处于隐藏状态,从而缓解抢先交易和三明治攻击,并提高抗审查能力。然而,此次升级并未着眼于长期隐私,因为每笔交易最终都会在链上解密并公开。
该设计明确地与加密方案无关。它支持使用阈值加密、多方计算委员会、阈值增强加密、延迟加密或基于全同态加密系统的任意解密密钥提供者。此外,传统的明文交易仍然完全受支持,即使特定密钥提供者无法提供密钥,也能保证链继续传输。
该提案建立在先前的一些举措之上,例如Shutterized Beacon Chain和部署在Gnosis Chain上的实时、协议外加密内存池。也就是说,通过将此功能移至协议内,EIP 旨在解决长期存在的 MEV 问题,并减少诸如构建者中心化等有害的次生影响。
其主要目的是保护用户免受恶意交易重排序的侵害,包括抢先交易和夹层交易。通过暂时隐藏区块构建者和其他市场参与者的信息,该机制还旨在提高协议的实时(或所谓的“弱”)抗审查能力。此外,它还旨在通过限制区块构建者在区块构建过程中对用户意图的可见性,降低其面临的监管风险。
EIP并非传统意义上的隐私升级,而是作为MEV漏洞缓解和公平层,确保用户交易在关键的预包含窗口期内不会被利用。其设计与既定的提案者-构建者分离机制(ePBS)完美契合,是以太坊长期发展路线图的合理延伸。
在执行层,该方案部署了一个密钥提供者注册合约。任何账户都可以注册成为密钥提供者并获得一个唯一的ID。注册需要指定一个合约,该合约包含解密函数和密钥验证函数,每个函数都接受以字节字符串形式提供的密钥ID和密钥消息。此外,密钥提供者还可以将其他提供者指定为直接受信任的提供者,从而形成一个有向信任图。
在此模型下,密钥提供者 A 被认为信任提供者 B,当且仅当图中存在从 A 到 B 的有向路径。信标链镜像注册表的状态,其机制类似于当前信标链存款的处理方式。这确保了执行层和共识层对已注册的密钥提供者拥有一致的认知。
注册过程明确地保持技术中立,最大限度地降低了准入门槛,并允许用户选择偏好的方案。然而,许多高级加密系统在EVM中表达效率低下,需要专门的预编译程序。策略制定者和实施者指出,此类预编译程序不在本EIP的范围内。
EIP引入了一种新的加密交易类型,它由两个部分组成:信封和加密有效载荷。信封指定了信封随机数、gas 值、gas 价格参数、密钥提供者 ID、密钥 ID 和信封签名。加密有效载荷包含其自身的有效载荷随机数、值、调用数据和有效载荷签名,这些要素共同构成了实际的交易逻辑。
在一个有效的区块中,协议强制执行严格的顺序规则。任何使用提供商 A 的密钥加密的交易,只能被明文交易、使用提供商 A 的密钥加密的交易,或使用 A 信任的提供商的密钥加密的交易所取代。这种顺序将加密交易与信任图绑定,从而通过用户选择的提供商间接反映了用户的偏好。
这种结构有效地将每个区块分为两部分:明文段和加密段。构建者可以完全模拟明文段,并应用现有的区块构建和MEV策略。此外,他们还可以将加密交易附加到区块末尾,而无需付出显著的机会成本,从而在PBS拍卖中保持竞争力。
在执行有效载荷处理过程中,一旦所有明文交易处理完毕,加密交易的信封就会批量执行。这会更新信封签名者的随机数,并从相应的账户收取 gas 费用。该费用用于支付信封、解密有效载荷和解密密钥所占用的区块空间,以及与解密和密钥验证相关的计算成本。
随后,协议尝试使用相关密钥提供者指定的解密函数解密每个有效载荷。如果解密成功,则执行生成的有效载荷交易,其执行量受信封的 gas 限制和整个区块 gas 限制的约束。但是,如果解密或执行失败,或者解密密钥被证实缺失,则协议会直接跳过该交易,而不会回滚已执行的信封。
为了简化操作,选择将签名包含在加密有效载荷中。一种隐私性稍差但效率更高的方法是将信封签名者视为有效载荷的最终发送者。尽管如此,当前的设计优先考虑灵活性,并力求将信封元数据与底层交易逻辑清晰地分离。
在每个时隙中,密钥提供者一旦看到构建者发布的执行有效载荷,就会收集所有发给它的信封中引用的密钥 ID。对于每个这样的密钥 ID,提供者必须发布相应的解密密钥或密钥保留通知。解密密钥消息引用相关的信标块哈希值,以防止在未来的时隙中出现重放攻击。提供者可以立即发布,也可以延迟发布到同一时隙的稍后时间。
有效载荷及时性委员会 (PTC)的成员需要监听所有此类解密密钥。然后,他们使用注册表中定义的验证函数验证每个密钥,但每个密钥的 gas 消耗量必须受到硬编码的限制。最后,PTC 通过包含专用位域的扩展有效载荷证明消息,确认每个加密交易是否存在有效的解密密钥。
该机制为密钥提供者引入了额外的加密问责层。此外,它还创建了可供链下监控或自定义惩罚方案使用的协议内数据,使市场能够奖励可靠的提供者并惩罚表现不佳的提供者。
用户必须信任其选择的密钥提供商,不会过早或过晚地发布解密密钥,否则用户将面临经典的MEV攻击,导致交易失败却仍需支付信封费用。提供商可以通过加密保证(例如阈值加密)、硬件保护、经济惩罚(例如罚没)或基于治理的声誉机制来建立这种信任。
在较小程度上,用户还必须信任区块中出现在其交易之前的加密交易所使用的所有密钥提供者。这些提供者可以在观察到后续交易的密钥后,决定发布或保留密钥,从而对后续交易的初始状态产生一定程度的影响。恶意设计的“解密”方案可能会利用这一点来操纵解密状态的特定部分,并执行更强大的抢先交易绕过机制。
重要的是,用户无需信任在其交易之后添加的任何加密交易所使用的密钥提供者,因为后续的有效载荷不会影响其自身交易的初始状态。同样,提交明文交易的用户也无需信任密钥提供者,但他们仍然依赖于构建者的诚信行为。
由于解密密钥在底层加密交易最终完成之前发布,链重组可能导致某些交易即使最终未被纳入链中也公开。然而,解密密钥消息会引用信标区块哈希值,使得验证功能能够在底层区块不属于规范链时使密钥失效。这可以防止有效载荷的执行,并限制抢先交易的机会。
另一种风险涉及攻击者利用共享密钥 ID。当用户使用特定密钥 ID 进行加密时,攻击者可以监视正在进行的交易,并使用相同的密钥提供者和密钥 ID 构造另一个加密交易。如果第二个交易先到达,不知情的密钥提供者可能会泄露密钥,从而无意中暴露原始交易。这是一种解密密钥隐瞒攻击。
密钥提供商可以通过对密钥 ID 进行“命名空间”处理来缓解此类情况。例如,他们可以只发布密钥 ID 以信封签名者的地址为前缀的密钥,而保留所有其他密钥。由于攻击者通常无法控制受害者的签名帐户,因此他们无法使用正确命名空间的密钥 ID 生成有效的交易,从而保护了原始用户的保密窗口。
当前的EIP协议刻意避免在协议内定义密钥提供者的奖励或惩罚机制。相反,它为链下开发多样化的激励模型留出了空间。密钥提供者可以按交易向用户收费,与构建者签订定制协议,甚至可以作为公共产品运营,并可能获得外部资金支持。此外,提供者还可以自愿采用针对无正当理由扣留密钥的惩罚规则,以提升自身的信誉度。
潜在的串谋途径涉及密钥提供者和构建者。要构建一个新区块,构建者必须了解前一个区块的完整状态,包括哪些密钥已公开或未公开。虽然这些信息会在 PTC 认证广播后公开,但恶意提供者可以提前私下告知其支持的构建者,使其在区块构建过程中获得一定的先机。
这种串谋的影响被认为是有限的。PTC 认证和时隙结束之间的时间间隔通常足够长,足以进行竞争性区块构建,而关键时刻仍然在时隙接近尾声时,此时完整的交易集已知。此外,延迟发布密钥以偏袒某个构建者可能会导致错过 PTC 认证,从而抵消任何优势。如果只有少数加密交易依赖于串谋的提供者,那么无需完全解密即可近似表示状态的乐观策略也可以减轻这种影响。
作者概述了一种可能的未来演进方案:构建者使用相同的密钥提供者来加密整个执行有效载荷。这将允许构建者在构建完成后立即发布有效载荷,而无需等到大约 50% 的区块进度。这种改变可以提高点对点通信效率,并减少因崩溃导致的区块进度丢失,尤其是在结合零知识证明来验证区块中使用的密钥时。
在这种情况下,附加零知识证明将允许解密窗口更早开始并持续更长时间,从而为密钥提供者提供更大的灵活性。然而,为了避免使当前设计过于复杂,此功能被明确地留给未来的EIP(扩展改进提案)。目前的提案仍然对执行层和共识层引入了向后不兼容的更改,因为它修改了交易类型、区块结构以及有效载荷及时性委员会认证规则。
总体而言,加密内存池 EIP 提案代表着在协议级 MEV 缓解方面迈出了重要一步,与以太坊长期以来推动的强大的提案者-构建者分离 (EPBS) 和更公平的交易排序密切相关。
加密内存池旨在将加密交易信封执行、密钥提供者协调和结构化解密嵌入到以太坊核心协议中。这样做可以增强用户对 MEV 的保护,提高抗审查能力,并为未来的升级(例如完整的执行有效载荷加密)打开大门,同时保留用户和构建者的选择权。