Exploring the Benefits of Account Abstraction in Rollups

Zeeve - Dec 27 '23 - - Dev Community

EIP-4337 has brought along a matured or, we can say, the final version of Account abstraction (AA), which has transformed how blockchain wallets have been used and managed traditionally via private-public key combination & secret phrase mechanism. Being an amalgamation of externally owned accounts (EOAs) and smart accounts, account abstraction unlocks great possibilities for Layer-2s, including rollup networks.

This article discusses the various benefits of account abstraction (ERC-4337) in rollups. Though this is not something natively supported with many of the rollup SDKs as of now, we will see how we can integrate the benefits of AA easily with L2 and Sovereign Rollups

What is Account Abstraction (ERC-4337)?

Account abstraction, as the name suggests, abstracts away the account management approach from the underlying blockchain. Abiding by the ERC-4337 token standard, account abstraction proposes an amalgamation of externally owned accounts (EOAs) and contract accounts. Hence, the features it offers are programmable smart contract accounts, seedless account management/recovery, multi-sig authentication, and more. 

For a detailed understanding of Account abstraction, refer to the article below:

ERC-4337: How is ‘Account Abstraction’ a game changer for the web3 industry?

What are blockchain Rollups?

Blockchain rollups are layer-2 scaling solutions that aim to take the transaction computation process off-chain on a separate network while remaining connected with the underlying Layer 1 blockchain for the purpose of inheriting security and final settlement. 

Read more:  The benefits of using rollup infrastructure across different sectors: Key aspects to consider

Optimistic rollups and zkRollups are the two main types of rollups available for web3 projects to use. OP Stack and Arbitrum  Orbit are the popular Optimistic Rollup frameworks for building modular optimistic rollup chains, whereas Polygon CDK and zkSync Hyperchains let you build your own ZK-powered L2/L3 network easily. 

Want to learn more about rollups and its benefits across various sectors? Refer to our detailed guide linked here: Various Rollup frameworks for launching Optimistic and ZK rollups

What are the benefits of Account Abstraction for rollups?

Accounts abstraction is a game-changer concept for the web3 ecosystem. Although ERC-4337 was first introduced through Ethereum, its implementation is rapidly done on various EVM and non-EVM compatible Layer-2 networks, including Rollups. That’s so because layer-2s, like rollups, are more flexible compared to layer-1 when it comes to full implementation of any new technology. 

Using account Abstraction rollup networks like Polygon zkEVM, zkSync Era, Arbitrum One, Optimism, and Starknet have been leveraging programmable smart contracts to make web3 experience simpler and more exciting for everyone. Let’s now talk about the benefits of account abstraction in rollups:

  • Multi-signature authentication:
  • Layer-2 rollups are being frequently utilized for projects like DAOs, crypto exchanges, and investment platforms where a single individual does not have complete ownership of assets. Hence, for such dApps, multi-signature authentication is very important to authenticate signatures from multiple members. Account Abstraction allows all these projects to program their smart contract with multi-signature functionality setup and complex access control, approving transactions only when they are signed by every authorized member. 

  • Seedless account recovery: 
  • Opposed to EOAs, account abstraction does not rely on the seedphrase or private key-based account recovery options. Instead, it uses unique cryptographic schemes to enable multi-party signature setup in accounts. MPS allows trusted guardians to be authorized to sign transactions on behalf of the user, thereby regaining wallet access. 

  • Smart contract whitelisting:
  • Account abstraction allows dApps to whitelist a specific smart contract they want to interact with. Let’s say you have a logistic company that has created its single-use Layer-2 just to interact internally with the employees. In this case, if you whitelist all the smart contract address that belongs to the respective employees, no one else, like a hacker would be able to drain the funds or access sensitive company’s information. Also, this practice prevents scenarios like transferring funds by mistake to a wrong address or wallet address that does not even exist. 

    Account abstraction allows dApps to whitelist a specific smart contract they want to interact with. Let’s say you have a logistic company that has created its single-use Layer-2 just to interact internally with the employees. In this case, if you whitelist all the smart contract address that belongs to the respective employees, no one else, like a hacker would be able to drain the funds or access sensitive company’s information. Also, this practice prevents scenarios like transferring funds by mistake to a wrong address or wallet address that does not even exist. 

  • Transaction batching for simplified UX: 
  • Interactions on decentralized applications are complex. To complete a single actions, you require to complete multiple steps. For example, if you want to buy NFT from a marketplace, you first need to connect your wallet, go to the bridge, sign transactions, buy tokens, connect to RPC, sign bridge transactions, go to your dApp, and then approve transactions to finally buy NFTs. 

    That’s really a time-consuming and technically-complicated process. Account abstraction eliminates this by allowing multi-call function in your smart contracts, batching all the actions in a single transaction for quick approval. 

    That means, if you buy NFT from an account abstraction-compatible NFT marketplace, you simply need to connect your wallet, buy NFTs, sign batched transaction, and that’s done. This approach improves the user experience and meanwhile reduce gas consumption since there’s no need for individual transaction approval.

  • Instant fund withdrawal/transfer:
  • Rollups may have a long wait period for fund transfers/withdrawal. Like, if we talk about optimistic rollups, users typically wait for about 2-weeks to withdraw their ETH from a base chain or transfer ETH to any active rollup layer. Account abstraction eliminates this issue by allowing rollup ecosystems to make liquidity providers part of their contract, getting their help in making immediate exit of funds, eliminating the slow response and wait time.

  • Seamless user onboarding: 
  • Blockchain dApps– be it a rollup or non-rollup ecosystem, its users have to go through the complex and time-consuming process of setting up a web3 wallet, account creation, adding 2-factor authentication, managing seed phrases, and, most importantly– ensuring the security of private keys. Completing these steps can be a challenge for non-web3 users.

    Therefore, account Abstraction bypasses all these challenges with features such as gasless transactions (sponsored payment by dapp itself of any 3rd party), ease of paying gas in any native token, biometric or social recovery-based wallet creation & login, flexible account recovery option in case seedphrase is lost, abstraction of session keys that needs signing endless pop-ups, and quick, few-step account setup.  

  • Implementation of custom signature schemes: 
  • dApps with account abstraction will have the flexibility to launch custom signature schemes. For example, you can substitute today’s private key-based signature scheme with a more powerful, quantum-resistant signature or BLS, which enhances security significantly while keeping the ecosystem ready to adopt ongoing crypto advancements.

  • Ability to program transaction validity scheme:
  • Account abstraction-compatible rollup networks offer dApp developers the power to program and set their own validity criteria for transactions. If we talk about blockchains like Ethereum, transactions are considered valid only if certain parameters are met. For example, it must possess the correct nonce and a valid signature, or your account must maintain enough gas balance to pay for transactions. These all traditional EVM rules. Now, with account abstraction, projects can use additional modules to add their own custom set of conditions that confirm the validity of transactions. 

  • Option of setting spending limits: 
  • With account abstraction support, every smart account on a rollup network can set its spending limit daily, weekly, or monthly. This will prevent accounts from spending funds beyond the chosen limit. Further, in case of a situation like your account being hacked, the attacker will not be able to withdraw funds beyond the limit. 

  • Automated gas payments:
  • Automatic payments or scheduling payments is a feature of account abstraction that provides dApps with a traditional, web2-app payment-like experience. With EOAs, paying the gas fee is a painful task, as you have to sign every transaction manually via private keys. To provide a solution,  account abstractions allow projects to program their smart contract specifically to allow transaction execution via proxy of private keys. These proxy can be trusted, third-party service providers who can pull funds via smart contracts to automate payments and subscriptions. 

  • Adding Application-specific restrictions: 
  • Besides the general restrictions, projects building their own custom rollup chain may require adding application-specific restrictions to address their specific privacy concern. Account abstraction allows decentralized applications to set up additional restrictions, such as limiting access to transaction data, customizing gas fees, or adding eligibility criteria for smart contract deployment.

  •  Payments in native currency/Fiat:
  • DApps with support for account abstraction can allow accounts to use Paymasters to allow transaction fees to be paid in any native currency or token, for example, USDC or ERC-20. These paymasters also allow for ‘sponsoring transactions’, allowing dApps to pay for others’ gas fees. Logics related to both these payment options need to be programmed into smart contracts while building the dApp. 

  • Fraud monitoring: 
  • Considering that security is vital for blockchain rollups, account abstraction allows smart contracts to include a third-party fraud monitoring service that acts as co-signatories programmed by the users. These can validate signatures, check transactions, authenticate the pre-defined security rules, and do much more. These third-party services won’t have the ability to access or control your assets; they can just approve the transactions. 

    Image description

    Implementing Account Abstraction on L2/L3 rollups using Biconomy AA Toolkit with Zeeve RaaS

    As discussed the benefits of account abstraction in rollups are extremely promising. But, as we discussed, most SDKs currently do not have native support for ERC-4337. That’s where account abstraction service providers like Biconomy become useful. As an integration partner of Zeeve, developers can leverage Biconomy’s SDK and design their custom UX with programmable plug-and-play modules easily. This unlocks benefits like effortless user onboarding, simple web2-like UX, limitless customization, higher security, and much more.

    Biconomy offers a full-stack AA SDK for effortless implementation of account abstraction on all kinds of Layer-2 and Layer-3 networks, including rollups

    With thousands of smart contracts deployed in its ecosystem, Biconomy claims to account for over 86% of the market share of the ERC-4337 compliant smart contract market. Biconomy’s Account Abstraction SDK v1 mainnet has been live since April, and it recently rolled out SDK v2. This new release aims at improving the previous SDK & ERC-4337 offering with the following stack of composable services: 

  • Modular smart contracts- plug-in modules for adding custom features and capabilities to account abstraction wallets, enabling them to offer improved web3 user experience.

  • Paymasters as a service- Solution for enabling gasless, sponsored transactions for users and meanwhile allowing gas fees to be paid in any token.

  • Bundlers as a service- Using this service, you can pass on UserOps of your dApp to Biconomy, and the bundles will execute them on-chain. Note that any non-Biconomy package can be used to create your dApps’ UserOps, but you can still use Biconomy bundlers API. 
  • Further, Zeeve offers everything needed for the seamless launch of L2s and L3s, such as RPC nodes, wallets, explorers, data indexers, faucets, and cross-chain bridges. Further, if you need to discuss any aspect of your project, our blockchain experts are ready to assist you. Connect with them on a one-to-one call for derailed discussion or drop your queries via email on this page. 

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .