十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

EIP-7762 深度解读:提高 MIN_BASE_FEE_PER_BLOB_GAS 以加速 Blob 空间价格发现

EIP-7762 深度解读:提高 MIN_BASE_FEE_PER_BLOB_GAS 以加速 Blob 空间价格发现 EIP-7762 深度解读提高 MIN_BASE_FEE_PER_BLOB_GAS 以加速 Blob 空间价格发现【免费下载链接】EIPsThe Ethereum Improvement Proposal repository项目地址: https://gitcode.com/GitHub_Trending/ei/EIPs本篇技术指南围绕以太坊改进提案 EIP-7762 展开核心主题是将 blob 基础费下限MIN_BASE_FEE_PER_BLOB_GAS从 1 wei 提升至2**25并在分叉时刻将excess_blob_gas重置为 0从而加速 blob 空间的价格发现、避免 blob base fee 尖峰。文章将以 EIP-4844Shard Blob Transactions引入的 blob 定价机制为基线完整还原 EIP-7762 的规范改动与参数推导过程并结合 EIP-4844、EIP-7706、EIP-7892 等仓库内文档讲清该提案的底层原理、计算细节与后续演化。读完本文你将掌握 blob base fee 定价模型的工作方式、为何MIN_BASE_FEE_PER_BLOB_GAS 1会拖慢价格发现以及 EIP-7762 的完整落地改动清单。一、背景EIP-4844 引入的 Blob 定价机制要理解 EIP-7762首先需要回到它的依赖基础 EIP-4844Shard Blob Transactions即坎昆升级的 blob 交易。EIP-4844 为以太坊引入了一种新的 EIP-2718 交易类型——blob-carrying transactions携带 blob 的交易为 rollup 提供专用的数据可用性DA空间。Blob 空间拥有独立的、类似 EIP-1559 的定价机制其中与本提案直接相关的协议常量定义在 EIP-4844 参数表 中| 常量 | 值 | 说明 | | - | - | - | |MAX_BLOB_GAS_PER_BLOCK|786432| 每个区块允许消耗的最大 blob gas约 6 个 blob / 0.75 MB | |TARGET_BLOB_GAS_PER_BLOCK|393216| 每个区块的目标 blob gas约 3 个 blob / 0.375 MB | |MIN_BASE_FEE_PER_BLOB_GAS|1| blob base fee 的下限wei | |BLOB_BASE_FEE_UPDATE_FRACTION|3338477| 控制 blob base fee 每区块最大变化速率 | |GAS_PER_BLOB|2**17| 每个 blob 消耗的 blob gas |1.1excess_blob_gas价格发现的蓄水池Blob base fee 并不直接记录在链上而是通过头字段excess_blob_gas超额 blob gas这个运行总量间接推导。EIP-4844 规定excess_blob_gas是区块之前累计超出目标值的 blob gas 总量当区块的 blob gas 消耗高于目标时该值上升低于目标时下降下限为 0。其计算公式如下注意这里只接收parent一个参数def calc_excess_blob_gas(parent: Header) - int: if parent.excess_blob_gas parent.blob_gas_used TARGET_BLOB_GAS_PER_BLOCK: return 0 else: return parent.excess_blob_gas parent.blob_gas_used - TARGET_BLOB_GAS_PER_BLOCK对于分叉后的第一个区块parent.blob_gas_used与parent.excess_blob_gas均按0处理见 EIP-4844。1.2 blob base fee 的计算fake_exponential得到excess_blob_gas后get_base_fee_per_blob_gas通过 EIP-4844 定义的fake_exponential基于泰勒展开近似指数函数计算当前区块的 blob base feedef get_base_fee_per_blob_gas(header: Header) - int: return fake_exponential( MIN_BASE_FEE_PER_BLOB_GAS, header.excess_blob_gas, BLOB_BASE_FEE_UPDATE_FRACTION )按 EIP-4844 的 Rationale该规则近似于公式base_fee_per_blob_gas ≈ MIN_BASE_FEE_PER_BLOB_GAS * e ** (excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)它是一个自校正公式excess_blob_gas越高blob base fee 呈指数上升从而压低用量、迫使 excess 回落。如果区块N消耗了X的 blob gas则区块N1的excess_blob_gas增加X - TARGET_BLOB_GAS_PER_BLOCK对应 base fee 乘上e ** ((X - TARGET_BLOB_GAS_PER_BLOCK) / BLOB_BASE_FEE_UPDATE_FRACTION)的因子。BLOB_BASE_FEE_UPDATE_FRACTION被选为使每区块最大变化率约为e ** (TARGET_BLOB_GAS_PER_BLOCK / BLOB_BASE_FEE_UPDATE_FRACTION) ≈ 1.125。1.3 区块校验中的调用点在执行层校验中EIP-4844 的validate_block通过以下断言确保excess_blob_gas被正确更新注意这里调用calc_excess_blob_gas时没有传入区块时间戳def validate_block(block: Block) - None: ... # check that the excess blob gas was updated correctly assert block.header.excess_blob_gas calc_excess_blob_gas(block.parent.header) ...EIP-7762 正是要同时改动上面这三个环节参数常量、calc_excess_blob_gas的签名与逻辑、以及validate_block的调用方式。二、动机为什么 1 wei 的下限拖慢了价格发现在 EIP-7762 的 Motivation 一节 中作者给出了清晰的动机链场景假设与现实的偏差设计 EIP-4844 时社区认为 blob 只会在上线后相对较短的时间内一次性进入价格发现但实际并非如此——blob 已经多次进入价格发现状态而且随着容量趋于饱和短期内价格发现事件的发生频率只会越来越高。未来容量上调的叠加效应路线图计划在后续硬分叉中进一步增加 blob 容量这一点已被 EIP-7892 提出的 Blob Parameter Only Hardforks 机制印证届时围绕容量调整的前后时段也可能再次触发价格发现。结论是提高MIN_BASE_FEE_PER_BLOB_GAS可以加速 blob 空间的价格发现。三、规范两项核心改动EIP-7762 的 Specification 由两部分组成均属于 Core 类别的共识层/执行层协议改动。3.1 提升MIN_BASE_FEE_PER_BLOB_GAS主规范改动是将MIN_BASE_FEE_PER_BLOB_GAS从1提升为2**25 MIN_BASE_FEE_PER_BLOB_GAS 2**25 - MIN_BASE_FEE_PER_BLOB_GAS 12**25即 33,554,432 wei。这意味着 blob base fee 不再从 1 wei 起步而是从约 0.0335 GWEI 起步价格发现只需跨越较小的数量级区间。3.2 分叉时刻重置excess_blob_gas为了避免参数上调引发 blob base fee 尖峰spikeEIP-7762 同时修改了calc_excess_blob_gas使其在分叉时刻将excess_blob_gas重置为 0。由于需要检测分叉高度calc_excess_blob_gas的签名必须新增一个block_timestamp参数def calc_excess_blob_gas(parent: Header, block_timestamp: int) - int: # at the fork, set excess_blob_gas to 0 if parent.timestamp FORK_TIMESTAMP and block_timestamp FORK_TIMESTAMP: return 0 # otherwise, calculate normally ...逻辑要点当父区块时间戳仍在分叉之前、而当前区块时间戳已到达分叉时间时直接返回 0从而让 blob base fee 从新的下限2**25重新开始价格发现其余情况仍按 EIP-4844 的原有公式计算。相应地validate_block需要更新把区块时间戳传入calc_excess_blob_gasdef validate_block(block: Block) - None: ... # add timestamp parameter assert block.header.excess_blob_gas calc_excess_blob_gas(block.parent.header, block.header.timestamp) ...四、Rationale参数推导与权衡4.1 数量级鸿沟从 1 wei 爬到需求弹性下降点当前MIN_BASE_FEE_PER_BLOB_GAS为 1 wei比 blob 进入价格发现时的主流成交价低了多个数量级原文表述为 orders of magnitude。每当 blob 需求超过供给blob 便会进入价格发现但要从 1 wei 一路爬到需求弹性开始下降的价格点需要跨越约8 个数量级耗时很长。在区块始终用满 blob 空间的前提下blob base fee 每log(1.125)(10) ≈ 5.885个区块至多翻一倍。这意味着从 1 wei 起步、爬升若干个 2 的幂次所需区块数相当可观——这正是价格发现慢的量化来源。4.2 锚定简单转账成本的参数取值法EIP-7762 采用了一种务实的锚定方法来确定新下限以低 base fee 环境下简单转账的成本为参照。原文给出当 base fee 为 1 GWEI 时一笔简单转账的成本在当时的 ETH 价格2,445.77 美元 ETH/USDC下约为5 美分将该价格peg到 blob 的最小价格上要达到这一价格水平需要excess_blob_gas 63070646从 0 超额出发达到该值所需区块数为63070646 / (3 * 2**17) 160.396947225其中分母3 * 2**17正是目标 3 个 blob × 每 blob 的 blob gasGAS_PER_BLOB 2**17即每区块按目标值持续超量的速度。4.3 保守取值2**25而非2**27与上述 reserve price保留价对应的最接近的 2 的幂次是MIN_BASE_FEE_PER_BLOB_GAS 2**27。但出于审慎考虑提案选择2**25原因有二应对 ETH 价格上涨若 ETH 价格显著上涨2**27对应的 reserve price 可能被设定得过高进而抬高 blob 交易的实际成本下限2**25的实际含义该值对应当时价格2,445.77 美元 ETH/USDC下约1 美分的最低 blob 价格。原文同时指出边界将MIN_BASE_FEE_PER_BLOB_GAS进一步下调至低于2**25只会拖慢价格发现而不会在网络未饱和时显著降低 blob 的价格——即在2**25之下继续降低下限的边际收益很小。4.4 历史数据的实证对比EIP-7762 引用 dataalways 提供的图展示了不同MIN_BASE_FEE_PER_BLOB_GAS取值下type 3blob交易费用中 blob base fee 的占比。第一张图对应当前MIN_BASE_FEE_PER_BLOB_GAS 1的基线可以看到在 1 wei 下限下绝大多数 blob 交易是单 blob 交易且 blob base fee 在总费用中的占比集中在低区间约 0%–8%说明 blob 本身的价格贡献被严重低估。第二张图对应提案的目标值2**25在2**25下限下多 blob2–6 个交易开始出现其 blob 费用占比分布到约 10%–24% 区间。原文同时提醒即使完成上述修改对于历史上的 l1 gas 价格而言blob 的价格仍会由 L1 gas 价格主导——即该改动改善的是价格发现速度而非彻底改变 blob 与 L1 费用的相对权重。五、向后兼容性与安全考量5.1 向后兼容性EIP-7762 的 Backwards Compatibility 一节 明确指出本 EIP 不向后兼容需要在特定区块号上由所有客户端协同升级coordinated upgrade才能生效。这符合其 Core 类别的定位——协议常量与区块头字段计算规则的改动天然要求全网同步激活。5.2 安全考虑Security Considerations 主要影响对象是 rollup使用 blob 作为数据可用性层的 rollup 需要更新其发布posting策略。因为 blob base fee 下限抬升后blob 的绝对价格下限从 1 wei 变为2**25weirollup 的排序器在决定 blob 发布时机、打包 blob 数量时需要重新评估成本模型。此外分叉时刻excess_blob_gas重置为 0也会使分叉后 blob base fee 从新的下限重新起步rollup 的成本预期需要随之调整。六、在仓库中的关联与后续演化依赖基础 EIP-4844本 EIP 的requires字段明确依赖 EIP-4844。上文展示的参数表、calc_excess_blob_gas、get_base_fee_per_blob_gas、fake_exponential与validate_block均出自该文档是理解本提案改动的完整上下文。EIP-7706该提案对 blob 定价机制做了进一步重构如将MIN_BASE_FEE_PER_BLOB_GAS重命名为MIN_BASE_FEE_PER_GAS、以多维 gas 统一gas_limits/gas_used/excess_gas字段说明MIN_BASE_FEE_PER_BLOB_GAS这一常量的语义在后续提案中持续演进。EIP-7892Blob Parameter Only Hardforks该 Final 状态的 Informational 提案为 blob 相关参数target、max、baseFeeUpdateFraction引入了仅 blob 参数的轻量级硬分叉机制并通过blobSchedule配置如bpo1、bpo2等条目按时间戳激活参数变更。EIP-7762 所担忧的后续硬分叉调整 blob 容量可能再次引发价格发现的场景正是 EIP-7892 所规范化的机制两者共同描绘了 blob 容量与定价参数持续演进的路线图。七、总结EIP-7762 以极小且克制的改动面一个常量、一个函数签名、一个调用点解决了 blob 定价体系中的现实痛点将MIN_BASE_FEE_PER_BLOB_GAS从1wei 提升至2**25把 blob base fee 的起点抬高到接近 1 美分的 reserve price使价格发现只需跨越约 1 个数量级而非 8 个在分叉时刻通过时间戳检测将excess_blob_gas重置为 0避免参数上调瞬间造成 blob base fee 尖峰通过简单转账成本锚定 2 的幂次取值 保守下调一档的推导路径在价格发现速度、ETH 价格波动风险与网络未饱和时的实际成本之间取得平衡。尽管该提案当前状态为 Stagnant其核心洞见——blob base fee 下限过低的成本、分叉时的状态重置策略、以及围绕 blob 定价参数的持续演进——在后续的 EIP-7706、EIP-7892 等提案中均有清晰的延续是理解以太坊 blob 经济学演进的必读材料。【免费下载链接】EIPsThe Ethereum Improvement Proposal repository项目地址: https://gitcode.com/GitHub_Trending/ei/EIPs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表