拓冰建站拓冰建站
首页 / 资讯中心 / 正文

EIP-7609 解读:为 TLOAD/TSTORE 引入超线性定价模型,重构瞬态存储 Gas 成本

EIP-7609 解读为 TLOAD/TSTORE 引入超线性定价模型重构瞬态存储 Gas 成本【免费下载链接】EIPsThe Ethereum Improvement Proposal repository项目地址: https://gitcode.com/GitHub_Trending/ei/EIPsEIP-7609 是 Ethereum Improvement Proposal 仓库中的一份 Core 类标准提案旨在通过降低TLOAD/TSTORE的基础 Gas 费用并引入与已分配槽位数量相关的超线性superlinear扩展费用在显著提升瞬态存储transient storage常规使用效率的同时从定价层面彻底封堵针对瞬态存储的 DoS 攻击向量。阅读本文后你将掌握 EIP-7609 的完整定价公式与伪代码、其相对 EIP-1153 原定价的改进逻辑以及提案中经过严格数学推导的单合约 / 单交易内存分配上限并理解其与仓库中重入保护相关提案如 EIP-7705的演进关系。背景瞬态存储是什么为什么它被“系统性高估”要理解 EIP-7609 的价值必须先回顾它的地基——EIP-1153Transient storage opcodesFinal 状态。EIP-1153 引入了一对新的 EVM 操作码TLOAD (0x5c) TSTORE (0x5d)瞬态存储的行为与常规存储高度相似按 32 字节字寻址、在调用帧之间持续存在但在每笔交易结束时被完全清除值永远不会被序列化/反序列化到磁盘。它由TLOAD弹出一个 32 字节栈字作为地址并读取与TSTORE弹出地址与值并写入操作寻址方式与SLOAD/SSTORE完全一致。EIP-1153 的原始定价将TSTORE设为与暖存储脏槽写入相同当时为 100 gas将TLOAD设为与热SLOAD相同当时为 100 gas。这个定价在当时出于两个考量一是概念上的简洁性二是回应两个相关 DoS 向量——攻击者可能分配过量的瞬态存储以及回滚revert时的状态回滚成本。然而 EIP-7609 的动机部分给出了一个关键观察瞬态存储从根本上被高估了。理由有三它的定价不涉及退款refund机制它只在合约加载时要求一次新的分配与之相对内存MSTORE每次调用都需要全新分配它与物理数据库没有任何交互不落盘。这意味着瞬态存储的实际资源成本远低于其 100 gas 的定价所暗示的水平存在大幅降价的空间。EIP-7609 的规范基础价下调 超线性扩展费EIP-7609 的规范非常简洁核心是两句话TLOAD的 Gas 成本被提议为5 gasTSTORE的 Gas 成本被提议为8 gas expansion_cost其中当 key 尚不存在于瞬态存储映射中时expansion_cost 1 gas × len(transient storage mapping)否则为0 gas。也就是说写入一个新槽位时额外成本等于当前瞬态存储中已占用槽位的总数写入一个已存在槽位时只付 8 gas 的基础价。这是一条随分配规模线性增长的收费曲线——由于每次新增写入都要叠加当前总量总成本随槽位数量呈**平方级超线性**增长。官方伪代码EIP-7609 给出了可直接落地的 Python 伪代码是理解该模型的最清晰入口G_LOW 5 G_MID 8 SLOPE 1 def gas_tload(_key): return G_LOW def gas_tstore(key, transient_mapping): cost G_MID if key not in transient_mapping: cost SLOPE * transient_mapping.size() return cost参数语义如下参数值含义G_LOW5TLOAD固定基础费用G_MID8TSTORE固定基础费用SLOPE1每个已占用槽位对新增写入的扩展费系数gas/slotexpansion_cost1 × mapping.size()仅当 key 尚未存在时征收一个直观的推论写入第n个新槽位时费用为8 ngas连续写入N个新槽位的累计费用约为Σ(8 i) 8N N(N-1)/2呈平方增长。为什么“便宜的前几个槽位”如此重要重入保护用例EIP-7609 的动机部分强调了 EIP-1153 最重要的用例之一——廉价的重入保护。在瞬态存储足够便宜尤其对最初的几个槽位的前提下重入锁可以在语言层默认启用而不会给用户带来过重负担同时可以预防智能合约中最大、代价最高的一类漏洞重入攻击。这一思路在仓库中是连贯的。例如作者之一的 Charles Cooper 还在 EIP-7705NONREENTRANT / REENTRANT 操作码中延续了这条技术路线该提案的动机同样指出“重入攻击占 EVM 链上用户资金被盗的很大一部分”而瞬态存储虽然降低了防护成本“但还不足以让默认启用变得理所当然”。EIP-7609 正是试图把最后这段成本差距补上。Rationale定价依据来自真实基准测试EIP-7609 的定价不是拍脑袋而是基于基准测试benchmarkingTLOAD实测消耗的 CPU 时间与MUL操作码相近TSTORE实测约为MUL的 1.5 倍。因此G_LOW 5与G_MID 8分别被选定为TLOAD与TSTORE的基础费用——与 5/8 的低廉算术操作费用处于同一量级而非与 100 gas 的存储操作对齐。安全考量超线性模型如何封堵 DoS降价必然伴随风险更便宜的TSTORE意味着攻击者可以更低成本地分配大量瞬态内存。EIP-7609 的安全考量部分用两道数学推导严谨地论证了超线性模型为什么能把 DoS 限制在可接受的范围内。单合约场景约 7,739 个槽位 / 248KB给定 30M gas 区块上限单合约内可分配的瞬态槽位最大数量是方程x(x-1)/2*1 8*x 30_000_000的解约为7,739 个槽位合计248KB。跨合约场景约 23,000 个槽位 / 736KB如果攻击者采用“每个新合约都专为最大化瞬态分配而设计”的策略当单次TSTORE成本超过调用冷合约的成本2600 gas时便切换合约推导过程如下solve for SLOPE * num slots 2600, num_slots 2600 gas_used_by_contract 2600 SLOPE * num_slots * (num_slots - 1) / 2 G_MID * num_slots 3402100 block_gas_limit 30_000_000 num_calls_per_txn block_gas_limit // gas_used_by_contract ~ 8.8 max_transient_slots num_calls_per_txn * num_slots 22927即单笔交易最多可分配约23,000 个槽位 / 736KB。与现状的对比更紧的资源上界EIP-7609 进一步给出了一组对比数据证明该模型整体收紧了客户端可被分配的内存上限分配途径单笔交易可分配内存当前计价表下瞬态存储30_000_000 / 100 * 32约 9.6MB本 EIP 计价下瞬态存储跨合约策略约 736KBSSTORE30_000_000 / 20_000 * 32约 48KB与当前计价表允许的 9.6MB 相比EIP-7609 是净缩减即对客户端资源使用提出了更强的约束。同时提案特别指出这个上限随区块 Gas 上限线性扩展因此在未来区块 Gas 上限提升时该性质依然成立、无需重新论证。向后兼容性EIP-7609 声明未发现向后兼容性问题。这与其姐妹提案 EIP-1153“不改变任何既有操作码行为向后兼容所有现存智能合约”的兼容性立场一致本提案只改变TLOAD/TSTORE的 Gas 计价不改变任何操作码的语义因此存量合约的行为不受影响仅涉及 Gas 成本变化且是成本下降。总结一条“便宜到默认启用、贵到无法滥用”的定价曲线EIP-7609 的核心设计哲学可以浓缩为一句话让常规用例每合约写入少于约 95 个槽位变得便宜让 DoS 攻击变得贵得难以承受。通过TLOAD 5、TSTORE 8 每槽位 1 gas的超线性模型它既把瞬态存储的基础成本拉低到接近算术操作的水平为语言级默认重入保护铺路又将单交易最大可分配瞬态内存从上不封顶约束到约 736KB 的硬上限。需要注意的是该 EIP 目前状态为Stagnant停滞尚未被纳入任何硬分叉计划属于设计探索阶段的提案。不过它提出的“基础价降低 按分配规模线性扩展费”这一计价范式连同 EIP-7705 等围绕重入防护的提案共同构成了瞬态存储定价与安全边界演进的重要参考。如果你正在实现或审计使用TLOAD/TSTORE的合约、客户端或编译器理解这条超线性定价曲线及其背后的 DoS 边界推导将帮助你准确评估瞬态存储在不同槽位规模下的真实成本与资源约束。本文内容以 EIP-7609 原文为骨架相关语义细节可进一步参阅 EIP-1153瞬态存储操作码、EIP-7705重入防护操作码以及 EIP-2200、EIP-3529存储计价与退款上限。版权声明参见仓库根目录的 LICENSE.md。【免费下载链接】EIPsThe Ethereum Improvement Proposal repository项目地址: https://gitcode.com/GitHub_Trending/ei/EIPs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门