介绍多维 EIP-1559 于 2022 年 1 月由 Vitalik Buterin 在 EthResearch 文章中首次提出,随后成为一个研究课题。尽管其关注度不及 rollups、MEV 或数据可用性解决方案等研究领域,但它仍是一个活跃的研究方向。
近期,Guillermo Angeris 和 Theo 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,这一方法已经部分实现,EIP-4844 引入了 blob gas 作为一个独立的单位,用于 rollup 数据存储。
这个概念可以扩展到其他资源,例如状态增长或见证数据大小,从而允许以太坊单独管理每个资源的限制,而不是将所有成本捆绑在单一的 gas 度量下。
为了形式化这一方法,我们可以定义 bi 为资源 i 的基础费用,gi 为事务中资源 i 的消耗量,ki 为单个区块内资源 i 的限制。
总交易费用将计算为 ibi*gi,一个区块必须满足所有资源 i 的限制条件:所有 txbi ki。像当前的 EIP-1559 模型一样,bi 会根据前一个区块的使用情况动态调整。以太坊可以采用指数定价模型(如 blob gas 所使用的模型)或其他费用更新机制来调节资源消耗。
独立费用市场模型提供了关键优势。通过允许独立的限制,它提供了对每个资源的精确控制,这有助于避免在当前 gas 模型下低效的最坏情况估算。它还防止了不必要的拥堵,确保一个资源的高需求不会不成比例地提高与之无关的操作费用。此外,这种方法通过直接限制数据传播等因素,优化了网络使用,例如将其限制为 1MB 或状态增长,而不是依赖于间接的 gas 价格调整来调节资源消耗。
虽然独立的费用市场提供了更好的资源分配,但将资源细分得过于精细会引入重大复杂性。为每种资源类型创建独立市场将需要对协议进行重大修改,这可能会使以太坊的基础层不稳定。DApp 和钱包也将面临额外的挑战,因为它们需要跟踪多个费用市场,并预测每个资源的基础费用波动,这使得成本效益高且及时的交易包含变得更加困难。
另一个问题出现在某个资源经历不可预测的价格激增时。即使钱包优化了所有其他资源的费用,单一费用市场的突发涨价仍可能导致事务无法被纳入区块,从而为用户带来不确定性和低效。
验证者面临类似的挑战,因为他们的目标是最大化收益,同时保持在每个资源限制的约束内。随着独立资源市场数量的增加,这种情况变成了一个复杂的优化问题,类似于多维背包问题,选择最有利可图的事务变得越来越困难。
有些人认为,这种复杂性可能不是一个大问题,因为最大可提取价值(MEV)收益在验证者利润中占有重要地位,使得优先费用在决策中不那么关键。然而,完全为每个资源实现独立费用市场的整体可行性仍然是一个开放的研究问题,需要进一步探索效率、可用性和网络稳定性之间的权衡。
多维 gas 定价实施方案 2:保持 gas 作为主要单位完全独立分离费用市场的一个更简单替代方案是保留 gas 作为主要单位,同时调整费用计算方式。无需为每种资源引入新的单位,而是根据消耗最多 gas 的资源来确定总交易费用。
我们定义资源 i 的 gas 成本为 ci,资源使用量为 gi。然后交易费用由以下公式确定:
(c1g1, c2g2, c3*g3, …)
交易费用不再是对所有资源的 gas 使用进行求和,而仅根据其消耗的最高费用资源来收费。
例如,考虑一个交易,它消耗了 50,000 gas 用于 EVM 执行和 200,000 gas 用于 calldata。在此模型下,交易费用为 200,000 gas,因为 calldata 是主导资源,而执行费用则被有效忽略。
虽然这种方法简化了定价,但也引入了潜在的问题:
公平性问题:一个使用 200K gas 用于 calldata 和 50K 用于执行的交易,将与另一个使用 200K gas 用于 calldata 和 150K 用于执行的交易支付相同的费用。这激励了捆绑交易,即多个交易被策略性地组合在一起以利用成本优势。因此,复杂的优化者可能会受益,使得普通用户和 DApp 的交易成本变得更加不可预测。资源低效:由于只有最高消耗的资源才算数,用户可能故意过度使用其他资源而不增加费用。在前面的例子中,EVM 执行最多消耗 150K 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(4 tokens_in_calldata + evm_gas_used, 10 tokens_in_calldata)
进一步简化为:
total_gas_used = 4 tokens_in_calldata + max(evm_gas_used, 6 tokens_in_calldata)
此公式通过在执行 gas 和 calldata gas 之间取最大值来确定总 gas 使用量。如果一个交易主要使用 calldata,则会为 calldata 收取更高的费用,而不是通过较低的执行费用来补贴。这可以防止过度的数据存储,同时确保计算密集型交易不会受到不公平的惩罚。
EIP-7623 是一种简化版的多维度 gas 定价,因为它在执行 gas 和 calldata gas 之间引入了隐性区分,从而鼓励网络资源的更平衡分配。
结论尽管多维度 gas 定价通常被视为一种经济或用户界面/用户体验的提升,但它是一个基本的可扩展性改进,能够实现优化的资源分配。然而,它的实施面临着重大挑战,主要是因为需要对协议层进行大量修改,并且完全分离资源类型的难度较大。因此,短期内不太可能采纳更高维度的 gas 定价。
尽管面临这些挑战,多维度 gas 定价仍然提供了显著的好处,包括提高资源利用率、增强网络安全性和可持续的节点运行。通过更有效地利用以太坊的计算和存储能力,为以太坊提供了在保持去中心化和安全性的同时实现扩展的可行路径。
声明:
本文转载自[2077 研究]。所有版权归原作者所有[城关公园]。若对本次转载有异议,请联系 Gate Learn 团队,他们会及时处理。免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。