The Future of Ethereum: Account Abstraction and Modular Smart Contract Accounts

Jong Hyuck Won
10 min readDec 8, 2023

--

Introduction

In this section, we will introduce the speaker and their role at Alchemy, provide an overview of the challenges in onboarding users to Web3, explain Alchemy as a web 2 developer platform, and discuss the three transitions in blockchain according to Vitalik Buterin. We will specifically focus on the second transition, which involves moving users from EOA to contract accounts.

Introduction to the Speaker and Their Role at Alchemy

The speaker is a member of the engineering team at Alchemy and has been with the company for over three years. They have been working on web3 user experience and have spoken with numerous development teams, identifying the challenges in onboarding users to Web3.

Overview of the Challenges in Onboarding Users to Web3

One common theme among development teams is the difficulty in onboarding users to Web3. The limited market that they can address is not sufficient to run their business, and they are looking for ways to make user onboarding easier and more scalable.

Explanation of Alchemy as a Web 2 Developer Platform

Alchemy is a web 2 developer platform that provides tools and services to developers building dapps and other tools on top of Web3. Similar to how operating systems allow developers to build on top of hardware and cloud computing on top of cloud infrastructure, Alchemy aims to provide a seamless platform and user developer experience by building on top of web infrastructure.

Overview of the Three Transitions in Blockchain According to Vitalik Buterin

Vitalik Buterin has identified three main transitions that need to occur to enable the onboarding of more people to blockchain. The first transition is moving to Layer 2 (L2) solutions for scaling. The second transition, which we will focus on, involves moving users from EOA (Externally Owned Account) to contract accounts. The third transition is the Privacy transition.

Focus on the Second Transition: Moving Users from EOA to Contract Accounts

The second transition identified by Vitalik Buterin is the move from EOA to contract accounts. Currently, all blockchain activity on Ethereum must be initiated by an EOA. However, the goal is to enable contract accounts, which provide more flexibility and allow for different access rules, such as using different cryptographic schemes and implementing account recovery. This transition is crucial for improving wallet user experience while maintaining self-custody.

Rewind to the 90s

Let’s take a trip back in time to the 90s and compare the internet user experience (UX) of that era to the current UX. In the 90s, the internet was a far cry from what it is today. Internet speeds were slow, and downloading even simple web pages took a considerable amount of time. The design of websites was often cluttered and unappealing, and navigating through them was a challenging task. Additionally, internet security was a major issue, with users frequently falling victim to viruses and other cyber threats.

During that time, the concept of internet companies was still relatively new, and their business models were often unorthodox and unappealing to traditional companies. Internet companies faced limitations in terms of scalability, infrastructure, and legal frameworks. As a result, they struggled to compete with established companies that had years of legal precedence and proven business models.

Fast forward to today, and the internet UX has come a long way. Websites are sleek, intuitive, and optimized for user experience. Companies now understand the value of providing a seamless and user-friendly online experience. The internet has become an integral part of businesses, and almost every company utilizes it to provide value to their customers.

Internet companies today offer a wide range of services and products, from e-commerce platforms like Amazon to social media platforms like Facebook. These companies have harnessed the power of the internet to connect with their customers and provide value in ways that were unimaginable in the 90s.

Now, let’s shift our focus to the importance of improving UX in blockchain. Blockchain technology has the potential to revolutionize various industries, but its adoption is hindered by poor user experience. Many blockchain interfaces, such as wallet setups and transaction processes, are complex and confusing for the average user.

By improving the UX in blockchain, we can make it more accessible and user-friendly, allowing a wider audience to embrace this technology. Account abstraction and modular smart contract accounts play a crucial role in improving UX in blockchain. These concepts enable developers to provide value to end users while abstracting away the complexities of the underlying crypto rails.

In conclusion, the internet UX has evolved significantly since the 90s, and internet companies now provide immense value to their users. Similarly, improving the UX in blockchain is essential for its widespread adoption. By leveraging account abstraction and modular smart contract accounts, we can create a more seamless and user-friendly blockchain experience.

Improving UX with Smart Contract Accounts

Smart contract accounts play a crucial role in improving the user experience (UX) in blockchain. By leveraging account abstraction and modular smart contract accounts, developers can provide a more seamless and user-friendly blockchain experience. Here’s how:

Explanation of Smart Contract Accounts and Their Benefits

Smart contract accounts are accounts on the Ethereum blockchain that provide more flexibility and allow for different access rules compared to Externally Owned Accounts (EOAs). They enable developers to implement different cryptographic schemes, account recovery mechanisms, and access rules, making it easier to provide a customized and secure user experience.

Overview of the Account Abstraction Infrastructure

The account abstraction infrastructure is a set of protocols and frameworks that enable the use of smart contract accounts. It allows developers to abstract away the complexities of the underlying crypto rails and provides a more user-friendly interface for interacting with the blockchain.

Importance of Account Abstraction in Improving UX

Account abstraction is crucial for improving the UX of blockchain applications. It allows developers to create modular and customizable account structures that cater to the specific needs of their users. By abstracting away the complexities, developers can provide a more intuitive and streamlined user experience.

Introduction to the Bundler as a Solution for Gas Fees

One of the challenges in blockchain UX is the issue of gas fees. Gas fees are required to execute transactions on the blockchain, but they can be a barrier for users. To address this, the bundler is introduced as a solution. The bundler is responsible for aggregating multiple user transactions into a single transaction, reducing the overall gas fees for users.

Overview of the Paymaster as a Solution for Covering Gas Fees

To further alleviate the burden of gas fees, the paymaster is introduced. The paymaster acts as a sponsor for users, covering the gas fees associated with their transactions. This allows users to interact with blockchain applications without worrying about the cost of gas, making the experience more seamless and accessible.

Introducing ERC 6900: Modular Smart Contract Accounts

ERC 6900 is a new standard that introduces modular smart contract accounts to the Ethereum ecosystem. This standard aims to maximize flexibility for developers while optimizing for accessibility, composability, and security. Let’s take a closer look at what ERC 6900 offers and how it can benefit developers.

Explanation of ERC 6900 and Its Purpose

ERC 6900 defines a way for developers to create modular smart contract accounts on the Ethereum blockchain. These accounts provide enhanced flexibility and allow for different access rules compared to Externally Owned Accounts (EOAs). The goal of ERC 6900 is to enable developers to define a stack of plugins or features for their accounts, providing a customized and secure user experience.

Benefits of Modular Smart Contract Accounts for Developers

By utilizing modular smart contract accounts, developers can enjoy several benefits:

  • Flexibility: Developers have the freedom to mix and match plugins to create a customized account structure that meets the specific needs of their users.
  • Composability: Plugins can be easily added or removed from the account, allowing for seamless integration with other smart contracts and dapps.
  • Security: By implementing different access rules and validation functions, developers can enhance the security of their smart contract accounts and protect user assets.

Overview of the Validation Functions, Execution Functions, and Hooks in Modular Accounts

Modular accounts defined by ERC 6900 consist of three core components:

  • Validation Functions: These functions validate the authenticity of transactions, such as verifying signatures or executing custom logic. Developers can define their own validation functions based on their specific requirements.
  • Execution Functions: These functions execute the desired actions within the modular account. Developers can define custom logic based on the features they want to provide to their users.
  • Hooks: Hooks allow developers to execute custom logic before and after the execution of the execution functions. This provides additional flexibility and control over the behavior of the modular account.

Comparison to Android’s Permissioning System

The architecture of modular smart contract accounts in ERC 6900 is loosely based on Android’s permissioning system. In a similar way, developers can define and install plugins or features to create a stack of permissions and functionalities for their accounts. This allows for a more fine-grained control over the account’s behavior and access rules, enhancing the overall user experience.

Potential Use Cases and Benefits of Modular Accounts

Modular smart contract accounts have a wide range of potential use cases and benefits, including:

  • Enhanced Wallet User Experience: By using modular accounts, wallet developers can create a more intuitive and user-friendly interface for interacting with cryptocurrencies and decentralized applications.
  • Secure Account Recovery: Modular accounts can implement account recovery mechanisms, allowing users to regain access to their accounts in case of lost keys or other security incidents.
  • Customized Access Rules: Developers can define specific access rules for their modular accounts, such as multi-signature requirements, cross-chain transfers, or custom transaction conditions.
  • Token-Specific Functionality: Modular accounts can be tailored for specific tokens or applications, providing token-specific features and functionalities to users.

Overall, ERC 6900 and modular smart contract accounts offer developers a powerful toolset to create more flexible, secure, and user-friendly applications on the Ethereum blockchain.

The Road Ahead

Future developments in account abstraction and modular smart contract accounts

The future of Ethereum holds exciting developments in account abstraction and modular smart contract accounts. These advancements aim to maximize flexibility for developers while optimizing for accessibility, composability, and security. By allowing developers to mix and match different plugins and features, modular smart contract accounts enable a more customized and secure user experience. This opens up possibilities for creating unique account structures that cater to specific needs, such as implementing different cryptographic schemes, account recovery mechanisms, and access rules.

Introduction to Runler as a rust bundler

Runler, a rust bundler developed by Alchemy, plays a key role in enabling account abstraction. This bundler is highly modular and leverages the latest advancements in the rust Ethereum ecosystem. Runler allows developers to aggregate multiple user transactions into a single transaction, reducing gas fees and improving efficiency. It provides a seamless and user-friendly experience by abstracting away the complexities of the underlying crypto rails. With Runler, developers can easily bundle user operations and ensure a smooth transaction process.

Plans for public beta release and open sourcing

Alchemy is planning to release Runler as an open-source project in the near future. This will allow developers to run their own bundlers and customize them according to their specific needs. The public beta release is scheduled for early September, providing developers with the opportunity to explore and experiment with Runler’s capabilities. Alchemy is also working on P2P specifications and collaborating with other teams to ensure a well-designed and thoughtfully implemented bundler ecosystem.

Discussion on the challenges and limitations of bundling

While bundling offers significant benefits, there are also some challenges and limitations to consider. One such challenge is the issue of gas fees, as bundlers are responsible for covering these fees on behalf of users. This raises questions around regulatory compliance and the need for money service business licenses. However, the bundling process itself is not considered a money service business, as it operates as a pipeline rather than directly handling funds. Additionally, there may be concerns around frontrunning and the need for mitigating strategies to protect the bundler from such attacks.

Potential use cases and benefits of bundling

Bundling has the potential to revolutionize the user experience in blockchain applications and enable a wide range of use cases. Some potential benefits include:

  • Improved user experience: Bundling reduces gas fees and simplifies the transaction process, making it more accessible and user-friendly.
  • Customized account structures: Developers can create modular account structures with different access rules, cryptographic schemes, and account recovery mechanisms.
  • Secure account management: Bundling allows for enhanced security measures, such as multi-signature requirements and customized transaction conditions.
  • Token-specific functionality: Modular smart contract accounts can be tailored for specific tokens or applications, providing token-specific features and functionalities to users.

As bundling continues to evolve and gain traction in the Ethereum ecosystem, developers will have more opportunities to enhance the user experience and drive widespread adoption of blockchain technology.

Conclusion

In conclusion, account abstraction and modular smart contract accounts offer exciting opportunities for improving the user experience and adoption of blockchain technology. By leveraging account abstraction, developers can provide a more seamless and user-friendly blockchain experience, abstracting away the complexities of the underlying crypto rails. Modular smart contract accounts further enhance flexibility, allowing developers to mix and match plugins to create customized account structures that meet the specific needs of their users.

Looking towards the future, the vision is for all companies to provide value to their users via crypto. With the advancements in account abstraction and modular smart contract accounts, this vision can become a reality, enabling companies to leverage blockchain technology to connect with their customers and offer unique services and products.

If you want to learn more about Alchemy’s work in account abstraction and modular smart contract accounts, visit their website at [website URL]. There, you can find more information about their solutions and how they can help developers improve the user experience in blockchain applications.

For further inquiries or collaboration, you can contact Alchemy through their website or reach out to them via email or phone [contact information]. Their team is available to answer any questions and assist developers in implementing account abstraction in their projects.

--

--

Jong Hyuck Won

Building web3 #AA @alchemyplatform, investing and writing @l2iterative, ex protocol builder @harmonyprotocol @klaytn_official, ex @meta, cs @stanford