ACDT #95 · EIP-8253 Postponed to Hegotá
AllCoreDevs - Testing #095 · 2026-09-07
The fix for the block access list's exceptional accounts was pushed to the next fork
A rough consensus formed that EIP-8253, which fixes 28 old accounts with nonce 0 but remaining storage, is too late for Glamsterdam, so it was postponed to the next fork, Hegotá, and the final decision was handed to Thursday's ACD call.
Why it matters
The block access list (BAL) is a core structure of Glamsterdam that lets a block's state be applied without re-executing transactions, but it was confirmed that the spec has a gap because of the 28 old accounts. Postponing the fix keeps Glamsterdam's release schedule, but in exchange clients will have to handle this exception in Hegotá.
Decisions
- EIP-8253 postponed: EIP-8253 was postponed to Hegotá on a rough consensus that it is too late for Glamsterdam. This means the fix for nonce-0 storage accounts will not be in this fork.
- 8037 refund PR closed: PR #12249 for EIP-8037's SELFDESTRUCT state gas refund will be closed, as the rejection decision from ACDT #94 stands. This means the proposal to refund state gas through SELFDESTRUCT has fallen through.
- Reorgs go to Hive: It was decided to build the EL reorg test suite in Hive. This is the approach Geth and Besu preferred, and it means a chain reorganization test shared by multiple clients will exist for the first time.
Discussion
Whether to include EIP-8253 in Glamsterdam
It was raised at the last minute that Glamsterdam's block access list (BAL) spec conflicts with 28 old accounts that have nonce 0 but remaining storage, and the discussion was whether to include the fix in this fork or postpone it to Hegotá.
Outcome: Deferral decision 00:42:15
JUMPDEST spam attack and Besu nodes going down
On devnet 8, a spam attack that repeatedly called tens of thousands of 64KB JUMPDEST contracts knocked out 12 of 13 Besu nodes, and the cause and each client's response were discussed.
Shared EL reorg test suite
A proposal came up to turn the reorg tests each client runs separately into one suite everyone shares, and which framework to build it on was discussed.
Outcome: Confirmed 00:52:05
Glossary
- BAL (block access list): Glamsterdam's structure that lists the accounts a block touches and their state changes so the block can be applied without re-execution
- DFI: A mark showing that fork inclusion was rejected (Declined for Inclusion)
- Devnet: A temporary development network for trying out a fork in advance
- Reorg: When the chain switches to a different branch and recent blocks are replaced
- Hive: An Ethereum integration test framework that runs multiple clients under the same conditions
- EEST: A shared test tool for verifying the execution layer spec (Execution Spec Tests)
- JUMPDEST: An EVM instruction that marks valid jump destinations, which this attack used to create code analysis load
- Nonce: A value that counts the transactions an account has sent or the contracts it has created