BNB Chain’s Account Abstraction: Present & Future (Part 1).



Blog post image.

Introduction

In Vitalik’s recent speech at EthCC in Paris, he mentioned account abstraction is a promising new technology that could make Ethereum more user-friendly and secure.

It has the potential to solve a number of problems with the current account model, such as the need to always keep an ETH balance for gas fees and the difficulty of recovering lost accounts. He also highlighted another extension, signature aggregation, which can help developers save on gas and data.

BNB Chain has already adopted multiple account abstraction (AA) solutions, such as BiconomyStackupParticle Network, Trust Wallet, Pimlico and others.  

The user base of AA is quickly increasing in all the EVM compatible chains, but still in early stages. Below is a monthly user by chain statistics. The monthly user of AA on BNB Chain has reached 3000+ in Oct, 2023. Higher than Ethereum, but still behind Polygon, Abitrum and Optimism. 

opBNB mainnet launched on October 3rd, 2023, and Account Abstraction (AA) activity has increased significantly due to extremely low transaction cost (less than $0.005), which makes the AA transactions affordable for users. The opBNB entry point contract has over 240,000 transactions, making opBNB one of the most popular chains for AA activity.

https://opbnbscan.com/address/0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789

This blog will update the current state of BNB Chain of AA solution, and share the challenges in BNB Chain including BSC, opBNB, and BNB Greenfield, and finally list a few opportunities or potential solutions of Account Abstraction in the BNB Chain ecosystem. 

Current State of AA solution on the BNB Chain

AA solution as shown below introduced a new type of “transaction” called User Operation, it is sent on behalf of a user. The user operation framework allows users to interact with BSC or opBNB through smart contract wallets without having to use EOAs. The process works by bundling user operations together and submitting them to nodes in a bundle transaction. BSC or opBNB nodes then validate and execute the user operations.

Source: ERC 4337: account abstraction without Ethereum protocol changes

According to EIP4337 motivation, the target of the account abstraction is to:

  1. Allows users to use smart contract wallets containing arbitrary verification logic as their primary account, without any need for EOAs. 
  2. It is decentralised, allows any bundlers to participate and work on a shared mempool, and avoids trust bundlers. 
  3. Supports a variety of use cases, including privacy-preserving applications, atomic multi-operations, paying transaction fees with BEP-20 tokens, and sponsored transactions.

Account Abstraction has the potential to be the singularity of mass adoption, it aims to remove the blockers that prevent non-tech users from starting to start using Web3 technologies to change their lives. There are two main types of AA solutions: AA infrastructure providers and AA Wallet Service solutions.

Account Abstraction Infrastructure Provider 

AA infrastructure providers provide the basic building blocks that AA developers need to create their own AA solutions. This includes the AA developer SDK, Bundler, and Paymaster.

The rise of AA infrastructure providers is likely to have a significant impact on the current RPC API service provider ecosystem. AA infrastructure providers typically provide both AA bundler RPC services(user operation APIs) and normal BSC/opBNB RPC endpoints. This means that developers will no longer need to rely on multiple RPC providers for different tasks. Instead, they will be able to use a single AA infrastructure provider to meet all of their RPC needs.

This shift is likely to lead to consolidation in the RPC API service provider segments. Smaller providers that only offer normal BSC/opBNB RPC endpoints may find it difficult to compete with AA infrastructure providers that offer a wider range of services.

In this article, we use Bicnomy, Stackup, Particle,Pimlico and Etherspot as examples of AA infrastructure. 

FeatureDescriptionBiconomy StackupParticlePimlicoEtherspot
Developer SDKEasy to use AA developer SDK YNYYY
Open Source BundlerAn open source bundler that developers or any third party can run the bundler to wallet developersNStackup bundlerParticle BunlderAlto

skandha
Bundler Hosting ServiceProvide the bundler service API through a hosted serviceYYYYY
Entrypoint Whitelist ManagementAllow wallet developers to query and change the supported entrypoint contracts addressesNY(through config file)YNY
PaymasterEnable wallet developers to contribute modules/plugins for enhanced user cases, such as different custom validation logicYYNYY*
User Operation Public MempoolThis allows bundlers to see all of the pending UserOperations and bundle them together into bundles. Bundlers can then submit the bundle transactions to BSC/ETH nodes, where they will be processed and executed.NNNNY

* indicates the feature is planed and coming soon

Account Abstraction Wallet 

Now, let’s talk about the Account Abstraction wallet solutions, which are usually built on top of the AA infrastructure such as Biconomy and Stackup. Some wallet solutions are designed to be compatible with multiple blockchain infrastructure solutions.

Different from AA Infrastructure solutions, wallet services focus on the user interaction, such as login and recovery, implementing their own signature logic to increase the user experiences, and enhance wallet security. Wallet service often targets dApp developers to embed AA solutions in the dApp so that end users, especially the Web2 users, can smoothly navigate and make transactions in the dApp.  

Below are three typical AA wallet service providers. TrustWallet and Particle are both built on top of AA infrastructure and provide a one-stop AA solution for dApp developers. This means that dApp developers do not need to know the details of AA infrastructure to use it.

Privy focuses on the authentication and login process, providing an easy solution for wallet and dApp developers. dApp/Wallet developers need to integrate Privy with AA infrastructures but enjoy more flexibility. 

FeatureDescriptionTrustWalletParticle Privy
Social LoginLogin with social account, like email, google/apple account,, etcNYY
PasskeysTo use a passkey, the user’s device generates a pair of cryptographic keys, and it will be synced across user`s devicesYNN
Account recoveryAccount Recovery allows users to recover their account even when they have lost their key. Y*YY
MFAProvides users additional security factors for their wallet.Y*NY
Signature MigrationAdd flexibility for users to change their signing preferences, e.g. Passkeys to MPC, or changing their Signature Algorithm.Y*NN/A
Spending LimitFeature to limit the amount of token usable in a day(week,etc). This also provides additional security as users block unintended misuse/exploit of their asset. Y*NN/A
Contract ModularityModularity of contract allows easy and faster addition of features to new wallet + enhance wallet security. Minimises the complexity of adding features.YYN/A
Aggregated Signature (BLS)A helper contract trusted by accounts to validate an aggregated signature. Bundlers/Clients whitelist the supported aggregators.NNN/A
Gas abstractionAllow users to pay gas with their preferred token or sponsored by dApp projectsYYN/A
SessionAllows users in a dApp to create a session where they only need to sign a transaction once, rather than repeatedly signing transactions.. (e.g. in Web3 games)Y*YN/A
Batch transactionAllows users to increase the efficiency of multiple operations like swap, similar goal to EIP-3074YYN/A
Plugin MarketplacePlugin registry is a developer marketplace where the community can contribute additional feature functionality to the smart contract similar to Extensions, Snaps. Example: Add GPS requirements to open a wallet.Y*NN/A

* indicates the feature is planed and coming soon

Outstanding Design of AA solutions

Trust Wallet – Diamond Proxy pattern for maximum modularity and upgradeability

Barz is an AA Smart Contract Wallet implementation developed by TrustWallet which provides the security, modularity, upgradeability and architecture.It is based on the Diamond Proxy pattern, defined in EIP-2335.

Source by Trustwallet

Because of the design, TW wallet service provides the following interesting capabilities. 

  1. Facet Registry, which is a smart contract having all the registry of facets and its function selectors only from facets considered secure and attachable to the user’s wallet. This provides security to users by protecting them from adding invalid/malicious facets to their wallets.
  1. Signature Migration

This capability allows wallets built with the TW Barz to allow users to migrate key management mechanisms, such as from Passkeys to MPC, or from Mnemonic to Passkeys, and from Passkeys to BLS.

Particle Network – Omnichain AA Solution

Particle Network has proposed its own approach to omnichain AA. While the general idea is the same as Vitalik’s, which is to separate the Storage and Code of smart accounts, Particle Network plans to use an independent chain – Particle Network Chain – as the full-chain Storage database for smart accounts, and synchronise the changes of a user’s account Storage to the Account local on other chains through a third-party cross-chain messaging solution (LayerZero, CCIP, Axelar, Connext, etc).

Source: Particle

The advantages of this solution are:

  • True omnichain AA can be achieved, that is, smart accounts can operate across multiple chains.
  • Cross-chain efficiency can be improved, because only Storage changes need to be synchronised to Particle Network Chain, instead of synchronising Code.
  • Cross-chain costs can be reduced, because only the Gas fees of Particle Network Chain need to be paid.

Of course, this solution also faces some challenges:

  • An independent chain needs to be developed, which requires certain technical and resources.
  • It is necessary to rely on third-party cross-chain messaging solutions, which may lead to security risks.

Conclusion

The current status of Account Abstraction (AA) on BNB Chain is promising, and BNB Chain already has some AA infrastructure toolkit developers such as Biconomy, Stackup and Particle, these providers laid a solid foundation for wallet as service developers such as Particle and Trust wallet to implement the AA solutions for dApp developers and end users. 

However, we still have multiple challenges to be conquered together with the community. From the EOA migration to Greenfield support, there’s progress to be made towards solving the fragmentation problem and reduce the costs of AA transactions. We will discuss these challenges in Part Two, stay tuned!