Exploring Account Abstraction 2023 — Part1

Chaisomsri
Block Magnates
Published in
15 min readFeb 28, 2024

--

1. ERC-4337 and Account Abstraction

In the blockchain ecosystem of 2023, various events took place, but one of the noteworthy news was the release of ERC-4337. In March 2023, at WalletCon, the Ethereum Foundation announced that the audit of the ERC-4337 implementation was completed, and account abstraction based on ERC-4337 could officially be used on all EVM chains.

Yoav Weiss announces the deployment of the ERC-4337 EntryPoint contract, source: CoinDesk

Since then, nearly a year has passed, and there have been many changes in the ERC-4337 and account abstraction ecosystem. In this article, we will explore the discussions that took place in the account abstraction ecosystem throughout 2023 and predict what changes might occur in the future.

2. What Does ERC-4337 Abstract?

2.1. The History of Account Abstraction

Before we dive in, let’s first discuss what account abstraction and ERC-4337 are and what they aim to achieve.

Account abstraction is a proposal to use smart contract-based wallets to improve Ethereum’s UX, a topic that has been continuously discussed since 2016. The most commonly used Externally Owned Accounts (EOAs) like MetaMask have four main disadvantages from a user experience perspective:

  1. If you lose or have your private key stolen, you cannot recover ownership of the funds in the account. This leads to both major and minor security incidents every year.
  2. You are forced to use a standardized signing mechanism. The current signing algorithm used in Ethereum is solely ECDSA, which not only prevents the use of other advantageous signing algorithms like BLS but also has the downside of potentially being vulnerable if quantum computing becomes commercialized.
  3. There is a lack of flexibility in paying gas fees. Currently, Ethereum does not allow any tokens other than ETH for gas payment, and you must have ETH in your account to send a transaction.
  4. There is also a lack of flexibility in executing transactions. The nature of EOAs, which can only send one transaction at a time, causes various inconveniences for users. A notable example is the additional transactions required for ERC20 token approval when using DeFi, etc.

If smart contracts are used as accounts, most of these problems can be solved. Moving from EOAs to Contract Accounts (CAs) and finding solutions through ‘abstraction’ is what we call account abstraction.

It all started in 2017 when Vitalik Buterin proposed this concept to the Ethereum community through EIP-86. EIP-86 proposed a solution that abstracts the transaction signature verification and nonce checking through contract accounts. However, this proposal was not accepted due to the reason that it required too many changes within the protocol. Subsequently, proposals like EIP-2938 and EIP-3074 emerged, suggesting embedding account abstraction into Ethereum clients through protocol changes, but for similar reasons, none were incorporated into Ethereum updates.

2.2. The Emergence of ERC-4337

Later, in September 2021, developers from the Ethereum Foundation, including Vitalik Buterin, proposed ERC-4337. Unlike previous EIPs, ERC-4337 is a proposal that emerged with the goal of implementing account abstraction without protocol changes. To achieve this, ERC-4337 uses a separate off-chain mempool instead of the official Ethereum mempool and transactions also use a separate object called User Operation (UserOp).

The structure of ERC-4337 is as follows:

The structure of ERC-4337, source: ERC-4337 Docs

Users of ERC-4337 wallets sign a UserOp instead of a transaction and send it to the mempool. In this mempool, an object called ‘Bundler’ validates the UserOp in place of the original validators, and bundles multiple UserOps into a Bundle to create a single transaction to be submitted to Ethereum.

ERC-4337 EntryPoint contract, source: ERC-4337 Official Docs

For consistent calling, ERC-4337 introduces a contract called the Entrypoint. When the Bundler receives a UserOp from a user, it compiles them and sends a call to the Entrypoint contract. The Entrypoint contract then performs verification and execution for each UserOp, and the result is recorded on the blockchain in the form of a transaction.

2.3. The Abstraction of ERC-4337

ERC-4337 provides users with more functionalities and enhances convenience through the abstraction of three main areas.

  • Authentication and Verification
    -
    In ERC-4337, any method of verification can be used to allow a transaction. This means, unlike traditional transactions, a signature algorithm other than ECDSA can be used.
    - A notable use case is signature aggregation using BLS. BLS is a signature algorithm that can aggregate multiple signatures into a single signature through pairing-based elliptic curves. BLS has the advantage of significantly reducing the resources required for verification and is currently used within Ethereum clients to aggregate the signatures of validators verifying blocks, reducing signature size and verification time.

There has been much discussion in ERC-4337 about using this to reduce transaction costs. Vitalik himself has conducted research showing that signature aggregation using BLS can compress transaction size by about 17%, and including other compression techniques, can reduce the transaction costs of rollups by up to 7 times.

Transaction size compression using BLS, source: Vitalik’s Twitter

ERC-4337 supports the use of BLS and has separately implemented methods in the official implementation’s verification and execution functions to process aggregated transactions.

The second use case is making the interaction process with the blockchain easier by utilizing the existing Web2 signature scheme. Contract accounts cannot create signatures on their own and require a separate signer. However, traditional EOA accounts only utilize ECDSA-based private keys, which has been inconvenient for users who have to manage 12 or 24-word mnemonics.

Using ERC-4337, it does not require managing private keys as before, and can utilize tools more familiar to Web2 users. A typical example is using the iPhone itself as a wallet.

Apple has built a hardware called Secure Enclave in iPhones, MacBooks, etc. This provides an additional security layer isolated from the main processor where the application runs, allowing secure cryptographic signing and other security-related actions to be performed safely. If signing for UserOp is generated within this Secure Enclave, it can provide a user experience similar to having MetaMask built into the iPhone, while also preventing security incidents like private key theft through hardware-level security.

Currently, Secure Enclave uses a signature algorithm called secp256r1, and the verification logic for this can be implemented in ERC-4337 contract accounts to create such wallet applications. However, one issue is that the gas cost of verifying secp256r1 within a contract is too high. This can be addressed through RIP-7212, which will be explained later.

  • Gas Payment Method
    -
    Through account abstraction, it’s possible to have gas fees paid by another contract. This functionality is referred to as a paymaster in ERC-4337.
    This results in two main effects:
    - Firstly, accounts no longer need to keep ETH on hand for gas fees. By using a paymaster, users can pay USDC to the paymaster, and the paymaster can pay the corresponding amount of ETH to the bundler, enabling the use of custom tokens for gas payment.
    - Secondly, it enables a UX where the account supports the entire gas fee. This allows users unfamiliar with Web3 or the concept of gas fees to be onboarded to applications more easily.
  • Transaction Execution
    Unlike EOAs, which can only make one call at a time, contract accounts in ERC-4337 can execute multiple calls at once. The official implementation of ERC-4337 allows users to execute desired calls all at once through a function called executeBatch. Additionally, the Bundler can discretionarily put multiple UserOps into one transaction for execution.

3. Account Abstraction 2023

3.1. Statistics on Account Abstraction in 2023

Monthly UserOp numbers

To date, there have been approximately 8.92 million UserOps since the release of ERC-4337, showing a steep increase. Even now, about 1 million UserOps occur monthly, but considering that Ethereum’s daily transaction count is around 1 million, this is not a very high level. It can be inferred that the adoption of account abstraction and ERC-4337 is still lacking, suggesting there may be some issues or drawbacks with ERC-4337.

Number of UserOps with and without Paymaster

Most UserOps have either been subsidized through a paymaster for gas fees or paid gas fees using tokens other than ETH. Given that about 96.5% of all UserOps have involved a paymaster, it can be said that ERC-4337 is successfully achieving its goal of abstracting the gas payment method.

UserOp numbers by chain
Number of ERC-4337 accounts deployed by chain

The chain with the highest occurrence of UserOp and contract account deployments is Polygon. Compared to Arbitrum or Optimism, Polygon has relatively cheaper gas fees, and based on this, there are more apps looking to build a better UX. This ties into the gas fee issue of ERC-4337, which will be explained in the next article.

3.2. Key Infrastructure Builders

Companies building on the ERC-4337 infrastructure are mainly conducting business by providing Bundlers or offering wallet contracts and SDKs.

Number of UserOps processed by each Bundler
Number of contract wallets deployed by wallet providers

Although numerous companies and protocols are in the building phase, some stand out. As shown in the figure, about 83.4% of UserOps have been processed by Pimlico, Biconomy, and Alchemy, and about 87.2% of contract wallets have been deployed using SDKs from ZeroDev and Biconomy.

In this article, we will introduce these four companies, which are responsible for processing the majority of UserOps.

  • Pimlico
    - Pimlico is a startup that was founded last year and is actively participating in the ERC-4337 ecosystem. Pimlico operates a Bundler named Alto, which is used in various contract wallets and apps such as ZeroDev, thirdweb, CyberConnect, and Safe. It has processed 51.5% of all UserOps within the ERC-4337 ecosystem to date, making it the most used Bundler.
    - In addition, Pimlico is making various contributions to the ERC-4337 ecosystem. Through the introduction of permissionless.js, which will be mentioned later, it has made the integration of contract wallets easier, and by building infrastructure to help with Bundle compression, Pimlico is making several meaningful attempts to accelerate the adoption of contract wallets in various ways, including reducing the costs of ERC-4337.
  • Biconomy
    -
    Biconomy is a company that has been researching relayer infrastructure for meta transactions and has focused on building infrastructure for account abstraction since its release. Biconomy currently provides an all-in-one SDK that includes contract wallets, Bundlers, and Paymasters, making it easier for dApps to integrate contract wallets. In collaboration with applications such as FanTV and CapX, Biconomy has processed more than 2.83 million UserOps.
  • Alchemy
    Alchemy is a company that has been providing blockchain node RPC services and has continued to develop and conduct business related to ERC-4337. Alchemy currently offers a Rust Bundler called Rundler and also provides a contract account SDK called AccountKit. Additionally, the Alchemy team is proposing ERC-6900, which will be explained later, to establish a standard for contract accounts and to work on increasing account reusability.
  • ZeroDev
    - ZeroDev is a startup engaged in the wallet provider business offering contract accounts. ZeroDev provides a gas-optimized contract account called Kernel and, as seen in the figure below, is building the most gas-efficient wallet among existing ERC-4337 accounts at the production level.
    - ZeroDev provides accounts to entities like CyberConnect and has been responsible for the most contract account deployments among ERC-4337 compatible wallets to date. Not only this, but ZeroDev has recently adopted ERC-7579, which will be explained in the next article, to form a modular contract account structure and provide a more convenient UX.
Current gas fee test results of contract wallets, source: aa-benchmark GitHub

3.3. Chains with Built-in Account Abstraction

Apart from the ERC-4337 standard, there are chains that natively support features like contract wallets and paymasters within their protocol. zkSync and Starknet have adopted this approach currently.

3.3.1. zkSync

zkSync has supported contract accounts with built-in account abstraction since the launch of Era in March 2023. This means that in zkSync, not only can contract accounts be used by default, but features like paymasters can also be utilized.

However, a downside of zkSync’s account abstraction is that it is not compatible with ERC-4337. As a result, most of the major wallet providers supporting ERC-4337 (such as ZeroDev, Biconomy, etc.) do not yet support the zkSync chain, and adoption has not been rapid.

Despite this, as the zkSync ecosystem grows, account abstraction is increasingly being used within the zkSync network. Recently, there has been a surge in the use of account abstraction on zkSync for the following reasons:

Number of zkSync transactions through Paymaster

The DEX with the highest TVL on zkSync, SyncSwap, collaborated with a wallet provider called HoldStation to launch a Paymaster feature in December last year. Consequently, Syncswap users can now pay gas fees using USDC or HOLD (Holdstation’s governance token).

Launch of SyncSwap Paymaster, source: SyncSwap Twitter

Although not yet launched, there is a project on zkSync called Clave. Clave aims to provide a very easy wallet user experience on iPhones through Apple’s Secure Enclave, as mentioned earlier. To commercialize this application, the issue of the secp256r1 signature algorithm used in Secure Enclave consuming too much gas for verification needs to be resolved. Notably, the secp256r1 verification contract created by Obvious wallet requires about 43% additional gas (from 330,000 to 590,000 gas) for verification, as shown in the figure below.

Gas fees for Obvious wallet, source: Polygon Mumbai Scan

The Clave team has proposed handling this verification logic not in a general contract but at the protocol level to reduce costs. They suggested making the verification of secp256r1 a precompiled contract through EIP-7212.

Precompiled contracts are contracts predefined within Ethereum nodes, which execute complex logic off-chain (within the node client) instead of on the EVM, thereby reducing the gas costs for execution. A prominent example is the ECRECOVER function used for verifying EOA’s ECDSA signatures, which is a precompiled contract.

Currently, this proposal has been transferred from EIP to RIP (Rollup Improvement Proposal), with discussions underway to implement it at the rollup layer. If this precompiled contract is implemented in rollup networks including zkSync, it is anticipated that convenient wallet applications relying on strong hardware-level security could emerge.

3.3.2. Starknet

Starknet, along with zkSync, also implements native account abstraction. However, Starknet does not comply with EVM and uses Cairo, a language specialized for ZK, instead of Solidity, resulting in limited adoption of account abstraction.

Nonetheless, there are wallets and applications being built on Starknet utilizing account abstraction. One of the notable contract wallets, Argent, has been creating contract wallets since 2020 and currently offers contract wallets on Starknet. Argent provides a feature called Argent Shield, which requires 2FA to be completed before sending a transaction. This ensures that even if the seed phrase is stolen, hackers cannot send transactions unless they breach the security of the email account used for 2FA.

3.4. What Applications are Using Account Abstraction?

Protocols using ERC-4337 and their numbers of users and UserOps, source: BundleBear

3.4.1. DeFi & Payments

  • SyncSwap
    As mentioned earlier, SyncSwap, in collaboration with Holdstation, offers a paymaster feature, allowing users to pay gas fees with currencies like USDC. This enables users to avoid the inconvenient UX of having to keep ETH in their wallet.
  • Visa
    Visa has shown interest in adopting account abstraction to activate payment solutions in the cryptocurrency market since last year. Visa deployed two types of paymasters on Ethereum’s Goerli testnet and developed a monthly payment model utilizing Starknet’s account abstraction features. While these functionalities have not yet reached the production phase, Visa is pursuing innovation in the payment market by utilizing account abstraction.
  • Circle
    -
    Circle, the issuer of one of the most widely used stablecoins, USDC, also supports account abstraction. Circle’s Programmable Wallet provides an SDK for creating wallets compatible with ERC-4337. Accounts created within the Programmable Wallet currently support paymasters and are based on the Polygon network.
    - Circle has also updated USDC to make it easier to use with contract accounts. Through the v2.2 upgrade on November 9th last year, Circle updated USDC to support EIP-1271 signatures. EIP-1271 is a standard for verifying signatures when the account is a contract, including a function that indicates whether a signature made by an EOA is correct for contract accounts that cannot generate their signatures. By supporting this method within USDC, contract wallets can more easily interact with USDC.
Circle’s Programmable Wallet, source: The Crypto Times
  • Grindery
    Grindery is a contract wallet utilizing Telegram, currently providing a payment solution for applications through Telegram. It allows easy account creation via Telegram and gasless transactions through a paymaster. The Grindery wallet operates based on the Telegram app without any additional installation, offering the advantage of easy bootstrapping for users. To date, about 240,000 users have sent a total of 3.37 million UserOps through the Grindery wallet, with an average of about 14 UserOps per account, showing a relatively high account reusability rate.

3.4.2. Social Apps

  • CyberConnect
    -
    CyberConnect is a Web3 social network service that provides infrastructure allowing users to own their data. With the introduction of V3, CyberConnect created CyberAccount compatible with ERC-4337, achieving the highest number of users and UserOps among apps using ERC-4337.
    - CyberAccount offers a gas-optimized experience through a partnership with ZeroDev and has built a paymaster in collaboration with stackup / Pimlico, enabling gas payment with its own token $CYBER, providing a user-friendly experience.
CyberAccount architecture, source: CyberConnect Docs
  • FanTV
    FanTV, building a Web3 streaming platform centered on the creator economy, is improving UX by utilizing account abstraction. Based on Biconomy’s technology, FanTV supports gasless transactions for transfers and trades of IOU tokens, FanCards, etc., through a paymaster. By January, FanTV generated a total of 1 million UserOps, based on its convenient UX.
  • CapX
    CapX offers infrastructure that allows for the pre-distribution of tokens before project launches to enhance early participation and lay the groundwork for growth. Participants in each project’s quests can receive IOU token rewards, with actual tokens awarded upon release. CapX implements this using Biconomy’s paymaster and social login features, enabling participants to easily create contract accounts on CapX and engage in various activities without needing to fill gas. CapX maintains a high retention rate as users are motivated to continuously participate in project quests for future rewards. CapX users send an average of about 12.7 UserOps per account, the highest figure among projects using ERC-4337.

3.4.3. Gaming & Metaverse

  • ZTX
    ZTX is a blockchain initiative activating the creator economy using IP from ZEPETO, one of Asia’s largest metaverses. In September last year, ZTX enabled ZEPETO users to claim on-chain hoodie NFTs, facilitating easy wallet creation on Arbitrum using contract accounts provided by Obi. Although it was a one-time event, generating an average of about 1.02 UserOps per wallet, over 200,000 participants successfully concluded the event.
  • Xai
    Xai, recently gaining attention as a gaming appchain using Arbitrum Orbit, is one of the protocols utilizing account abstraction. Xai aims to enhance user experience as one of its protocol goals, leveraging thirdweb’s SDK.

4. Conclusion

As seen in the statistics, most applications have adopted account abstraction with paymaster as a key feature. It’s also evident that account abstraction is mainly used in social applications, DeFi, and payments, with no significant transaction-making games that have fully adopted account abstraction yet.

However, 2023 can be considered the inaugural year for serious discussions and developments on account abstraction. Despite this, the ongoing adoption and experimentation with account abstraction by various entities across different sectors can be interpreted positively.

Conceptually, using ERC-4337 can significantly improve UX. Yet, ERC-4337 is not widely used in most apps, and no apps have achieved meaningful user retention. This could be perceived as a lack of interest from users in apps that have adopted ERC-4337, but there are certainly disadvantages to ERC-4337 that hinder adoption. In the next article, we will explore what solutions are being created to improve this and how the ERC-4337 and account abstraction ecosystem might evolve in the future.

--

--