EIP-7523: Empty Accounts Deprecation


Why Ethereum is cleaning up the state tree by banning useless (empty) accounts
Quick Overview
Field | Value |
EIP | EIP-7523 |
Title | Empty Accounts Deprecation |
Author(s) | Peter Davies (@petertdavies) |
Status | Last Call (as of 2024-03-26) |
Created | 2023-09-19 |
Requires | EIP-161 |
Introduction
Ethereum is a powerful decentralized platform, but like any long-running system, it carries some baggage from its early days. One such piece of technical debt is the concept of empty accounts accounts that exist in the blockchain state but do absolutely nothing.
EIP-7523 proposes a straightforward cleanup: ban empty accounts entirely on post-merge networks. While this doesn’t change anything visible to end users, it’s got a big implications for Ethereum client developers and core protocol maintainers. Let’s explore what this proposal is all about.
What Are Empty Accounts?
Empty accounts are artifacts from Ethereum’s early design. These are accounts that:
Have no ETH (zero balance)
Have no code (not a contract)
Have no storage
Have never initiated a transaction (zero nonce)
Despite doing nothing, they still consume space in the blockchain’s state tree, and worse, client software has to account for them especially due to older rules from EIP-161, which dictate how they should be created and deleted if “touched.”
Although Ethereum Mainnet cleared all remaining empty accounts at block 14049881, and they can no longer be created, developers still need to write, test, and maintain code to handle them, just to be compatible with history. That’s unnecessary overhead.
EIP-7523 formally prohibits empty accounts, freeing up client implementations and reducing protocol complexity going forward.
Who Benefits from EIP-7523?
This proposal doesn’t affect how smart contracts are written or how dApps behave at the surface but it has meaningful implications for several groups of developers:
1. Ethereum Client Developers (e.g., Geth, Nethermind)
No longer need to support the outdated EIP-161 "touch-delete" logic.
Can simplify the account handling code, and improve code maintainability.
Leads to lighter, faster, and more secure node implementations.
2. Test Engineers and Spec Maintainers
Test suites can eliminate unnecessary edge cases related to empty account creation or deletion.
Reduces false positives or weird bugs that arise from legacy behavior.
Helps keep consensus testing clean and focused on current protocol logic.
3. Custom Chains and Protocol Forks
Builders of new EVM-based chains or rollups can start fresh, without inheriting legacy account behavior.
Cleaner base specifications make upgrades easier and implementation safer.
Promotes consistency across new networks that don’t carry historical baggage.
Backward Compatibility
EIP-7523 has no backward compatibility issues.
It does not affect any existing behavior on Ethereum Mainnet or other post-merge networks since empty accounts no longer exist in practice.
The EIP simply formalizes a rule that is already true in implementation, cleaning up protocol definitions without breaking anything.
Security Considerations
The validity of this EIP is dependent on the assertion that all empty accounts on Ethereum Mainnet were cleared prior to the merge. This should be subject to appropriate verification.
Any networks artificially created with empty accounts will cause problems with tooling and clients.
Conclusion
EIP-7523 might seem boring on the surface it bans something that "doesn’t exist anymore." But its value lies in clarity, simplicity, and forward-thinking protocol design.
By formally removing the concept of empty accounts, Ethereum becomes easier to maintain, less error-prone, and more efficient for client and tooling developers. It’s one of those behind-the-scenes upgrades that make the whole ecosystem smoother for everyone building on it.
References
Subscribe to my newsletter
Read articles from Bn-Yusuf directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
