Source: Smart Contract Tips; Compiled by: Jinse Finance xiaozou
The current Ethereum wallet system shows obvious limitations. Initially, in order to ensure simplicity and reliability, Ethereum adopted the existing and thoroughly reviewed blockchain model wallet mechanism. However, developers soon recognized the limitations and the potential for more advanced solutions in future Ethereum iterations. After many proposals and improvements, the ultimate solution for Ethereum wallets seems to be within reach.
1, What is Ethereum account abstraction?
Ethereum's account abstraction brings programmability to five key functions that are traditionally hard-coded in external accounts (EOA):
Authentication: Moving from fixed ECDSA keys to multiple authentication methods.
Authorization: Move from a single key granting full permissions to multiple access policies.
Replay protection: Separate transaction ordering from the replay protection mechanism.
Gas payment: Decouple Gas payment from the account's ETH balance and support other gas payment methods.
Execution: Evolved from a single call to a target address to complex execution logic involving multiple calls.
2, Account Abstraction Use Cases
Advanced signature schemes: Combine various encryption methods such as Schnorr, BLS, and post-quantum signatures.
Key management: Implement key rotation for security and dead man’s switches for inheritance purposes.
Access policies: Introduce multi-signature and role-based access control, as well as dapp-specific session keys.
Replay protection innovation: Support parallel transactions and pre-sign future operations.
Gas abstraction: Facilitate gas sponsorship and payments for assets other than ETH.
Execution enhancements: Support batching and atomicity of transactions, and support customized dapp user experience.
3, Versatility of Ethereum Account Abstraction in Key Areas
Signature Schemes: Uses a variety of encryption methods, including secp256r1, Schnorr, BLS, post-quantum signatures, and zero-knowledge proofs.
Key Management: Features key rotation and inheritance-centric disablement switches.
Access Control: Multi-signature, role access, specific dapp session keys, and social recovery options.
Replay Protection: Supports parallel transactions and third-party pre-signed transactions.
Gas Management: Supports third-party gas sponsorship and gas payments for non-ETH assets.
Privacy enhancement: anonymous transactions, airdrop claims, and secure withdrawals.
Execution flexibility: support for batch calls, atomic transactions, and specific dapp user experience improvements.
These examples highlight the extended functionality and security improvements of the Ethereum account framework.
4, EIP-3074, and ERC-4337
(1) Using EIP-3074 to advance EOA development
The Ethereum community has long been seeking a standardized approach to enhancing wallet functionality. The debate revolved around two different innovative ideas:
(2) EIP 3074 transaction flow
The EIP-3074 proposal, proposed by Sam Wilson, Matt Garnett and other collaborators, mainly targets the former point. It proposes to introduce two new opcodes, AUTH and AUTHCALL, in the Ethereum Virtual Machine (EVM), which will be used by entities called "invokers" - smart contracts are designated to run on behalf of an EOA after receiving authorization.
Under EIP-3074, users will digitally sign a message with their private key to express their transaction intentions. This signed message is then incorporated into a blockchain transaction that attracts an invoker. The invoker, who possesses the message and uses the AUTH opcode, temporarily assumes the responsibility of commanding the user's account. AUTHCALL is then used to execute the user's transaction. Notably, this process frees users from the requirement to hold ETH to pay transaction fees, as payments can also be made using ERC-20 tokens, etc.
EIP-3074 proposes a seamless enhancement to existing EOS, without the need to migrate assets to a new wallet form (which is a requirement of ERC-4337). This approach can be seen as equipping EOA with additional modularity.
(3) Concerns about EIP-3074
While it has potential, EIP-3074 has raised concerns, particularly about the broad control given to invokers. Critics have drawn parallels to the infamous DAO incident, arguing that such concentration of power could create conditions for similar vulnerability attacks. The trade-off between increased utility and system integrity remains a key point of debate.
Amid the deepening discussions, ERC-4337 emerged, a proposal inspired by Ethereum co-founder Vitalik Buterin.
(4)ERC 4337Transaction Process
(7) Smart Contract Wallets: The Ultimate Arbiter
UserOperation culminates in the user’s chosen smart contract wallet, which is tailored to communicate effectively with the EntryPoint structure.
(8) Looking to the Future of Wallet Integration
The discussion around these advancements aimed to develop a long-term vision for Ethereum. The consensus reached pointed to a future without traditional EOAs, ushering in a new era of smart contract wallets.
(9) ERC-4337 Roadmap
ERC-4337 supporters expect that the User Operation memory pool will eventually replace the current system. A major network upgrade could convert all EOAs into smart contract wallets capable of iterative enhancements, as is the strategy adopted by platforms such as Optimism. In contrast, adapting EIP-3074 to such a future would likely entail considerable technical complexity.
(10) Counter-proposal for EIP-3074
Proponents of EIP-3074 have proposed an alternative trajectory. They envision account abstraction as a complementary feature to EIP-3074, focusing on verifying user intent and providing protections against unauthorized invokers.
(11) The arrival of standard smart contract wallets
While both EIP-3074 and ERC-4337 are on the brink of adoption, their respective deployment timelines differ due to the nature of the proposals:
· EIP-3074 is a core EIP that seeks to modify the consensus mechanism and therefore requires a network-wide update. It is being considered for the upcoming Shanghai upgrade. Its integration is straightforward for node developers.
· In contrast, ERC-4337 requires more extensive coding work, but operates independently of network upgrades (such as Ethereum merges). It has gained support from various clients and has been tested on the Goerli testnet. Efforts are underway to integrate it with popular interfaces such as Metamask and various L2 solutions.
5, Conclusion: A New Dawn for Ethereum User Experience
These proposals are the result of extensive research and experimentation, all efforts dedicated to improving the experience of Ethereum users. The concept of relying on physical tokens for blockchain access is about to become obsolete, and account abstraction heralds a major leap towards mass adoption of Ethereum.