EIP-4844分为两部分:支持Blob交易和Blob费用市场。Blob维度的费用市场独立于EVM维度,解决了不同资源间的相互影响和调整问题。Blob Base Fee由网络根据供需决定,使用指数型更新算法。本文介绍了Blob Base Fee的更新算法和销毁机制,与EIP-1559类似。Rollup运营方可以通过隐私交易服务给builder转账津贴来达到Priority Fee的效果。作者认为限制Calldata的使用可以促使Rollup更多地使用Blob,但Blob联合发布需要基础设施建设和成本分摊。欢迎加入ETHconomics Research Space一起讨论研究。相关资料包括EIP-4844规范、指数型EIP-1559、EIP-4844费用市场分析、交易来源和Vitalik的评论。
原文作者:Jason
EIP-4844 主要分为两块:支持 blob 交易(Type 3 交易)以及专属 blob 的费用市场。前者更侧重新架构设计与实现,因而更受开发者的关注。实际上,后者的设计和细节颇多,属于以太坊经济学的范畴。EIP-4844 经济学系列主要针对后者进行深入分析,希望读者能感受到以太坊经济学的趣味之处。
EIP-4844 经济学系列:
先以一笔 Type 3 交易为例,让大家对 EIP-4844 的费用机制有个直观的概念。本文撰写时 EIP-4844 仍未上线主网(计划于 2024 年 3 月 13 日上线)。因此,我们以一笔 sepolia 测试网的 Type 3 交易为例进行分析。
实际上,Type 3 交易费用分为两个维度:EVM 维度以及 Blob 维度
利用 Etherscan,我们可以洞察 EVM 维度费用的计算方式
EVM 维度费用的计算跟其他类型交易类似
若要观察 Type 3 交易中的 Blob 部分需要有另外的观察工具 blobscan。
不同于 EVM 维度的费用市场,Blob 维度的费用市场是独立的。
大家或许没有发现上文展示的二维计价模式对于以太坊而言实际上是很特别的。习以为常的思路应该是当引入新的资源 Blob 时,在规范给 Blob 设置一个合理的 Gas 即可。
EIP-4844 实际上是以太坊通往多资源定价的里程碑:
多维资源定价主要解决了以往大一统 Gas 带来的问题:
在多维资源定价下,
类似于 EIP-1559,EIP-4844 有着一个由网络根据 Blob 供需决定的 Blob Base Fee。具体使用的是指数型 EIP-1559 更新算法。区块 n 的 Blob Base Fee 由以下公式决定:
Blob Base Fee 具有自适应的特性:
EIP-4844 中 MIN_DATA_GASPRICE 被设置为 1。这意味着在累计的 Data Gas 低于目标时,Blob Base Fee 会一直维持在最小的非零整数 1 上。
一方面,文章 EIP-4844 Fee Market Analysis 中研究发现 Rollup 的历史需求实际上是低于目标的。在刻舟求剑的假设下,Blob Base Fee 会一直保持在 1,而不会启动任何价格发现的流程。
另一方面,Rollup 运营方预计 EIP-4844 上线后 Blob 需求是比较大的,应该会超过目标(3 个 Blob)的。
真正答案可以在 EIP-484 上线后揭晓,我们可以持续关注 Blob Base Fee 的冷启动过程。
基于上述更新算法,可以推算出相邻区块 Blob Base Fee 的波动范围。
根据 EIP-4844 的规范,有如下设置:
可以得到相邻区块消耗的 Data Gas 的上下限
由于 MAX_BLOB_GAS_PER_BLOCK 是 TARGET_BLOB_GAS_PER_BLOCK 的两倍,因此
相邻区块的 Blob Base Fee 变化率 ratio 为
因此,得到 ratio 的上下限
相邻区块的 Blob Base Fee 变化率与 EIP-1559 中的 Base Fee 类似,都在 12.5 % 以内。值得注意的是,Blob Base Fee 不如 EIP-1559 一般对称(即,上限为 12.5%,下限为 -12.5%)。本质原因在于 Blob Base Fee 采用指数型的 EIP-1559 机制。
实际上,指数型 EIP-1559 机制和现有 EIP-1559 机制是同源的。
尝试对 exp(x) 进行泰勒展开,当 x 足够小时,exp(x) 约等于 x+1,可以推导出现有的 EIP-1559 机制:
在此近似下,相邻区块的变化率是对称的。
类似于 EIP-1559 中的 Base Fee,Blob Base Fee 也是会被销毁的。Blob Base Fee 会在 Type 3 交易在 EVM 中执行前销毁。即使在 EVM 中执行失败,Blob Base Fee 也不会退回。
当前从 Etherscan 以及 Blobscan 等工具无法得知 Blob Base Fee 销毁的情况。我们可以通过 beaconcha.in 洞察 Blob Base Fee 销毁的情况:
在 EIP-1559 中,Gas Price 由 Base Fee 和 Priority Fee 组成:
类比 EIP-1559,Blob 理应有 Priority Fee。然而,Blob 实际上是没有 Blob Priority Fee 的,即只由 Blob Base Fee 组成:
基于直觉考虑,Priority Fee 是用于激励区块提议者的方式,否则区块提议者没有动力去打包交易,毕竟 Base Fee 都被销毁掉了。
然而,Blob 实际上是不需要 Priority Fee 的。即使没有 Priority Fee,仍有激励区块提议者的方式:
实际上,builder 或区块提议者在挑选 Type 3 交易进行打包时需要不同于其他类型的策略。主要考虑到:
在后续系列的文章会对这部分做更深入的分析。
Rollup 实际在使用 Blob 作为数据可用方案上需要一定的策略。
一方面,主要是因为 Blob 采用的是集装箱的收费模型。因此,对于 Rollup 而言,需要权衡:
另一方面,主要是 Blob 作为一种数据可用方案,并非完全优于 Calldata:
笔者认为在限制 Calldata 的使用后,Rollup 基本都会使用 Blob。Blob 的联合发布实际上可以解决 Blob 数据延迟成本过高的问题。现实世界的集装箱也不限于只装一家的货物。不过,Blob 的联合发布依赖于基础设施的建设,需要等待。
另外,Blob 的联合发布意味着 Rollup 需要分摊各自的成本。一种直觉的分配方案就是按 Blob 中各自的数据比例进行分摊。然而,这并非是完全合理的分配方案。这是因为小型 Rollup 相对于大型 Rollup 在 Blob 的联合发布上有着更大的需求和更多的获益,理应分摊更多的成本,即高于其数据比例。
在后续系列的文章会对这部分做更深入的分析。
EIP-4844 的费用市场有着许多有趣的研究点:对多维资源定价的探索,更符合直觉的指数型 EIP-1559 的应用,Type 3 交易的 tip 巧思与挑选策略,Rollup 数据可用策略以及新型的 Blob 联合发布市场。欢迎加入 ETHconomics Research Space 一起讨论研究。
EIP-4844 spec
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
Exponential EIP-1559
https://dankradfeist.de/ethereum/2022/03/16/exponential-eip1559.html
EIP-4844 Fee Market Analysis
https://ethresear.ch/t/eip-4844-fee-market-analysis/15078
文中列举截图的交易来源
https://sepolia.etherscan.io/tx/0x818a970a060796a9426acd7dfc4245edfe24d398bfab9a7e7fc4be23851bb04a
https://sepolia.blobscan.com/tx/0x818a970a060796a9426acd7dfc4245edfe24d398bfab9a7e7fc4be23851bb04a
https://sepolia.beaconcha.in/block/5216786#overview
文中引用 Vitlalik 的评论来源
https://x.com/VitalikButerin/status/1750183998523871561?s=20
RollCall #2.1 Breakout - 4844 Testing
https://www.youtube.com/watch?v=V8d0fQoMeP4