It’s been a significant year for Account Abstraction(AA) with the introduction of the ERC-4337 Ethereum standard, signalling new possibilities for all the users of the network.
Now, while ERC-4337 was making waves, Ethereum’s community were hard at work creating Ethereum Improvement Proposals (EIPs) that aimed to fine-tune and optimize the deployment of AA.
These proposals include standards like EIP 6662, ERC 1271, and more.
One such proposal is ERC 6900, which is all about modular account abstraction that brings more flexibility for smart contract development.
In this article, we’ll explore the concept of Account Abstraction and also dive deep into modular account abstraction and uncover the details of the ERC 6900 standard.
Ready to discover? Let’s get started!
Understanding the Basics of Account Abstraction
In the Ethereum ecosystem, two primary types of accounts exist: externally owned accounts (EOAs) and contract accounts.
- EOAs act as active accounts, capable of initiating transactions and covering gas costs.
- Contract accounts, often referred to as “smart accounts,” are passive, requiring EOAs to trigger transactions and fund execution.
Account abstraction involves a transformation of contract accounts from passive to active entities. This change empowers smart contracts to function as user accounts, enabling them to both initiate transactions and validate them independently.
In other words, account abstraction brings flexibility to account management by merging the features of Externally Owned Accounts (EOA) and smart contract accounts into a single contract account. Thus, it eliminates the need to manage separate accounts for different transaction types.
This simplifies transactions, contract creation, and execution of smart contract functions, making the Ethereum ecosystem more efficient and secure. However, it does face several challenges, such as:
- Lack of Customization
- Interoperability constraints between different wallet vendors
- Integration complexities and heightened security risks.
Decoding Modular Account Abstraction
Modular account abstraction offers a solution to these challenges by reimagining smart accounts as customizable modules. So, what is it, and how does it work? Let’s find it out now.
Modular Accounts – Customizable Smart Accounts
Modular accounts are like flexible smart accounts. They possess modules that are separate smart contracts that extend the core account’s on-chain capabilities.
This approach reduces redundancy, enhances security, and promotes the reuse of code, as new features are contained within smart contract modules instead of modifying the core account structure. It paves the way for open, permissionless innovation within the account, facilitating advanced wallet features and improved user experiences in web3 applications.
The recent introduction of the ERC-6900 standard aims to standardize the integration of modules into smart accounts.
ERC 6900 in Modular Account Abstraction
ERC-6900, an Ethereum standard, enhances modular account abstraction in the context of smart contract wallets. It builds upon the objectives of ERC-4337, which aims to abstract the logic for execution and validation within each smart contract wallet.
In simpler terms, it allows developers to create flexible and customizable features for smart contract wallets by abstracting their logic.
This standard introduces modular smart contract wallets, which consist of three key components:
1. Validation function: This component validates the authenticity and authority of the caller to the account.
2. Execution function: It enables the execution of custom logic allowed by the account.
3. Hook: This feature enables the execution of custom logic and authentication of pre/post-execution functions.
Modules, often referred to as plugins or facets, play a pivotal role in enabling these features. They extend the functionality of smart contract wallets and act as external smart contracts authorized by users to implement additional functionality while keeping the core smart contract logic separate.
In short, modules are critical for enhancing the customizability and flexibility of smart contract wallets.
To ensure trust and security in the modular account abstraction ecosystem, a module registry is proposed. The module registry consolidates trust assumptions between users and developers into a single entity, ultimately allowing various parties with different security assumptions to participate.
In addition to the technical aspects, the deployment of ERC-6900 encourages collaboration between module developers and wallet developers. It simplifies the creation of modular, upgradeable execution and validation logic, enhancing the security and interoperability of module development.
In a nutshell, ERC-6900 and modular account abstraction offer developers the ability to create highly customizable and versatile features for smart contract wallets. Having said that, let’s explore the benefits of modular account abstraction.
How does the Modular Account Abstraction gain an upper edge?
Reducing Duplicate Work: With modular account abstraction, developers can build smart account features using modules, avoiding the need to create entirely new account implementations. This reduces redundancy and ensures that core accounts are standardized.
Empowering Developers: Developers can create modules that offer novel on-chain functionalities and pair them with off-chain features to deliver powerful web3 products while maintaining web2-level user experiences.
Virtual Cold Storage: To enhance security, modular account abstraction enables the creation of smart account modules that act as a safeguard against malicious transactions. For instance, a module can be designed to prevent specific digital assets from leaving a user’s wallet, creating a form of “virtual cold storage.”
Users have the flexibility to select the assets to freeze, and the module intervenes with an error message if a transaction risks moving these assets.
Automated Trading Strategies: Instead of requiring users to engage with external dApps, modular account abstraction allows the development of modules to execute DeFi trading strategies directly within the account.
Enhancing dApp User Experiences: Session keys are another innovation made possible by modular account abstraction, introducing a scoped key system. These keys can only approve pre-defined sets or types of transactions.
By providing external parties with scoped keys, users can delegate specific actions bound by user-defined parameters, such as time, transaction origin, transaction value, and gas limit. Session keys simplify interactions with the blockchain, particularly in scenarios like web3 gaming, where continuous interactions are required without constant user intervention.
In essence, modular account abstraction represents a pivotal advancement in making web3 more user-friendly and versatile. It empowers users to tailor their accounts, fosters interoperability between wallet vendors, and fuels innovation in the web3 realm, ultimately leading to more sophisticated wallet features and enhanced experiences in decentralized applications.
When building in Web3, security is not a luxury but a necessity. QuillAudits, a reliable smart contract auditing firm backed by top-tier services and state-of-the-art tools, will be with you on this journey towards a more secure and innovative future.