Agenda
- EIP-8037: State Creation Gas Cost Increase:
- State gas accounting open questions
- EIP-8038: State-access gas cost update:
- Quick benchmarking update from @misilva73
Meeting Time: Wednesday, April 15, 2026 at 14:00 UTC (60 minutes)
Meeting Time: Wednesday, April 15, 2026 at 14:00 UTC (60 minutes)
YouTube recording available: https://youtu.be/U8RvbLPX188
The meeting focused on finalizing decisions for EIP 8037 and DevNet 4, specifically discussing state gas refund mechanisms. The team reviewed several key points including refunds for state creation, self-destruct operations, and account resets, ultimately deciding to provide refunds to the reservoir in most cases except for self-destruct where refunds should occur at the end of the transaction. The group also discussed implementation approaches for handling refunds at the time of state destruction versus at the end of the call, with mixed opinions on which approach would be simpler or more efficient. Additionally, the team received an update that state access benchmarks are now working and initial results have been collected, though more data is needed before final numbers can be shared.
The team discussed finalizing decisions on a specification related to Ethereum PM issue #2016 and DevNet 4. Maria led the discussion, noting that Spencer had posted open questions in Discord and that Pavel had recently submitted a proposal that Spencer implemented in the specs. The group began reviewing feedback on whether refunds should be returned to the reservoir when calls are reverted without status creation, with initial consensus suggesting refunds should go to the reservoir.
The team discussed two refund cases related to state costs in a system. For the first case, Maria proposed separating the costs into two components: in-the-moment execution costs and long-term state growth costs, with the state gas component only covering long-term costs. The team agreed to proceed with a refund for this case after alignment was confirmed among Ben, Dragan, Spencer, and Pavel. For the second case involving changes to VM behavior, Maria expressed uncertainty about the refund decision due to implementation complexity, as it would create different behaviors for two scenarios (X to 0 and 0 to X to 0). The discussion ended without a final decision on the second case.
The team discussed implementing state gas refunds and agreed to proceed with providing refunds in specific scenarios. Dragan and Andrew favored doing the refund at the time of X20 rather than delaying it to the end of the section, though implementation details still need to be worked out. The group also aligned on providing refunds when no state is created and when self-destructing an account created in a transaction. No objections were raised to these approaches, though some implementation details remain to be determined.
The team discussed handling refunds for self-destructed accounts and storage operations. They agreed to refund state gas at the end of transactions for self-destructed accounts, as the storage created within them won’t be stored on the state tree. Maria emphasized the importance of maintaining consistency in refund principles, while Ben raised concerns about potential loops and edge cases. The team decided to benchmark the impact of this approach and consider fully deprecating self-destruct in future iterations. They also noted that self-destruct is primarily used in CREATE3 patterns for address generation, rather than general contract deployment.
The team discussed gas costs and account creation behavior, clarifying that no additional state gas would be charged when creating a contract and then self-destructing it in the same transaction, as the account would already exist. Dragan confirmed that no new account would be created and no state gas would be consumed in this scenario. The discussion then shifted to EIP 7702 authorization mechanism, where Maria questioned whether refunds should be handled through the reservoir similar to other transactions, despite not mutating the intrinsic gas amount.
Maria discussed refunding through the reservoir as the most correct approach, consistent with previous decisions, and confirmed the team would proceed with this method after no complaints were raised. The group then addressed transaction inclusion validity, with Maria proposing to check both regular gas and maximum state gas availability before execution to ensure proper coverage. Dragan suggested moving the gas check before execution and implementing two tracks for handling transactions in Dominator 3.
The team discussed two main topics regarding gas handling in EIP 8037. They decided to proceed with current decisions for DevNet 4, including performing refunds at the time of state changes except for self-destruct which will happen at the end of transaction. The team agreed to continue discussing the alternative approach of doing refunds at the end of call asynchronously before making a final decision. Maria also provided an update on benchmarking progress, noting that state access benchmarks are now working thanks to Louise and Johan’s efforts, with initial results collected and more data needed before final numbers are available for compute reprice and state access reprice.
PX0?L0=q)PX0?L0=q)PX0?L0=q)