What is ERC-4337
Account abstraction is a technique that combines externally owned accounts (EOAs) with smart contracts. It allows users to conduct transactions using externally owned accounts controlled by smart contracts, also known as "Smart Contract Wallet."
For more knowledge about account abstraction, please refer to "What is Account Abstraction".
Before becoming an ERC standard, EIP-4337 was initially proposed by Vitalik Buterin and six others in September 2021. It was formally launched as ERC-4337 on March 1, 2023, at WalletCon, marking the beginning of a new chapter for "Smart Contract Wallet".
However, the concept of account abstraction was actually introduced by Vitalik nine years ago. It went through several EIP proposals but was not approved. This is because previous proposals all required changes to the underlying Ethereum protocol, which would lead to a hard fork. ERC-4337, on the other hand, avoids this. It is the only proposal that can achieve account abstraction without needing to modify the Ethereum core protocol.
So, how does ERC-4337 achieve account abstraction without consensus changes?
How does ERC-4337 implement account abstraction?
ERC-4337 doesn't modify the underlying consensus of Ethereum; instead, it introduces the concept of UserOperations to achieve account abstraction.
UserOperation refers to transaction operations initiated solely by users. It contains the transaction initiator (user), transaction requirements, signatures, and other transaction-related information. UserOperations can be read and verified by functions within the "Smart Contract Wallet" and then uploaded to the Ethereum mainnet for successful execution.
In ERC-4337, multiple UserOperations can constitute a UserOperation mempool. The function of the UserOperation mempool is similar to a traditional mempool, which is a mempool containing multiple transactions.
UserOperations within the UserOperation mempool will be aggregated and processed by miners or bundlers who use services like Flashbots. The bundlers bundle multiple UserOperations into a single Bundle Transaction for validation, enabling batch processing of transactions.
When processing transactions, bundlers prepay the gas fee for the Bundle Transaction first and then compensate themselves later by collecting fees paid by users for each UserOperation. The processing order of UserOperations follows the same logic as the traditional mempool, based on the priority of fees.
What's the significance of ERC-4337?
The release of ERC-4337 holds significant importance for the development of crypto wallets, primarily in two aspects:
The implementation of account abstraction in ERC-4337 greatly enhances the security of crypto wallets. It enables more secure and efficient validation logic and signature schemes, rather than relying on a single private key and complex mnemonic phrases. The inclusion of multi-signature schemes for features like social recovery and biometric signatures further enhances the security of user assets.
- User Experience
ERC-4337 brings various flexible and convenient transaction features to cryptocurrency wallets. These features can enhance transaction interoperability, increase user-friendliness, and save transaction time. For instance, functionalities like ERC-20 token fee payment, support for EVM-compatible networks, batched transaction bundling, and one-click payments.
What else do you want to learn?