Under the radar, one of the most significant changes to the Ethereum ecosystem has been announced with little to no reaction from the community. 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 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 EOA or smart contract accounts. However, the Ethereum Foundation seems to have decided that there is no place for EOAs in the future of the ecosystem, favoring smart contract wallets as the default account model for users.
EIP-4337 and account abstraction
Ethereum Foundation Security Fellow Yoav Weiss announced the launch of EIP-4337 while speaking at ETHDenver. The Ethereum network upgrade enhances the capabilities of smart contract wallets with account abstraction elements, including decentralized bundles, 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 approach that avoids the need for consensus layer protocol changes entirely, and instead relies on a separate group of UserOperation objects and miners running custom code or a package marketplace” .
However, one key aspect of EIP-4337 that has seemingly gone unnoticed by many is the move to eliminate EOAs entirely. The documentation for the EIP on the Ethereum Foundation website states that a central motivation for the upgrade is to “completely remove any need for users to also have EOA.”
“Achieving the key goal of account abstraction: enabling users to use smart contract wallets containing arbitrary verification logic instead of EOA as their primary account. Completely remove any need for users to have EOA as well.”
CryptoSlate He approached several wallet providers, but none were willing to discuss the possible removal of EOAs entirely, given the Ethereum Foundation’s lack of time. At press time, the Ethereum Foundation has not responded to attempts for comment.
What is an EOA?
An EOA on Ethereum is a specific type of account managed by a user who owns the private key, as opposed to a smart contract account. Essentially, an EOA serves as a user’s cryptographic identity on the Ethereum blockchain, allowing them to hold, send, and receive ETH, NFT, or other tokens, and interact with smart contracts.
An EOA is identified by a unique public address of its private key. Unlike a smart contract account, an EOA has no code or logic associated with it. However, you can still sign transactions to initiate transfers, implement 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 code and follows the rules specified within that code.
Do we need EOA?
EOAs are the most proven type of blockchain account. Popular software wallets like MetaMask and hardware wallets like Ledger, Tezor, and SafePal are based on EOA accounts. Removing EOAs would have a dramatic impact on such projects and would require large-scale code upgrades.
While the problem of onboarding new users to web3, by requiring them to securely register 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.
Additionally, removing EOAs would lead to myriad potential issues that need to be addressed, including loss of simplicity, increased complexity, higher transaction costs, compatibility issues, security issues, EVM fragmentation, and even a potential decline in adoption due to increased friction.
I am not suggesting that all of the above problems are insurmountable. However, the path to eliminate OAEs will include problems that have not yet been conceived. Also, since Ethereum is at the heart of the web3 ecosystem, removing EOA from the Ethereum network will likely lead to compatibility issues across the EVM landscape.
Problems removing EOA
In a bear market, it is easy to advocate the use of smart contracts, which use, on average, more gas than EOAs due to the complex logic used in executing the code. At press time, the cost of gas on Ethereum is 12 GWEI ($0.40), including the base network fee.
The graph below shows the change in the average gas price paid per transaction since the network was launched. Throughout the 2021 to 2022 bull run, gasoline climbed to a high of 305 GWEI and averaged around 120 GWEI, about ten times what it is now. If EOAs were to be phased out entirely, the cost of transactions on the Ethereum layer 1 blockchain network would surely rise.
However, the progress of Ethereum scaling solutions like Polygon and industry-specific Layer 2s like Immutable will be even more vital to the network should base layer transactions become prohibitive.
With respect to the other issues identified, the changing landscape of regulatory guidance must also be considered. The European Parliament recently passed a law on the Internet of Things (IoT) industry, which requires all smart contracts to contain a ‘kill switch’ and therefore include ‘proxy update capability’. Article 30 of the legislation has the following requirement:
“The implementation of smart contracts for third parties in the context of an agreement to make the data available shall comply with the following essential requirements (…)
Safe Termination and Interrupt: Make sure there is a mechanism to terminate the continuous execution of transactions: the smart contract will need to include internal functions that can reset or instruct the contract to stop or interrupt the operation to prevent future (accidental) executions.
This means that any smart contract wallet would have to contain a feature that would allow the developer to delete the account, removing the sovereign nature of the account if it were implemented by someone other than the account owner.
Also, if Ethereum moves away from EOAs entirely, any EVM chain would have to implement the same functionality, or risk losing compatibility with Ethereum Mainnet. Deployment to other chains is unlikely to sync up, resulting in a fragmented ecosystem and potentially incompatible dApps.
Projects that currently have full support for multiple EVM chains might lose access to some networks during the transition.
EOA Innovation
So why eliminate OAEs? The Ethereum Foundation seems to have given up on the potential to innovate in the EOA space with the call to phase out EOAs altogether. However, I did advise a project called Intu in 2022 that is doing just this, and it’s unlikely to be the only one. For full transparency, I was paid for my time advising on the project, but I have no incentive for Intu to succeed other than to believe in the team’s vision.
The purpose of this article is not to offer any solutions or create FUD within the Ethereum ecosystem. Instead, I wish to raise awareness of this issue and facilitate discussion and coordination within the space.
I don’t think we should have statements from the Ethereum Foundation declaring the removal of EOAs without first having a proper public process. Such a process would ensure that EOAs need that will be removed, what the timeframe will be, and how all potential security, compatibility, and usability issues will be resolved before the transition.
It is also essential to emphasize that the removal of EOA is not confirmed. Ethereum is a decentralized ecosystem with no centralized controlling party. However, the Ethereum Foundation has a lot of influence within the developer community. So I think it’s important to continue this conversation for the health of the ecosystem.
I understand the point of view of the Ethereum Foundation. I just want the conversation to be more open to make sure we move into bead abstraction with our eyes wide open. As Paul Saffo so wisely said: “Strong convictions, weak.”