The next hard fork upgrade of Ethereum, Prague/Electra, is planned to include both EIP-3074 and EIP-5003, which aim to facilitate the migration of externally owned accounts (EOA) to account abstraction (AA) and advance AA development. While EIP-3074 is a short-term fix to improve the user experience of EOAs, the ultimate goal is to transition all users to smart contracts. EIP-3074 introduces improvements to AA and serves as a step towards fully implementing AA, but it still requires comprehensive support from EIP-5003.
EIP-3074 modifies the Ethereum protocol to allow EOAs to delegate their transaction capabilities to smart contracts, known as “callers,” enabling additional functionalities such as transaction sponsorship and batch processing. Currently, these features can only be used on smart contracts, requiring applications to build different user experiences for EOAs and smart contracts.
EIP-3074 grants EOAs more power but also brings some beneficial side effects for smart contracts. It makes migration to smart contracts easier, allows for a unified user and development experience, and enables hybrid accounts where EOAs can set smart contracts as callers. However, EIP-3074 cannot introduce certain secure features like multisignature wallets or recovery of primary private keys.
To bridge this gap and allow for the complete migration of existing EOAs to smart contracts, EIP-5003 is being discussed. This upgrade extends EIP-3074 by revoking access permissions to the original private keys while deploying smart contract code to EOA addresses. This transformation fully converts EOAs into smart contracts while retaining public addresses, non-transferable tokens, and reputation.
However, there are concerns about the feasibility of this migration path, especially regarding the assumption that revoked private keys can still authorize operations on the account. Cross-chain issues and the potential misuse of leaked keys in offline systems pose challenges. It is essential to implement a clear and complete transition to new identity verification logic for the migration to smart contracts.
The Ethereum community has shown interest in EIP-3074 as a solution to improve EOAs in the short term while the migration to smart contracts is still premature. However, the focus should remain on achieving full AA, which might take longer than initially expected. Including EIP-5003 in the Prague/Electra upgrade is crucial to prevent further entrenchment of EOAs and ensure the adoption of AA.
The debate surrounding EIP-3074 is a critical juncture in the Ethereum account abstraction roadmap. The original roadmap aimed to implement AA through ERC-4337 at the application layer, demonstrate native AA on Layer 2 through RIP-7560, and eventually introduce a similar EIP on Layer 1. The current plan is to implement EIP-3074 while including EIP-5003 in the Prague/Electra hard fork to achieve a complete migration to smart contracts.
In conclusion, it is recommended to implement EIP-3074 and include EIP-5003 in the Prague/Electra hard fork to ensure a comprehensive transition to smart contracts while not leaving legacy users behind or hindering AA adoption. The worst-case scenario would be to only implement EIP-3074, risking the entrenchment of EOAs or severely impeding the adoption of smart contracts.
Related Articles:
– EIP-3074: Could Malicious Signatures Drain Ethereum Wallet Funds? Developer Insights
– Ethereum Security Crisis: Delegate Raises Concerns about Centralized Censorship and EOA Layer Upgrades “How Many More Years?”
– Explainer: When Will Smart Contract Wallets Become Mainstream? Understanding ERC-4337