本文讨论了以太坊加密交易池的必要性,以解决审查、抢跑交易和构建者中心化等问题。文章提出了一种基于提议者承诺的阈值加密交易池的实用路线图,并探讨了其在改进审查抵抗、缓解恶意 MEV 和确保公平交易过程中的作用。最终目标是实现完全加密和去中心化的以太坊,所有交易都是私密的且可验证。
作者:Frederik Lührs, Luis Bezzenberger, Francesco Mosterts, Sebastian Faust, Andreas Erwig
非常感谢 Julian Ma, Drew Van der Werff, Alex Vinyas, Martin Köppelmann, Marc Harvey-Hill, Phillippe Schommers 和 Julie Bettens 对本文档的宝贵反馈,以及/或者之前在阈值加密 mempool 上的合作。
本文的完整版本可以在这里找到。
以太坊关于去中心化、公平和安全的承诺正受到审查、抢先交易和构建者中心化等问题的挑战,这使得加密 mempool 的需求比以往任何时候都更加强烈。
我们是谁:
我们是一群自2014年以来在以太坊上构建的项目和个人,致力于提升网络的隐私、去中心化和公平性。我们的贡献者包括 Shutter Network、Gnosis、MEV Blocker、Nethermind、Chainbound 等。
本文首先探讨了交易加密的总体目标、挑战和最终愿景,然后概述了一个实用的路线图,用于使用提议者承诺实现阈值加密的mempool,以便与以太坊的 PBS** 交易供应链集成。它探讨了这种方法如何提高审查抵抗性、减轻恶意 MEV,并确保公平的交易过程。
这并非一个最终方案,而是一个对话的起点。我们欢迎来自各方的反馈和贡献,特别是那些参与 PBS 供应链的参与者,包括 RPC 提供商、中继、构建者和提议者。
此外,我们计划尽可能以模块化的方式设计这种集成,从而产生一个尽可能与加密技术无关的通用 mempool 加密接口。
以太坊面临审查、抢先交易和构建者中心化等挑战,这些挑战破坏了其去中心化和公平的保证。虽然引入了 Proposer-Builder Separation (PBS) 以 保持验证者集合的去中心化,但构建者中心化仍然存在。Vitalik 在他最近的博客文章系列“ 以太坊协议的可能未来”中强调,为了解决构建者中心化的问题,我们需要将交易选择权还给提议者(验证者)。为了做到这一点,拥有加密的 mempool 至关重要,在这种 mempool 中,交易以加密形式广播,以便区块构建者无法看到详细信息,从而无法进行抢先交易或审查。加密交易只有在其在区块中的位置固定后才会被解密。然而,实现加密 mempool 引入了诸多挑战,例如强制及时解密、驾驭支持技术中的信任假设、与 PBS 集成、管理可接受的 MEV(如后运行),以及确保可验证性和问责制以检测和惩罚不当行为。
最终目标是建立一个完全加密和去中心化的以太坊,其中所有交易都是私有的但可验证的。在这个设想的系统中,全同态加密 (FHE)、多方计算 (MPC)、不可区分混淆 (iO) 和零知识证明 (ZK) 等先进的密码学技术可以实现对加密数据的可验证计算,而无需泄露任何敏感信息,从而减少攻击面。实现这一愿景将彻底改变公共区块链进行交易处理的方式,提供无与伦比的信息对称性、安全性和隐私性。虽然像 FHE 和 iO 这样的技术由于计算挑战,尚未在广泛使用中实现,但正在进行的研究正在迅速推进。与此同时,通过提议者承诺实现阈值加密的 mempool**** 可以作为实现这一最终目标的垫脚石。
人们已经提出了几种方法,并且目前正在探索这些方法以支持加密的 mempool,包括 Verifiable Delay Functions (VDF) 风格的定时密码学、FHE、可信执行环境 (TEE)、见证加密和阈值加密。不幸的是,所有这些技术都有其局限性:定时密码学需要大量的浪费性计算,并且存在时间问题;FHE 和见证加密虽然是强大的原语,但对于许多实际用例来说还不太实用(例如,Flashbots 团队调查了 FHE 在捕获后运行 MEV 方面的效率,这很好地说明了 FHE 施加的极端计算约束);TEE 容易受到侧信道攻击,并且至关重要的是需要信任硬件制造商;而阈值加密依赖于阈值信任假设,要求少于指定数量的参与方采取恶意行为。
在上述技术中,阈值加密是近期到中期内实现加密 mempool 的最具可行性的候选方案。它允许高效的解密,同时提供强大的安全性和活性保证。阈值加密的工作原理是在多个参与方之间分配公钥加密方案的解密密钥,这样就需要最少阈值的参与方合作才能解密消息。这种方法确保只要少于阈值数量的参与方受到威胁,明文和解密密钥就保持安全。
Shutter 允许加密交易,以便在区块提议者或排序者提交订单和纳入之前,它们的内容是隐藏的。这是通过阈值加密方案实现的,确保没有单个参与方可以过早地解密或操纵交易。该过程如下:
加密: 用户使用由一组节点 (Keyper) 通过分布式密钥生成 (DKG) 协议协作生成的公共加密密钥来加密他们的交易。
承诺: 区块生产者将这些加密交易包含在区块中,承诺包含它们及其顺序,而无需访问它们的内容。
解密: 一旦交易被包含在链中,Keyper 就会发布解密密钥,从而实现执行,而不会将数据暴露给潜在的抢先交易。
2022 年,我们提议将他们的阈值加密方案直接集成到以太坊的共识层中,以对抗 MEV 和抢先交易。当时,以太坊缺乏像 Proposer-Builder Separation (PBS) 这样的机制。从那时起,我们实施了 Gnosis 链上的 Shutterized 信标链,以链外版本的形式作为类似以太坊的信标链运行。通过与 Nethermind 合作,该团队成功地将阈值加密集成到链的运营中。很大一部分验证者正在参与,由 7 个 Keyper 组成的 alpha Keyper 集合正在安全地管理加密密钥。Shutter Explorer 允许用户和开发者监控实时实施,在不损害安全性的前提下提供透明度。
该实施提供了对实践挑战的宝贵见解,例如 Keyper 选择和去中心化。
此外,我们为 OPStack 链构建了一个 加密 mempool 模块,并将其部署为测试网,进一步证明了阈值加密 mempool 对于各种排序环境的可行性。
在 Gnosis 链上的成功实施以及 Shutterized OPStack 测试网证明了这种方法的可行性,并为在以太坊主网上潜在采用提供了一个蓝图。输入我们的计划和路线图来做到这一点:
提议者承诺通过使提议者能够预先承诺将特定交易纳入下一个区块,从而增强了对以太坊区块生产的信任,从而使提议者对其承诺负责。虽然最初是为预确认而开发的,但提议者承诺是启用加密 mempool 的重要工具。Commit-Boost 使用密码学证明和协议强制来形式化这一点,从而确保区块构建的透明度和公平性。
从高层次上讲,使用提议者承诺的加密 mempool 中的交易流程如下:
该承诺保证提议者会将解密的交易包含在区块的顶部,否则提议者将不对其未履行承诺的行为负责。后一种情况是通过由重新质押的抵押品支持的新的链外削减条件来强制执行的。然而,这种方法仍然存在挑战,包括承诺和解密导致延迟,以及区分网络故障与提议者的故意不当行为。
我们制定了一个在以太坊 L1 上使用提议者承诺的加密 mempool 的具体路线图。作为第一步,该解决方案是链外的,因为它承认链内解决方案的实施是一个漫长的过程。然而,以太坊的最终目标应该是链内解决方案。因此,我们的路线图的最后一步草拟了一个链内加密 mempool 的潜在解决方案。在下文中,我们将从高层次上概述我们路线图的步骤,而详细的描述可以在这里找到。
链外解决方案
第 1 步 - 集成到 RPC 中:第一步的目标是引入对加密交易发送的基础支持,同时保持与现有钱包和应用程序的兼容性。为此,我们引入了一种新的 RPC 方法 eth_sendEncryptedTransaction
,并将其集成到现有的 RPC 中,如 MEV Blocker,以允许基本的加密交易处理。
(可选)第 2 步 - 集成到中继中:此步骤将加密交易的处理集成到比前一步骤更靠下的交易供应链中,即集成到中继中。本质上,中继像以前一样从构建者那里接收区块,但将加密交易附加到区块中。然后,这些交易由 Shutter Network 解密。
第 2 步 - 提议者承诺 + 重新质押:此步骤的目标是将加密交易集成到理想情况下与 Commit-Boost 兼容的提议者承诺模型中。该解决方案利用 Shutter Network 的阈值加密方案和 Bolt 协议,以确保私有交易以安全透明的方式包含在区块的顶部。Bolt 协议致力于成为以太坊领先的提议者承诺协议,使提议者能够签署承诺(例如,消息或交易)并将其确立为外包区块构建的约束。
我们想指出的是,此步骤的架构避免了恶意的 MEV,但允许通过后运行来捕获良好的 MEV。这是因为一旦加密交易被承诺和解密,它们仍然可以被后运行。
链内解决方案:
接下来,我们将提供有关链内解决方案的更多详细信息。
谁将组成阈值委员会?
在链内加密 mempool 中,阈值委员会应该是以太坊验证者的一个子集,利用他们现有的角色和在网络中的权益来增强安全性。形成该委员会的一种方法是使用 静默阈值加密,这允许从验证者的单个公钥确定性地计算阈值委员会的联合公钥,而无需任何交互。这使得可以从验证者集合中动态和异步地选择 Keyper,从而使系统更具可扩展性和灵活性。
然而,静默阈值加密并没有解决验证者中心化的问题,即太多的 Keyper 由单个实体或一小群实体控制。为了减轻这种风险,重要的是 (1) 引入经济激励和惩罚,例如,通过要求 Keyper 质押抵押品,如果发生不当行为,可以削减抵押品(参见下面的“进一步改进”),以及 (2) 定期轮换 Keyper 集合,从验证者池中随机选择成员。
通用链内解决方案。 我们还考虑了一种更通用的方法,该方法抽象出了特定的加密机制。也就是说,只要所选机制能够及时可靠地输出解密密钥以解密交易,那么确切的技术 (无论是阈值加密、延迟加密、TEE 还是任何其他方法) 就不是重点。本质上,我们将加密机制视为一个黑盒,它接受一个输入并生成必要的解密密钥,从而允许在保持所需功能的同时实现实现的灵活性。
为了使端到端加密有效地工作,加密应该直接在用户的设备上进行。这确保了交易细节在离开用户的控制之前受到保护。
加密可以按以下方式实施:
在钱包中: 用户在提交交易之前,在其钱包应用程序中加密交易。
在 Dapp 中: 前端应用程序在将交易数据传递给钱包之前对其进行加密。
现有示例:Shutter Network 的 Shop SDK
我们已经为 OPStack 的 L2 实现开发了一个前端 SDK。Shop SDK 简化了加密交易的集成,展示了如何高效地实现用户端加密。这可以作为在其他 dapp 和钱包中扩展加密交易处理的蓝图。
挑战与机遇
钱包和应用程序支持: 采用需要对钱包和 dapp 生态系统进行重大更新,以本地支持加密。
用户体验: 无缝集成至关重要,以确保加密不会对用户产生摩擦。
验证者在以太坊的区块构建过程中起着至关重要的作用,他们的激励措施必须与网络和用户的需求保持一致。承诺加密交易具有明显的经济效益:
1. 直接收入来源:优先费用
加密交易通过优先费用带来固有的经济价值。用户包含这些费用以激励验证者及时处理他们的交易。
竞争优势: 如果验证者拒绝承诺加密交易,他们将放弃这笔收入。下一个排队的验证者可以捕获此订单流,从而减少拒绝验证者的整体收益。
增加采用压力: 随着越来越多的用户通过加密 mempool 路由他们的交易,验证者面临着越来越大的压力来支持加密交易,否则就有落后于盈利能力的风险。
2. 间接收入来源:MEV 机会
当验证者或搜索者从交易排序、包含或排除中获利时,就会产生 MEV(最大可提取价值)。加密交易保持了 MEV 机会,但对传统流程进行了调整。
CEX-DEX 套利: 许多加密交易与市场活动有关。交易创建和包含之间的时间延迟通常会导致中心化交易所 (CEX) 和去中心化交易所 (DEX) 的价格变动。搜索者可以后运行这些交易,从而捕获套利机会。
利润分享: 搜索者通常与用户和构建者分享利润。在具有加密 mempool 的系统中,委员会成员 (负责公开解密密钥) 可以强制执行利润分享协议,其中可能涉及其他利益相关者。
3. 与用户偏好保持一致
最终的决策权在于用户,他们决定交易的流程。
现有模型: 像 MEV Blocker 这样的系统已经通过在提交期间混淆交易细节并与用户分享 MEV 利润来保护用户。加密交易通过确保用户隐私并启用更广泛的利润分享机制来扩展此模型。
验证者压力: 拒绝支持加密交易的验证者会错过通过加密 mempool 指导的订单流。随着时间的推移,经济压力可能会迫使广泛采用。
4. 对 MEV 的潜在影响
批量加密交易在 MEV 格局中引入了新的动态:
需求重合: 批量的交易可能会抵消重叠的意图(例如,两个用户执行相反的交易),从而可能减少产生的整体 MEV。然而,这并没有消除 MEV 机会,而是更公平地重新分配了它。
较小的后运行利润: 由于批量处理的加密交易,平均后运行利润可能比今天单独隔离各个交易的系统略低。这可能会略微减少验证者从 MEV 中获得的收益,但会提高公平性和效率。
5. 可持续性和生态系统增长
加密 mempool 吸引了新的订单流,同时提供了增强的隐私和公平性。采用此系统的验证者和构建者将自己定位为更公平的以太坊生态系统中的关键参与者。
通过与他们集成,验证者可以获得优先费用和 MEV 机会,同时与用户对隐私的需求保持一致。随着时间的推移,加密 mempool 可能会重新定义以太坊的经济模式,从而推动采用并促进区块构建实践中的创新。
1. 优化经济激励措施
2. 后运行 MEV 分配
3. 阈值信任假设缓解
4. 用于完全交易加密的高级密码学
5. 用户端加密
我们针对以太坊 L1 上阈值加密 mempool 的解决方案与 FOCIL (Fork-Choice enforced Inclusion List) 很好地集成。本质上,在 FOCIL 中,一组验证者被选入包含列表委员会。委员会的每个成员都提出一个包含列表,区块提议者最终将所有包含列表合并为一个全局列表。然后,证明者将检查 (1) 他们是否同意全局包含列表,以及 (2) 区块是否包含全局包含列表中的所有交易。
虽然 FOCIL 已经为普通交易引入,但没有任何东西阻止我们将其用于加密交易。事实上,FOCIL 允许我们提高解决方案的审查抗性:想象一下,一个区块提议者审查加密交易仅仅是因为它们是被加密的。然后,FOCIL 可以强制提议者也包含这些交易。
由于 Shutter 是一种阈值加密方案,因此它依赖于阈值信任假设。但是,我们正在积极致力于克服这一假设的解决方案:
ShutterTEE: 我们正在与 PolyCrypt 合作开发一个系统,其中 Keyper 将其密钥份额存储在 TEE 中,这样 Keyper 就无法访问其份额,除非 TEE 授予访问权限。也就是说,为了获得份额,Keyper 必须向其 TEE 证明它需要在当前时刻使用该份额来确保 Shutter 协议的正确执行。这保证了 Keyper 只有在绝对必要时才能收到他们的份额,从而防止了交易的过早解密。
使用告密进行秘密共享: 我们正在探索新的密码学原语,这些原语允许我们检测和惩罚恶意行为,例如勾结。例如,我们一直在研究使用告密的秘密共享(请参阅我们的博客文章),这是一种新的秘密共享原语,允许识别串通的股东并惩罚(告密)他们的恶意行为。
利用验证者集合的经济安全性: 以太坊中的验证者持有 32 ETH 的权益,这在验证者行为不端时起到经济安全形式的作用。考虑到以太坊验证者集合的规模(>100 万),有很大的潜力可以利用这种权益来实现额外的经济安全。例如,如果验证者承诺在区块中的某个位置包含交易,但未能履行该承诺,则可能会受到经济处罚。同样,我们设想一个系统,其中 Keyper 集合(部分)由验证者组成,这样他们的权益可以用于过早解密的经济处罚。
Shutter 可以通过两种不同的模式运行:
1. 每次交易加密: 在此模式下,每个交易都使用唯一的加密/解密密钥对进行加密。也就是说,对于每个加密交易,Keyper 必须派生一个解密密钥,这会导致大量的通信开销。
2. 每次 epoch 加密: 在此模式下,每个 epoch 存在一个唯一的加密/解密密钥对。在一个 epoch 期间,所有交易都使用 epoch 的公钥进行加密。一旦相应的密钥被释放,这些交易就会公开可用。然而,这种方法存在一个严重的问题:未能包括在下一个区块中的加密交易会失去其隐私。因此,交易会暴露并容易受到抢先交易和夹层攻击。
最近引入的批量阈值加密的密码学原语可以用于解决上述问题。批量阈值加密允许 Keyper 批量处理加密交易并释放单个解密密钥以解密批次中的所有交易。未包含在批次中的交易保持加密和私密。同时,与为每个加密交易释放密钥时的线性通信开销相比,释放解密密钥仅需要恒定的通信开销。
在以太坊 L1 上实现加密 mempool 的历程解决了诸如审查、抢先交易和构建者中心化等基本问题,旨在增强公平性、隐私性和去中心化。虽然完全加密交易的愿景雄心勃勃且尚未在大规模上实现,但拟议的路线图为前进奠定了具体步骤:从 RPC 集成开始,通过中继和提议者承诺构建,并最终将这些功能直接嵌入到以太坊的协议中。
这仅仅是个开始。我们,Shutter Network、Gnosis、MEV Blocker、Nethermind、Chainbound 等,正在积极合作进行这项工作,并致力于使其成为现实。这项倡议需要广泛的参与和不同的观点才能成功。我们邀请核心开发者、验证者、构建者、中继以及生态系统中的每个人加入对话、提供反馈并帮助改进这些想法。
- 原文链接: ethresear.ch/t/the-road-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!