通过多维EIP-1559优化以太坊的Gas效率

本文深入探讨了多维EIP-1559费用市场的概念及其对以太坊可扩展性的重要性。多维 gas 定价通过将资源成本分开来优化以太坊的资源利用效率,从而提高平台的交易管理能力。文章分析了实施多维定价的挑战和不同方案,并结合实例阐明其潜在优势,最后指出这一模型在提升网络效率和安全性方面的必要性。

引言

多维 EIP-1559 作为一个研究主题,在 2022 年 1 月由 Vitalik Buterin 在 EthResearch 文章 中提出。虽然相比于 rollups、MEV 或数据可用性解决方案等其他研究主题,它没有获得如此多的关注,但它仍然是一个活跃的研究领域。最近,Guillermo AngerisTheo Diamandis 发布的研究论文探讨了多维费用市场的理论基础和稳健性,并提出了如何构建这些市场。

实际上,多维费用市场已经在今天得到了应用。随着 2024 年 3 月 EIP-4844 的采用,以太坊引入了 blob gas,创建了一个单独的 blob 交易费用市场。这标志着从单维 gas 模型向二维费用市场的转变。

然而,仍然需要增加资源维度的数量,以优化交易资源的使用。扩展多维费用市场是改善以太坊管理多样化资源效率的可扩展性解决方案。

本文探讨了多维 gas 费用市场的重要性和机制,解释了它们如何增强以太坊的可扩展性和资源分配。

让我们首先深入了解的确是什么是多维 gas 定价。

什么是多维 gas 定价?

多维 gas 定价是一种 L1 扩容解决方案,类似于最近在以太坊上实施的 增加 gas 限制。虽然它并不直接增加以太坊的总交易能力,但它最大化了现有限制内的资源利用。这使得更多的去中心化应用(DApps)和用户能够在以太坊的基础层上进行交易,而不会造成不必要的拥堵。

以太坊目前将所有资源成本(如计算、存储和带宽)捆绑成一个单一的 gas 单位。多维 gas 定价则分离了这些资源,优化了它们的分配,同时保持以太坊的安全性和去中心化。

为了理解这为什么是有益的,让我们考虑一个现实世界的类比。

健身俱乐部的类比

想象一个健身俱乐部,里面有各种设施,如用于心肺功能的跑步机、用于力量训练的深蹲架和用于一般锻炼的哑铃。会员们有不同的偏好:有些人只使用跑步机,有些人集中使用深蹲架,还有一些人两者交替使用。

在一个按会员总数收取固定入场费的系统中,会出现低效现象。在跑步机人满为患而深蹲架闲置的日子里,固定费用飙升,迫使力量训练者为他们并未造成的拥堵买单。同样,当深蹲架需求高但跑步机空置时,心肺训练者也要承担不必要的费用。这种单维定价将健身俱乐部的容量绑到其最拥堵的资源上,造成了其他设施的未充分利用。这可以被认为是一个单维定价模型。

现在,想象健身俱乐部引入一个多维定价模型。它不再收取固定费用,而是对跑步机和深蹲架分别收费。心肺用户和力量训练用户不再互相受到对方使用的影响,健身俱乐部可以独立管理这些资源,从而优化其容量。在更平衡的利用下,健身俱乐部可以接纳更多用户,而不会增加整体拥堵。

这种方法展示了多维定价的本质:将资源划分为独立市场,以提高公平性和效率。然而,过多的细分(例如,为每种设备设置单独价格)可能会引入不必要的复杂性,使系统更难使用。因此,实际上,健身俱乐部大多仍然维持固定入场费,并坚持单维定价模型。

正如跑步机和深蹲架的单独费用可以减少拥堵一样,以太坊也可以对计算和数据使用等资源使用不同的市场。

这如何适用于以太坊

在 EIP-4844 之前,以太坊使用单维 gas 定价模型,其中所有交易资源,包括计算、存储和带宽,都被捆绑成一个度量:gas。该模型本质上导致了低效,类似于健身俱乐部的类比:

  • 如果某项资源(如计算)被大量使用,则所有用户的费用都会上涨,即使其他资源保持未充分利用。
  • 如果某些资源有剩余能力,因固定的 gas 限制而被闲置。

这种低效的一个关键例子是 rollups 之前如何存储交易数据。在 EIP-4844 之前,rollups 将其交易数据发布到以太坊的 calldata 字段,并根据 calldata 定价支付 gas 费用。然而,随着 EIP-4844 在 2024 年 3 月的采用,rollups 现在使用名为 blob gas 的单独单位,这允许它们在名为 blobs 的专用结构中存储数据。

尽管 EIP-4844 为 rollup 数据引入了第二个 gas 维度(blob gas),但它的适用范围仍然有限:Blob gas 仅适用于 blob 事务。其他交易组件——包括 EVM 执行、calldata 和存储——仍然在单一 gas 模型下定价。以太坊交易仍然消耗多个独立资源,但所有定价都以 gas 表示,导致了效率低下的最坏情况。

例如,假设单个交易在 EVM 执行中消耗了整个 gas 限制(目前为 3600 万)。即使以太坊节点可以安全处理更大的数据大小,由于 gas 被视为单一限制,该交易也无法传播额外的数据,而不是将其视为多个独立限制。

这个问题在查看以太坊的区块大小分布时变得更为明显。从 2024 年 7 月到 2024 年 12 月,平均区块大小约为 73KB,大多数区块远低于 100KB。然而,在区块 #21419230 中,最大区块大小达到了 1.48MB,是平均值的 20 倍。

多维 gas 定价通过独立对待每种资源来解决这个问题:计算、存储和带宽实行单独定价和限制。这种分离避免了一个资源主导 gas 成本的瓶颈,并在不增加安全风险的情况下优化了容量。

Vitalik Buterin 的文章提出了几个关键的资源类型可供分离。让我们探讨这些候选资源以及为何分离它们可以改善以太坊的可扩展性。

通过多维 gas 定价可以分离哪些资源?

在设计多维费用市场时,资源的独立性是最重要的因素之一。如果两个高度互依的资源被放入不同的费用市场,可能会导致低效率、错误定价和不必要的复杂性。例如,如果计算(CPU 周期)和内存使用(RAM)分别定价,而其中一个依赖于另一个,用户可能会通过相互之间调配费用来利用系统,导致定价非最优。

因此,在将以太坊资源分类到不同的 gas 市场之前,我们必须首先识别哪些资源具有足够的独立性,以便可以独立定价而不扭曲网络经济。

从根本上说,以太坊节点是一台同时管理多种资源的计算机。传统的硬件资源被分类为可独立优化的不同组件:

  • 计算(CPU) – 执行如 ADD、MULTIPLY 和智能合约执行等操作。
  • 内存 I/O (RAM) – 读写临时数据,影响执行速度。
  • 存储 I/O (SSD/HDD 读/写) – 持久状态访问,影响长期存储效率。
  • 存储增长(磁盘空间增加) – 存储数据的扩展,影响节点的可持续性。
  • 带宽(网络数据传输) – 传输交易和区块数据的能力。

这里的关键原则是并行性:如果一个系统能够独立处理这些资源,那么为其定价的分离是有意义的。将这一点应用于以太坊,我们应该尽力将以太坊资源分类,以使以太坊节点能够在没有不必要依赖的情况下尽可能高效地工作。

与计算机不同,以太坊操作并不完全适合一个类别。许多操作同时消耗多种资源,这使得它们的完美分离变得困难。例如,

  • 交易 calldata 主要消耗带宽,因为它必须在网络中传输。同时,它还会导致存储增长,因为它永久保留在区块链中。
  • SLOAD(存储读取)使用存储 I/O,但如果节点是无状态的,它还需要带宽来从完整节点获取状态证明。
  • 存储写入(SSTORE)的费用高于读取,因为它增加了以太坊的持久状态,导致长期存储膨胀。

这些相互依赖性使得将每一个资源分离到自己的定价市场不切实际。相反,我们应专注于那些直接影响以太坊可扩展性的最重要的瓶颈。

虽然以太坊操作涉及多个资源,但目前讨论的多维定价候选者是:

  • 计算(EVM 执行) – 像 ADD 和 MULTIPLY 这样的简单操作是纯 CPU 任务。
  • 存储 I/O(SSTORE/SLOAD) – 影响以太坊状态膨胀的持久读取和写入。
  • 交易 Calldata – 主要使用带宽,但也会贡献存储。
  • 见证数据 – 影响带宽和存储 I/O,特别是对无状态客户端。

通过将这些类别与计算机系统如何管理资源相对齐,我们可以使以太坊的费用结构更加直观和高效。

虽然在理论上我们可以进一步细分以太坊资源,但这样会增加复杂性而没有相应的利益。因此,我们应重点关注当前限制以太坊性能的关键瓶颈。

例如,交易 calldata 的大小直接决定最大块大小,这使其成为以太坊共识层的一个关键瓶颈。此外,必须控制存储增长,以防止完整节点运行成本过高,从而维护去中心化。

因此,与其引入太多维度,不如专注于一些影响以太坊效率的关键资源。

确定这些主要资源后,我们可以探讨两种实现多维定价的不同方法:为每个资源创建独立的费用市场或修改单一的 gas 单位。

多维 gas 定价实现 1:为每个资源创建独立费用市场

实施多维 gas 定价的一种方法是为每个资源创建独立的费用市场,以确保更高效的分配。该方法通过 EIP-4844 已经部分实施,该提案引入了 blob gas,作为 rollup 数据存储的单独单位。

这一概念可以扩展到其他资源,例如状态增长或见证大小,使得以太坊能够独立管理每个资源的限制,而不是将所有费用捆绑在单个 gas 指标下。

为正式化这一方法,我们设定 bi 为资源 i 的基础费用,gi 为交易中资源 i 的消耗量,ki​ 为单个区块内资源 i 的限制。

总交易费用将计算为 ibi*gi​,并且一个区块必须满足所有交易 tx 的约束 bi ki , 对于所有资源 i。与当前的 EIP-1559 模型类似,bi 是基于先前区块使用情况动态调整的。以太坊可以采用指数定价模型(如 blob gas 使用的模型)或其他费用更新机制来调节资源的消耗。

独立费用市场模型提供了关键优势。它通过允许独立上限对每个资源进行精确控制,帮助避免在当前 gas 模型下的低效最坏case 估计。它还可以防止不必要的拥堵,确保对一个资源的高需求不会不成比例地提高无关操作的费用。此外,这一方法通过直接限制数据传播等因素(例如将其上限设定为 1MB 或状态增长的上限),优化了网络使用,而不是依赖间接 gas 价格调整来调节资源的消耗。

虽然独立费用市场提供了改进的资源分配,但过于细分资源会引入重大复杂性。为每种类型的资源创建独立市场将需要对协议进行重大修改,这可能 destabilize 以太坊的基础层。DApps 和钱包也将面临额外挑战,因为它们需要跟踪多个费用市场并预测每个资源的基础费用波动,这使得成本有效且及时的交易包含变得更加困难。

当一个资源经历不可预测的价格飙升时,另一问题随之而来。即使钱包为所有其他资源优化了费用,单一费用市场的突然飙升可能会导致某个交易无法被包含在区块中,从而引发用户的不确定性和低效。

验证者面临类似挑战,因为他们的目标是在每种资源限制内最大化收益。随着独立资源市场数量的增加,这种情况变得复杂,类似于多维背包问题,选择最有利可图交易变得愈加困难。

有人认为,这种复杂性可能并不是一个主要问题,因为最大可提取价值(MEV)收入对验证者收入有很大贡献,这使得优先费用在他们的决策中不那么关键。然而,为每种资源实施完全独立的费用市场的整体可行性仍然是一个开放的研究问题,需要进一步探索效率、可用性和网络稳定性之间的权衡。

多维 gas 定价实现 2:保持 gas 作为主要单位

完全分离费用市场的一个简单替代方案是将 gas 保留为主要单位,同时调整费用的计算方式。与为每种资源引入新的单位相比,总交易费用由消耗最多 gas 的资源决定。

设定资源 i 的 gas 成本为 ci,使用资源的数量为 gi。则交易费用由下式确定:

(c1g1 , c2g2 , c3*g3,...)

而不是对不同资源的 gas 使用量进行求和,交易只需按消耗的最昂贵资源收费。

例如,考虑一个交易在 EVM 执行中消耗 50,000 gas,而在 calldata 中消耗 200,000 gas。在此模型下,交易费用是 200,000 gas,因为 calldata 是主导资源,而执行费用则实际上被忽略。

虽然这种方法简化了定价,但也引入了潜在的问题:

  公平性问题:一个消耗 200,000 gas 作为 calldata 并消耗 50,000 gas 作为执行的交易,支付的费用与一个消耗 200,000 gas 作为 calldata 并消耗 150,000 gas 作为执行的交易相同。这促使捆绑效应,其中多个交易被战略性地结合以利用成本优势。因此,复杂的优化者可能受益,让普通用户和 DApps 的交易成本变得不那么可预测。   资源低效:由于只有消耗最高的资源重要,用户可能故意过度使用其他资源,而无需付出额外成本。在之前的示例中,EVM 执行最多使用 150,000 gas 也不会产生额外费用,这造成了浪费交易,在不增加成本的情况下降低网络运行吞吐量。

尽管存在这些问题,但这一方法的主要优势是其简单性。通过保持 gas 作为普遍计价单位,以太坊避免了管理多个资源单位的复杂性,同时仍能区分不同类型的资源使用。

EIP-7623 将在 Pectra 升级中 实施,遵循类似但略加修改的方法。它为以 calldata 为主的交易引入了双重定价机制,确保不成比例高的 calldata 使用交易支付更高的费用。虽然这不是一个完整的多维 gas 定价模型,但它代表了在不彻底更新以太坊 gas 结构的情况下,向更好的资源区分迈出的一步。

EIP-7623 与多维 gas 定价的关系是什么?

EIP-7623 为数据可用性(DA)交易引入了更高的费用,特别是当 calldata 使用显著超过执行 gas 使用时。该机制确保在消耗过多 calldata 的交易中,收取更高的费用,从而阻止不必要的数据存储,而不需要新的定价单位。

EIP-7623 的 gas 计算的简化版本如下:

total_gas_used=max(4tokens_in_calldata + evm_gas_used, 10tokens_in_calldata)

进一步简化为:

total_gas_used=4tokens_in_calldata + max(evm_gas_used, 6tokens_in_calldata)

该公式通过计算执行 gas 与 calldata gas 之间的最大值来确定总 gas 使用。如果一笔交易主要使用 calldata,则将为 calldata 收取更高的费用,而不是通过较低的执行费用来补贴。这抑制了过度的数据存储,同时确保强度较高的计算交易不会受到不公平的惩罚。

EIP-7623 是多维 gas 定价的简化版本,因为它在执行 gas 和 calldata gas 之间引入了隐式区分,鼓励网络资源的更平衡分配。

结论

尽管多维 gas 定价常被视为一种经济或 UI/UX 的提升,但它是一个基本的可扩展性改进,使得资源分配得以优化。然而,其实施面临重大挑战,主要是由于所需的协议层修改非常庞大,以及完全分离资源类型的难度。因此,短期内采用高维 gas 定价的可能性不大。

尽管存在这些挑战,多维 gas 定价依然提供了显著的好处,包括改善资源利用、增强网络安全性和可持续的节点运作。更高效地使用以太坊的计算和存储能力,提供了一个可行的路径,使以太坊在保留去中心化和安全性的同时实现扩展。

关注 @2077Research 获取更多研究文章,并访问官方网站了解以太坊研发主题的深入分析。

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

0 条评论

请先 登录 后评论
2077 Research
2077 Research
https://research.2077.xyz