The concept of “account abstraction” has recently become popular in the Ethereum community. At the Ethereum Community Conference (EthCC) in Paris, Vitalik mentioned the importance of account abstraction and shared some key innovations and existing obstacles brought by account abstraction.
Account abstraction may sound a bit confusing, but it has the potential to completely change the way people interact with Ethereum. Ethereum is one of the most commonly used and important blockchain platforms in the world, so it is important to understand this concept.
What is account abstraction?
Account abstraction allows users to customize their interaction with Ethereum according to their needs. Typically, users interact with Ethereum using externally owned accounts (EOAs) or contract accounts associated with unique private keys. Anyone with a private key can execute any transaction without any restrictions.
- Analysis of friend.tech SocialFi Revolution or a Risky Gamble?
- Tsinghua Blockchain Association A Quick Understanding of Full-Chain Gaming
- Opside launches the NCRC protocol, allowing trustless native cross-rollup communication.
With account abstraction, users can have more precise control over their accounts, including requiring multisig-triggered transactions, enabling social recovery, or implementing restrictions on smart contracts that allow user accounts to interact with them.
One important point to understand about account abstraction is that it does not change the consensus layer of the Ethereum blockchain. Instead, it introduces a new way for users to interact with Ethereum through a separate UserOperation Mempool and the account abstraction architecture described in this article.
Benefits of account abstraction
Account abstraction is not just a technological novelty, it also brings tangible benefits to Ethereum users:
Flexibility: With account abstraction, users can customize transaction rules according to their needs. This enables advanced features and more complex security measures that traditional transactions cannot achieve.
Usability: Account abstraction makes it more convenient for Ethereum users to use the platform by allowing third-party developers or other parties to pay transaction fees on behalf of users.
Improved security: Account abstraction can enhance security in various aspects, including multisig control, account freezing and recovery, transaction restrictions, and whitelist creation.
If it still sounds a bit “abstract,” let’s use an example to illustrate the role of account abstraction.
Multisig transactions and social account recovery
One notable use case of account abstraction is the use of multisig transactions. Currently, most end users interact with Ethereum using EOA addresses, and the private keys associated with EOA addresses can easily become a single point of failure.
However, account abstraction can provide a solution in high-risk situations where single points of failure are not desirable. Users can set their accounts to require multiple signatures before approving transactions, similar to joint bank accounts or multisig contracts used by developers. This is particularly effective for users and organizations that require approval from multiple parties for significant transactions, greatly improving transaction security.
Another risk with traditional EOA settings is that if a user loses their private key, they will never be able to access the EOA again and cannot recover the private key. Account abstraction can implement recovery through social media software, reducing this risk.
Vitalik Buterin describes the “Social Account Recovery” system as follows:
There is a single “signature key” used to approve transactions. There is a group of at least three (or more) “guardians”. The majority of the guardians can collaborate to change the signature key of the account. Typically, users can use the “signature key” just like using a standard EOA account private key.
However, if the signature key is lost, users can contact the guardians and request them to sign a transaction to change the signature key registered in the wallet contract. If the majority of guardians sign the transaction, the signature key can be changed. Similar to the “forgot password” function in Web2 applications, the “Social Account Recovery” function greatly reduces the risk of permanently locking user accounts.
Smart Contract Interaction
Account abstraction can change the way users interact with smart contracts. In traditional Ethereum accounts, any transaction signed by the user will occur without any restrictions. For example, there are countless examples of users unknowingly interacting with malicious smart contracts and causing asset losses. With account contracts, users can constrain and control the way they interact with smart contracts using their own logic.
For example, account contracts can maintain a whitelist of audited contracts that can safely interact with users, reducing the risk of users unknowingly interacting with malicious contracts. In addition, account contracts can also handle batch processing of transactions and session keys. Users only need to sign once to execute multiple transactions, without the need to individually sign each transaction like in traditional EOA settings. This will also bring a wider audience and smoother user experience for DApps.
Enhanced Security Measures
Account abstraction allows users to add more advanced security measures to their accounts. For example, like using a credit card, the account can be immediately frozen if suspicious activity is detected. In addition, users can set spending limits for their accounts to prevent sending too much funds in a single transaction. What’s more interesting is that, similar to “contactless payment for small amounts,” account abstraction can adopt a method of grading amounts, where regular transactions are executed immediately, while large transactions require multiple signature approvals.
Account abstraction can provide end users with finer control, which can more effectively prevent hacker attacks and provide additional protection against unauthorized transactions.
Gas Payment Flexibility
Transaction fees or Gas are the foundation of the Ethereum ecosystem. Currently, users must pay Gas fees with ETH. However, account abstraction allows users to pay Gas fees with other tokens. This is a major advantage for users who hold a large amount of specific ERC-20 tokens and want to interact with specific DApps or platforms, as they can skip the step of obtaining the native token and pay the Gas fees directly with their preferred token.
In addition, the flexibility of Gas fee payment also lies in the ability to enable other DApps to support user transactions without barriers. Imagine if users can interact with DApps without paying any transaction fees, or if they can pay the Gas fees through third-party payment methods (perhaps one day WeChat will directly support this). This initiative may change the overall adoption of DApps and may become an effective means of eliminating the main barriers for new users to join.
How does account abstraction work?
Account abstraction has many key components, including:
User operation: It is an ABI-encoded structure. It describes the transactions executed by the user. For example, a user initiates a “UserOperation” and includes the transaction they want to execute.
Bundler: It is a block generator that bundles multiple UserOperations from independent UserOperation memory pools and sends the bundled package to the EntryPoint contract.
EntryPoint: It is a smart contract on Ethereum responsible for verifying and executing these bundled packages.
Account contract: It is the user’s smart contract wallet, representing the user’s signature verification and transaction processing. The account contract is created by the account factory contract.
Payer: It is an optional component structure that can provide Gas fees for the user’s account contract, so users who do not pay ETH for Gas fees can still interact with Ethereum.
Vitalik Buterin summarizes the architecture and control flowchart of account abstraction in the two images below.
Account abstraction structure, source: Ethereum Improvement Proposals
Account abstraction transaction flow, source: Ethereum Improvement Proposals
Embracing the future of Ethereum
When we look forward to the future of Ethereum and blockchain technology, the concept of account abstraction becomes a key innovation. It not only represents the evolution of Ethereum in terms of flexibility, security, and user-friendliness but also brings us closer to a future where blockchain technology deeply integrates into our digital lives.
Account abstraction is a powerful tool that is expected to enhance the user experience of Ethereum and create a world full of possibilities for users and developers. It marks a shift in rigid transaction rules, allowing for the establishment of a more customizable and interactive blockchain environment.
Through EIP-4337 and its implementation on the mainnet, the Ethereum community has demonstrated its commitment to continuous innovation. This proposal cleverly avoids the need to make any modifications to the Ethereum consensus protocol, thereby facilitating a smooth transition to its implementation on the Ethereum mainnet.
Increasing the adoption of Web3
The potential benefits of account abstraction are not just technical improvements. By creating a more intuitive and accessible environment, the adoption rate of Ethereum could skyrocket, attracting a large number of new users who previously found blockchain technology intimidating or difficult to navigate.
In addition, advanced security measures can provide users with greater peace of mind. As we continue to explore the boundaries of blockchain technology, concepts like account abstraction remind us that the only limitation is our imagination.