Under the radar, one of the most significant changes to the Ethereum ecosystem has been announced with little to no community reaction. Account abstraction is a core advancement in web3 account management, but the current roadmap brings a new goal — to remove Externally Owned Accounts (EOAs) entirely from the Ethereum ecosystem.
The term account abstraction refers to the process of abstracting away the complexity of a web3 account to create a more user-friendly experience for the end user. Initially, the goal was to generalize the web3 account model so that all accounts are treated similarly — regardless of whether they are EOAs or smart contract accounts. However, the Ethereum Foundation appears to have decided that there is no room for EOAs in the ecosystem’s future, favoring smart contract wallets as the default account model for users.
EIP-4337 & Account Abstraction
Security Fellow for the Ethereum Foundation, Yoav Weiss, announced the launch of EIP-4337 while speaking at ETHDenver. The update to the Ethereum network upgrades the capabilities of smart contract wallets with elements of account abstraction, including decentralized bundlers, token fee payment, an alternative mempool, and other account abstraction features.
Ethereum co-founder Vitalik Buterin originally introduced the EIP in September 2021 when he shared a concept on the Ethereum message board with the following message:
“An account abstraction proposal which completely avoids the need for consensus-layer protocol changes, instead relying on a separate mempool of UserOperation objects and miners running either custom code or a bundle marketplace.”
However, one key aspect of EIP-4337 that has seemingly gone unnoticed by many is the move toward removing EOAs entirely. The documentation for the EIP on the Ethereum Foundation website states that a core motivation for the upgrade is to “completely remove any need at all for users to also have EOAs.”
“Achieve the key goal of account abstraction: allow users to use smart contract wallets containing arbitrary verification logic instead of EOAs as their primary account. Completely remove any need at all for users to also have EOAs.”
CryptoSlate reached out to several wallet providers, but none were willing to discuss the potential elimination of EOAs entirely, given the lack of timeframe from the Ethereum Foundation. As of press time, the Ethereum Foundation has not responded to attempts for comment.
What is an EOA?
An EOA on Ethereum is a specific kind of account managed by a user who holds the private key, unlike a smart contract account. Essentially, an EOA serves as a user’s cryptographic identity on the Ethereum blockchain, enabling them to hold, send, and receive ETH, NFTs, or other tokens and interact with smart contracts.
An EOA is identified by a unique public address from its private key. Unlike a smart contract account, an EOA has no code or logic associated with it. However, it can still sign transactions to initiate transfers, deploy smart contracts, or interact with existing smart contracts on the Ethereum network.
The main distinction between an EOA and a smart contract account lies in their control. An EOA is managed by an external entity using a private key, while a smart contract account is controlled by the smart contract’s code and follows the rules specified within that code.
Do we need EOAs?
EOAs are the most tried and tested type of blockchain account. Popular software wallets such as MetaMask and hardware wallets like Ledger, Tezor, and SafePal are all founded in EOA accounts. Removing EOAs would dramatically impact such projects and require large-scale code updates.
While the issue of onboarding new users into web3 — by requiring them to safely record and store a complex private key or long seed phrase — is a widely accepted problem, removing a core component of the Ethereum ecosystem poses a drastic solution to the problem.
Furthermore, removing EOAs would bring countless potential issues that need to be addressed — including the loss of simplicity, increased complexity, higher transaction costs, compatibility issues, security concerns, EVM fragmentation, and even a potential decrease in adoption due to increased friction.
I am not suggesting that all of the above issues are insurmountable. However, the path to removing EOAs will include problems that have yet to be conceived. Furthermore, as Ethereum sits at the heart of the web3 ecosystem, removing EOAs from the Ethereum network will likely lead to compatibility issues across the entire EVM landscape.
Problems removing EOAs
In a bear market, it is easy to advocate for the use of smart contracts — which use, on average, more gas than EOAs due to the complex logic used in the execution of the code. As of press time, the cost of gas on Ethereum is 12 GWEI ($0.40), including the network base fee.
The chart below shows the change in the average gas price paid per transaction since the network was launched. Throughout the bull run 2021 – 2022, gas rose to a high of 305 GWEI and averaged around 120 GWEI, some ten times higher than it is now. Should EOAs be removed entirely, the cost of transacting on the Ethereum layer-1 blockchain network would almost certainly increase.
However, the advancing progress of Ethereum scaling solutions — such as Polygon and dedicated industry-specific layer-2s like Immutable — will be even more vital to the network should transacting on the base layer become prohibitive.
Concerning the other issues identified, the changing landscape of regulatory guidance also needs to be considered. Recently, the European Parliament passed an act on the Internet of Things (IoT) industry — requiring all smart contracts to contain a ‘kill switch’ and therefore include ‘proxy upgradeability.’ Article 30 of the legislation has the following requirement:
“The deployment of smart contracts for others in the context of an agreement to make data available shall comply with the following essential requirements[…]
Safe termination and interruption: ensure that a mechanism exists to terminate the continued execution of transactions: the smart contract shall include internal functions which can reset or instruct the contract to stop or interrupt the operation to avoid future (accidental) executions.”
This means that any smart contract wallet would have to contain a function that would allow the developer to remove the account — eliminating the self-sovereign nature of the account if this were implemented by anyone other than the account owner.
Furthermore, if Ethereum moves away from EOAs entirely, any EVM chain would need to implement the same functionality — or risk losing compatibility with Ethereum Mainnet. The implementation across other chains would unlikely be synchronized, resulting in a fragmented ecosystem and potentially incompatible dApps.
Projects that currently have full compatibility with multiple EVM chains could lose access to some networks during the transition.
EOA Innovation
So why remove EOAs? The Ethereum Foundation appears to have given up the potential to innovate in the EOA space with the call to remove EOAs entirely. However, I advised a project called Intu in 2022 that is doing precisely this, and it is unlikely to be the only one. For total transparency, I was paid for my time advising the project, but I have no incentive for Intu to succeed other than believing in the team’s vision.
The point of this article is not to shill any solution or create FUD within the Ethereum ecosystem. Instead, I wish to raise awareness for this problem and facilitate debate and coordination within the space.
I do not believe we should have statements from the Ethereum Foundation declaring the removal of EOAs without there first being a proper public process. Such a process would ensure that EOAs need to be removed, what the timeframe looks like, and how all potential security, compatibility, and usability issues would be solved prior to the transition.
It is also critical to emphasize that the removal of EOAs is not confirmed. Ethereum is a decentralized ecosystem without any centralized controlling party. However, the Ethereum Foundation holds a lot of sway within the developer community. Therefore, I believe it’s important to continue this conversation for the health of the ecosystem.
I understand the Ethereum Foundation’s point of view. I simply wish for the conversation to be more openly held to ensure we move toward account abstraction with our eyes fully open. As Paul Saffo so wisely said, “Strong convictions, weakly held.”