EIP-8188
Proposed for Inclusion in Hegotá
Wei Han Ng (@ngweihan_eth)
Ethereum Foundation (Stateless Consensus)
Majority of the state is inactive
last_written_periodperiod = (block - PERIOD_START) // PERIOD_LENGTH
~6 months per period. Derived from block number, no extra state.
Account RLP gains a 5th field. Storage slots wrap their value in a list with the same field. Legacy entries decode as last_written_period = 0.
Writing to Inactive state costs more. Writing to Active state costs less.
Reads are unchanged.
Only actual state mutations bump the period.
Performance benchmarks: TBD · Prototype: github.com/weiihann/go-ethereum · branch feat/eip-8188/inject
Worst case ~3.4GB (0.36GB accounts + 3GB slots). Pre-fork untouched state pays zero. Geth prototype measured only +300MB.
State expiry needs decentralized resurrection infrastructure. None of which exists yet. EIP-8188 has no such prerequisite — state stays accessible, writes just cost more.
Compatible. When the trie moves to a page-based layout (e.g. EIP-7864), the period aggregates to the page: page.period = max(slot.period).
EIP-8188