^ 包容者的罕见照片,令人不寒而栗,并毫不费力地收集奖励,以改善以太坊的审查抵抗力。
作者: Thomas Thiery - 2024 年 12 月 17 日
感谢Julian Ma和Barnabé Monnot 、 Terence Tsao和Jacob Kaufmann对本文的反馈和讨论。
介绍
最近,我偶然发现越来越多的讨论和研究,涉及通过FOCIL EIP-7805激励交易纳入、状态与纳入 预确认以及进一步分离协议角色和职责。我越来越清楚地认识到,从第一原理出发,将状态和纳入视为两个正交维度,可能有助于指导未来的协议开发。
免责声明:在本文中,我将使用简化的、有点像漫画的定义来区分包含交易和国家交易,并承认在实践中存在更多的细微差别。
非正式定义、属性和生命周期
纳入交易
所谓包含交易,我指的是顺序不变交易(h/t James Prestwich),无论在什么状态下执行,其结果都保持不变;唯一重要的因素是它们被包含在The Block的某个地方。例子包括在咖啡店付款或将代币转给朋友。
由于其顺序不变性,纳入交易通常会发送到公共内存池。纳入之前公开披露交易信息是可以接受的,因为没有人可以利用这些交易(例如通过抢先交易),因为它们本质上不具有最大可提取值 (MEV)。要被视为有效纳入,这些交易必须为消耗的每单位 gas 支付base fee
。
在 EIP-7805 之后的世界,纳入交易将主要由多个 IL 提议者通过 FOCIL 纳入以太坊区块(使用诸如内存池中的待处理时间或优先费用排序等纳入规则)。通过公开广播到内存池,这些交易受益于多个 IL 提议者之一通过其纳入列表纳入它们的机会增加。
国家交易
我所说的状态交易是指依赖于订单的交易,其结果会根据执行时的状态而变化。例如,在Uniswap等自动做市商上执行代币交换的交易。
来自普通用户的状态交易可能带有最大可提取价值 (MEV),如果其内容在收录之前已公开,则可能被搜索者利用(例如,通过抢先交易或夹心攻击)。这些交易通常具有时间敏感性,最好通过私人渠道发送,以确保 MEV 保护和 / 或获得回扣。当状态交易带有 MEV 并提供给像搜索者这样的老练人士时,无论愿意与否,它们通常会与其他交易捆绑在一起,以提取它们创造的 MEV 机会。请注意,状态交易也可以来自老练的人士本身;例如,利用不同交易所之间的价格差异获利的套利者。在这两种情况下,当状态交易产生 MEV 机会时,除了base fee
外,通常还会伴随对验证者的小费(以priority fees
的形式或使用coinbase 转账)。
由于 FOCIL 在网络拥塞期间(即当区块已满时)不提供任何有关交易排序或包含的保证,我们可以假设在 EIP-7805 之后的世界中,状态交易的市场结构不会发生太大变化。
以下是纳入交易和国家交易的主要区别的简要回顾:
- 纳入交易:
- 支付base fees
以考虑纳入The Block。
- 不要使用priority fees
来表示订单偏好。
- 受益于向大量各方公开广播。
- 不必依赖经验丰富的演员来融入其中。- 状态交易:
- 支付base fees
以考虑纳入The Block。
- 添加priority fees
来表达对他们希望执行的特定状态的偏好,这对应于The Block中的特定位置。
- 可以私下发送给一个或几个资深人士,从而受益。
注意:纳入交易可能会因为与顺序偏好无关的原因而支付优先费用。例如,它可能需要补偿The Block生产者额外的资源使用——例如 blob 所需的额外传播时间。优先费用还可以表明希望更快地纳入,而不是在The Block中特定位置。换句话说,即使交易不关心其位置,它也可能愿意支付更多费用以减少延迟并更快地被纳入(例如,blob 交易、防欺诈交易)。
费用详解
基本费用和优先费用
自 EIP-1559 实施以来,所有交易(包括纳入交易和状态交易)都必须支付base fees
才能被考虑纳入区块。另一方面, Priority fees
可以根据是否存在网络拥塞来发挥不同的作用:
- 无拥塞:当The Block中有足够的空间来包含所有待处理的交易时:
- 包含交易一般不需要支付优先费用,因为只要支付基本费用就会被包含,而不管是否插入到The Block中的特定位置。
- 状态交易将支付优先费用,以激励The Block生产者在特定状态下执行它们。
- 拥堵:
- 纳入交易可能会选择添加优先费用,以增加被纳入下一个区块的机会(例如,领先于其他纳入交易),而不是等到网络不再拥堵。
- 无论是否出现网络拥塞,状态交易都将使用优先费用。
这里有趣的一点是,在拥堵期间,状态交易和包含交易之间的界限会变得模糊。当没有足够的空间容纳每笔交易时,简单地想被包含在给定区块中的任何位置在概念上变得非常类似于想在特定状态下执行。因此, Priority fees
可以被认为是一种一刀切的机制,用于激励区块生产者并确保在区块中占据有利位置。
然而,即使没有拥塞,交易也可能不会被包含在区块中,还有另一个明显的原因:审查。
审查的成本
在 EIP-7805 出台后,仍然有几种方法可以审查交易:
区块填充:鉴于 FOCIL 的条件性和区块内任意位置属性,提议者可以将其区块填充至 gas 上限,以排除交易并仍然满足 IL 条件。为了估算填充多个连续区块的成本,我使用了以下公式:
\text{区块填充成本} = (\text{Gas 限制} - \text{Gas 已用}) \times \text{基本费用} \times \left( \frac{1}{0.125} \times 1.125^N - 1 \right)区块填充成本= ( Gas 限制− Gas 使用量) ×基础费用× ( 1 0.125 × 1.125 N − 1 )其中N N是连续块的数量。
下图估算了过去三个月内区块填充的平均成本(基于此 Dune 查询),突出显示了市场条件和基本费用对其的影响,并说明了连续填充多个区块对于攻击者而言成本如何呈指数级增长。
缺失时隙:或者,提议者可以选择跳过为其指定时隙的区块提议,这将导致他们放弃共识(发行)和执行(MEV)层的奖励,在过去三个月中,平均每个区块的奖励总计约为
0.04 ETH
。
请注意,在上述两种情况下,增加交易的priority fees
都会使提议者将其排除在外的成本更高。
- IL 委员会贿赂:最后,审查交易的一个明显方法是说服所有 IL 提议者不要将其纳入他们的 IL。根据 EIP-7805,IL 提议者不会因将交易纳入他们的 IL 而获得奖励。实际上,说服委员会中的所有 IL 提议者采取不诚实的行为并违背以太坊网络的精神可能很困难。使用 FOCIL,我们只需要一名委员会成员诚实行事并在不审查的情况下纳入所有交易,以使机制按预期运行。但是,理论上,攻击者可以向所有 16 名委员会成员提供非常小的贿赂以排除给定的交易。如果 IL 提议者是理性的,他们可能会接受任何大于零的贿赂。
通过依赖 IL 提议者的利他行为,无法控制他们在审查交易时产生的成本。
块状填充 | 缺失插槽 | IL 委员会贿赂 | |
---|---|---|---|
审查成本 | 0.02 to 0.4 ETH | ∼ 0.1 ETH | > 0 ETH |
怎么办?
入会费
鉴于状态和包含交易的不同属性和生命周期,以及用户可以给提议者小费但不能影响 IL 提议者在协议中审查交易时产生的成本的不平衡,一种选择是引入独立的包含费用(IF)和奖励机制来增加包含保证和审查成本,同时保留优先费用(PF)作为提议者小费的作用。
这种方法允许用户根据网络条件(基本费用)制定交易,同时控制他们愿意为以下事项支付的费用: (1)通过 PF 在特定状态下执行和(2)通过 IF 增加其纳入保证,或两者兼而有之。在下图中,您可以看到交易如何私下发送给The Block生产者或公共内存池,并指定优先级和纳入费用。我们假设交易被添加到纳入列表 (IL) 中,并根据纳入费用按降序排列(下一节将对此进行详细介绍)。然后,The Block生产者对完整有效载荷进行排序——默认情况下根据优先级费用或根据 MEV 机会按任何其他顺序排序——包括来自 IL 的交易和他们私下收到的交易。
奖励机制
在 IL 提议者之间分配纳入费用的一个简单方法是根据他们的贡献按比例分配,只奖励那些将交易纳入其 IL 的人(即有条件提示)。这会带来更大的激励,以纳入其他人不想纳入的交易(例如“可审查交易”)。
在上面的例子中,IL 提议者 1 包含了来自内存池的所有待处理交易。因此,他们的奖励将按以下方式计算:
- 交易 g:纳入费用 6 除以 4 个提议者= 6 ⁄ 4 = 1.5 = 6 / 4 = 1.5
- 交易 d:纳入费用 4 除以 3 个提议者= 4 ⁄ 3 ≈ 1.333 = 4 / 3 ≈ 1.333
- 交易 e:纳入费用 1 除以 3 个提议者= 1 ⁄ 3 ≈ 0.333 = 1 / 3 ≈ 0.333
- 交易 f:纳入费 0 除以 4 个提议者= 0 ⁄ 4 = 0 = 0 / 4 = 0
将这些加起来,IL 提议者 1 将因将这些交易纳入其 IL 而获得大约1.5 + 1.333 + 0.333 + 0 = 3.166 1.5 + 1.333 + 0.333 + 0 = 3.166的奖励。
奖励 IL 提议者的替代方法包括使用发行而不是费用,根据过去的表现加权奖励。同样重要的是,任何此类奖励机制都必须独立于现有的交易费用机制 (TFM)——换句话说,必须与基础费用和优先费用分开。试图重新利用基础费用来奖励 IL 提议者是不符合激励机制的,因为 EIP-1559 的经济设计依赖于销毁基础费用,以防止区块生产者操纵交易包含并提高费用以谋取私利。通过确保基础费用永远不会直接重新分配,系统可以保持平衡的激励结构。同样,在网络拥堵的情况下,依靠将优先费用重新分配给 IL 提议者的模型也会失败,因为区块生产者将有更大的动力来包含非 IL 交易以获得更高的直接奖励。
角色和参与者
是否有可能(并且可取)更进一步,将负责交易纳入的协议参与者(IL 委员会成员)与专注于有价值的状态交易的参与者(提议者)分开?现在让我们想象一个后 FOCIL、后 APS(证明者-提议者分离)的世界。在这种情况下,我们仍然有 IL 提议者将来自公共内存池的交易纳入他们的纳入列表中,并通过纳入费用获得奖励。但是,现在证明者/信标提议者、执行提议者和构建者之间存在分离(PBS 是否被纳入协议与本部分讨论无关)。
以下是每个参与者职责的简要概述:
- IL 委员会成员:
-复杂程度:低– IL 提议者创建包含列表 (IL),其中包含公共内存池中待处理的交易。
-资本要求:
-中等– 如果/当实施maxEB和 minEB 时,从 1 ETH到 2,048 ETH 。
-重度——资本被质押,预先锁定,并有可能因其他形式的不当行为(例如,在同一高度提出多个不同的区块)而被削减,但不会因未能履行 IL 特定的职责(例如,IL 模棱两可)而受到处罚,至少在当前版本的 FOCIL 中是如此。
- 信标提议者:
-复杂程度:低– 根据其本地视图确定链头并提出信标区块,其中包括所有与共识相关的信息,例如The Block块头、证明、提款、存款和削减惩罚。APS 之后,信标提议者没有动力玩时间游戏,可以保持简单。
-资本要求:
-中等– 如果/当实施 maxEB 和 minEB 时,从 1 ETH到 2,048 ETH 。
-重量级——资本被质押,预先锁定,并面临被削减的风险(例如,在同一高度提出多个不同的区块)。
- 證明人:
-复杂程度:低– 确保完整区块中包含的共识和执行信息根据他们的观点都是有效的。如果区块通过了所有有效性检查,例如构建在正确的头部、包含有效交易以及满足 IL 条件,他们就会投票支持The Block。
-资本要求:
-中等– 如果/当实施 maxEB 和 minEB 时,从 1 ETH到 2,048 ETH 。
-重量级——资本被质押,预先锁定,并面临被削减的风险(例如,证明不同的头块)。
- 执行提议者(假设执行提议者不将区块生产外包给建造者) :
-复杂程度:高– 负责向网络提出完整有效的执行负载,并对交易的纳入和排序拥有最终决定权,前提是执行负载包括 IL 交易。必须操作复杂的基础设施来实施复杂的策略并有效提取 MEV。
-资本要求:
-高– 需要足够的资本来确保执行提议权,以成功执行高级 MEV 策略(例如非原子套利)并提供预先确认等额外服务。
-重度- 执行提议者也需要可削减的资本,以确保他们不会做出不当行为,但这一要求在他们被选中后才会生效(与见证人和 Beaucon 提议者不同)。此时,他们必须筹集必要的资金以确保预先确认、弥补错过时隙的罚款或支付他们的出价。
有趣的是,通过将见证人与提议人分开,APS 也有效地将执行提议人与 IL 委员会成员分开。然而,在下一节中,我们认为 IL 委员会成员应该被视为一类单独的参与者。由于他们的职责复杂程度有限,并且不直接参与系统的经济安全,因此他们不需要像见证人一样受到相同的资本要求。
证明者与包含者分离
h/t巴纳贝
基于拆分角色以更好地使其与协议职责保持一致的想法,并借鉴Rainbow Staking等分层质押模型和Orbit等验证者选择机制的灵感,我们建议进一步将证明者与 IL 委员会成员(包含者)分开。
从第一原则出发,我们希望见证者和参与者在地理上都是去中心化的,并且不复杂。然而,在资本要求和他们在保护网络方面的作用的重要性方面,这两组参与者之间存在一些关键差异:
- 證明人:
- 安全性:总体而言,证明者通过参与共识并确保活跃性和终结性,在保护网络方面发挥着极其重要的作用。这一关键角色也有一些限制。例如,重要的是避免过快轮换证明者,因为从共识的角度来看,这可能不是最安全的。同样,我们不希望验证者过快地进入或退出活跃的证明者集,这就是我们有提款和存款队列的原因。
- 资本要求:我们希望见证人通过最大化单个验证者的余额(例如,最多 2,048 ETH)来进行整合,而不是运行余额较低的多个实例(例如,32 ETH)。这种整合使我们能够在可控的参与者数量下实现高水平的经济安全,并有助于实现更快的最终确定性(例如, 3SF )。此外,见证人必须至少持有一定数量的ETH以备不时之需,以便在他们不履行职责的情况下(无论是有意还是无意)进行削减。这意味着他们的资本需要预先质押和锁定(即大量资金)。
- IL 委员会成员:
- 安全性:IL 委员会成员不参与共识,也不在保护网络方面发挥作用。他们只负责通过使用他们对公共内存池的本地视图将交易纳入 IL 来提高审查阻力。此外,我们只需要n 个 IL 提议者中的一个诚实地构建其 IL,以使 FOCIL 有效,并对交易构建者必须包含在其区块中的内容施加限制。
- 资金要求:理想情况下,我们希望进入门槛非常低,这样任何希望为以太坊的审查抵抗做出贡献的人都可以轻松地做到这一点,例如只需 0.01 ETH ,或者足以确保 Sybil 抵抗并防止参与者“刚注册”但随后离线。IL 委员会还会轮换每个时段,因此如果存在某种纳入费用,除了错过奖励外,可能不需要排队或惩罚。
问题是:这些差异是否值得转向两组独立的参与者,每组参与者履行特定的职责,还是应该保持同一组参与者?
我们认为确实如此。通过允许任何人以“包容者”的身份加入并为以太坊的抗审查做出贡献——只需最少的硬件要求(例如智能手表)、简单、低摩擦的用户体验(无需排队)以及轻量和最低限度的资本要求——并通过独立的交易费机制(包容费)奖励他们,网络可以根据审查级别进行自我监管。如果许多交易受到审查,用户可以提高包容费,从而增加审查成本。随着这些更高的费用在包容者之间分配,更多的个人将被激励参与创建包容列表(IL),最终提高以太坊的抗审查能力。最后,包容者还应该能够参与改善网络的抗审查特性并坚持链中立,而无需通过其列表中包含的特定交易公开透露他们的偏好。为此,我们可以利用匿名 IL ,使用可链接环签名和匿名广播协议的组合来保护他们的身份。