Disclaimer: The authors of this report did not purchase or sell any of the relevant tokens using material non-public information during the research or drafting of this report. The contents of each report reflect the opinions of the respective authors and are provided for informational purposes only and are not intended to be a recommendation to buy or sell any token or use any protocol. Nothing contained in this report is investment advice and should not be construed as such.
VISA made an announcement on May 17th regarding the deployment of two paymasters on the Ethereum Goerli testnet. The report provides visibility into the code of the two paymaster contracts as well as the transactions that were successfully executed during this deployment.
VISA, a prominent multinational digital payment service provider, successfully processed around 258 billion payments in 2022 across over 200 countries and partnering with 21,000 financial institutions. The recent news about VISA’s exploration of account abstraction and paymaster contracts, both of which are relatively underutilized blockchain technologies, has attracted significant industry attention. This raises questions about the meaning of account abstraction and the concept of paymasters, as well as VISA’s motivation to continuously pursue new endeavors despite already being a leader in digital payment services.In this article, we will explore the concept of account abstraction and the potential innovations it can introduce to blockchain-based payment systems, with a specific focus on VISA’s latest initiative.
What is Account Abstaction?
EOA & CA
To fully grasp the significance of account abstraction, it is essential to comprehend the two distinct types of Ethereum accounts: Externally Owned Accounts(EOA) and Contract Accounts(CA), commonly known as user accounts and smart contracts, respectively. These accounts differ in various aspects such as security, verification methods, and their capacity to execute transactions.
To begin, an Externally Owned Account(EOA) is an account that is managed through the user’s private key, typically associated with a hot wallet like Metamask. EOAs enable users to generate and authorize transactions for transferring funds or executing specific contracts. In essence, EOAs can be likened to key-operated vaults, offering the benefits of simplicity, cost-effectiveness, and speed. However, they also come with drawbacks, including the reliance on a single private key for account security, making them susceptible to theft, and their inability to support programmability.
In comparison to an EOA being akin to a vault secured with a physical key, a Contract Account(CA) can be envisioned as a vault controlled by a programmable keypad. CAs have the drawback of lacking private keys, which means they cannot independently execute transactions and require requests from EOAs to do so. However, unlike EOAs, CAs possess the advantage of programmability. This flexibility enables CAs to modify passwords without compromising security and incorporate additional features like biometrics. Although working with CAs can be challenging and intricate, their programmability and enhanced security make them advantageous.
In simple terms, account abstraction refers to the process of abstracting an account to enable it to function as both an EOA and a CA. This involves creating a new system that allows transactions to be executed and validated without relying on the account’s private key. Although the idea of account abstraction has been a topic of discussion since 2017, significant technical advancements were not made until Vitalik Buterin proposed ERC-4337 in 2021.
ERC-4337 is a proposition designed to introduce account abstraction without making modifications to the consensus layer. It achieves this by replicating the process of transaction verification and execution, typically occurring at the consensus layer, and implementing it at the Application Layer. To accomplish this, new contracts and actors such as UserOperation, EntryPoint, Bundler, and Paymaster are introduced.
In the conventional process of EOA transactions, users independently create and sign their transactions using their private keys. These transactions are then submitted to the public mempool. Subsequently, validators prioritize transactions based on their gas costs and include them in blocks, which are ultimately submitted to the Ethereum network.
Nevertheless, with the implementation of ERC-4337, the introduction of the aforementioned new entities will bring about changes in the transaction processing flow. The overall process is depicted in the following diagram.
Examining the diagram provided, we can observe the transaction processing flow in ERC-4337.
- UserOperations created by a user through an ERC-4337 compliant wallet are sent to the UserOperations mempool.
- Bundler creates a bundle transaction by bundling multiple UserOperations.
- Submits the bundle transaction to the EntryPoint.
- (Optional) Validate UserOperations after calling the Paymaster contract.
- EntryPoint verifies and executes each UserOperation.
In essence, the previous mechanism of verifying and executing transactions has undergone a transformation, wherein new entities like “UserOperations” for transaction handling and “UserOperation Mempools” for public mempools have emerged. Additionally, the introduction of a new actor called “EntryPoint” enables transaction processing at the application layer. Now, let’s examine the specific roles played by these key entities in ERC-4337 and explore the advantages it offers to users.
UserOperation is a smart contract generated by a user within an ERC-4337 compliant smart contract wallet(SCW) and can be likened to a transaction created in a conventional EOA wallet. From a technical perspective, UserOperation is not precisely a transaction, but it bears resemblances in terms of its fields and functionalities.
Similar to how transactions from EOA wallets are submitted to the public mempool and await inclusion in an Ethereum block, when a UserOperation is generated, it is dispatched to the UserOperation mempool for further processing.
Bundler is a component responsible for gathering UserOperations dispatched to the UserOperation mempool and consolidating them into a single bundled transaction, which it subsequently verifies.Its function bears resemblance to that of a validator in the current transaction flow. The process of selecting UserOperations to be included in the bundle transaction follows a similar order as in the processing of EOA transactions, prioritizing those with higher gas fees.
Once assembled, Bundler invokes the EntryPoint contract to authenticate and execute each UserOperation encompassed within the bundled transaction. It covers the gas costs with ETH and ultimately submits the bundled transaction to the consensus layer.
The EntryPoint serves as the contract that the bundler invokes to authenticate and execute every UserOperation included within the bundle transaction. It carries out two essential loops: a verification loop for validation and an execution loop for actual execution.
During the verification loop, the EntryPoint verifies whether the account responsible for creating each UserOperation possesses sufficient balance to provide gas to the bundler. On the other hand, the execution loop executes the bundle transaction after revalidating the balance and subsequently returns any remaining balance back to the respective accounts.
The Paymaster contract provides users with the capability to utilize ERC-20 tokens, rather than ETH, for gas payments or to facilitate gas payments directly within the application. Although the paymaster contract is not a mandatory participant in the transaction processing through account abstraction, its advantages for users make it equally important alongside Bundlers and EntryPoint.
By incorporating a paymaster contract, the validation process of each UserOperation by the EntryPoint undergoes a change. Instead of verifying the account responsible for creating the UserOperation, the validation now focuses on confirming that the account funding the gas possesses sufficient funds to cover the transaction costs.
In scenarios where ERC-20 tokens are used for gas payments, it becomes crucial to ensure that the user initiating the UserOperation possesses an adequate amount of ERC-20 tokens prior to deducting gas fees. Once the EntryPoint has collected the gas fees for all UserOperations, it proceeds to submit the corresponding gas fees in ETH to the bundler, finalizing the transaction.
Account Abstraction & VISA
VISA has implemented two paymasters, one for gas payments using ERC-20 tokens and another that supports application-side gas fees, and has performed practical experiments with both approaches. The report, released by VISA on May 17, contains detailed findings from these experiments, as mentioned earlier in this article. Now, the question arises: Why is VISA displaying such strong enthusiasm in pursuing this innovative technology?
VISA is convinced that the existing inefficiencies of the Ethereum network can be addressed through the implementation of account abstraction, a new technology. The company highlights the importance of enhancing payment activity on the Ethereum network, considering that despite having around 240 million Ethereum accounts, the average daily transaction volume on the mainnet is only slightly over one million. This significant disparity becomes even more apparent when compared to VISA’s real-world transaction volume of over 700 million per day.
VISA argues that tackling these inefficiencies requires not only technical improvements but also enhanced user experience(UX) through account abstraction and greater flexibility in the gas payment process. In this regard, the Paymaster functionality plays a vital role. Paymaster enables the acceptance of multiple ERC-20 tokens and handles the submission of gas fees in ETH on behalf of users. This concept closely aligns with VISA’s current business model, which facilitates payments in various currencies without the need for currency exchange in the physical world.
In essence, VISA, renowned for its expertise in resolving payment inefficiencies in the real world, has enthusiastically embraced this new technology with the belief that it can bring similar improvements to the Ethereum network, which faces analogous challenges.
1. Paymaster — Gas Fee Payments with ERC-20 Tokens
The initial Paymaster feature permits users to pay fees using ERC-20 tokens other than ETH. VISA is specifically focused on enabling gas payments with USDC and CBDC(Central Bank Digital Currencies). USDC was introduced as a payment currency on the Ethereum network in March of the previous year. By allowing gas payments with Ethereum, which is a stablecoin exhibiting minimal price volatility and a fixed value of $1, it will reduce entry barriers for users as they won’t need to acquire specific tokens for each network. Moreover, VISA can establish a business model where they receive stablecoins or CBDCs instead of the relatively volatile ETH, benefiting both parties involved.
VISA’s paymaster contract is constructed based on starter code provided by the Ethereum Foundation and the ERC-4337 core team. Its functioning involves receiving gas fees, converting them to ETH, and submitting them to the bundler. Since it is still in the experimental phase and account abstraction is not widely accessible, the only wallet capable of utilizing VISA paymaster is the Ethereum Foundation’s Trampoline wallet. Additionally, they employ the public bundler from the Web3 infrastructure company Blocknative for its bundler functionality.
2. Paymaster — Gas Fee Support
The second Paymaster function takes responsibility for fully paying the gas fees on behalf of the user. It is also based on the starter code and is currently undergoing experimentation where it covers gas fees only for UserOperations created by users on VISA’s approved list, without receiving any compensation.
The concept of users paying transaction fees is a notable characteristic of the blockchain ecosystem. However, in certain contexts such as web2 peer-to-peer financial transactions in South Korea, it is uncommon for users to pay fees in addition to the principal amount. This creates a significant entry barrier for users wanting to utilize blockchain payment systems, which could potentially hinder the widespread adoption of such payment methods. Through the aforementioned paymaster experiment, VISA aims to democratize blockchain payments by establishing a system that enables users to conduct transactions on the Ethereum network for free.
In this scenario, the fees that users are not burdened with can be passed on to the SCW(Smart Contract Wallet) or protocol side. With the increasing prevalence of account abstraction, competition among SCWs that support it will rise. Each SCW will strive to attract more users, and in the process, the number of SCWs willing to cover a user’s gas fees on their behalf may also increase. Consequently, the market dynamics of competition between SCWs, combined with the advancement of account abstraction, will enable users to process transactions on the Ethereum network without any additional costs.
Creating a payment system that allows users to pay for gas using alternative ERC-20 tokens or even eliminates the need to pay for gas would greatly enhance the user experience. Complex payment processes often pose a significant hurdle to the widespread adoption of blockchain technology. For instance, a new user wishing to execute a transaction on the Ethereum network currently needs to navigate through several intricate steps, including creating an account, purchasing ETH, transferring it to their ETH account, executing the transaction, approving multiple signature requests, paying for gas, waiting for transaction processing, and finally executing the transaction. Each of these steps presents a barrier to entry for new users, such as not having enough ETH to cover the fees or feeling hesitant about approving numerous signature requests.
The implementation of gas fee support through account abstraction has the potential to address these inefficiencies and attract prospective users, especially those who perceive blockchain payment systems as complex. Account abstraction enables users with insufficient ETH to opt for alternative ERC-20 tokens as payment for fees or even bypass gas fees entirely. This flexibility empowers users to leverage blockchain payment systems without being limited to a single network.
Since the inception of discussions surrounding ERC-4337 in 2021, numerous cryptocurrency companies have actively dedicated efforts to make account abstraction a practical reality. This enthusiasm was evident during the ‘ETHGlobal Tokyo’ event in April, where projects such as ‘Universal Payment’ and ‘Daypass Paymaster’ were recognized and honored in the Account Abstraction category.
- Universal Payment: A project by Uniswap team that allows users to deposit funds into paymaster and provide a portion of the funds as liquidity in Uniswap or other applications.
- Daypass Payment: A paymaster which offers NFTs to users so that only the holders of those NFTs can receive gas subsidies.
The presence of Dinero’s Redacted Relayer, as discussed in the previous Redacted Cartel article, is consistent with the preceding examples as it employs its own stablecoin, DINERO, to cover gas costs.
The blockchain industry is currently undergoing a period of transition, characterized by concerns over regulatory risks raised by the U.S. Securities and Exchange Commission(SEC). However, there is an active movement led by governments in Korea and other countries to introduce blockchain-enabled financial systems through CBDCs and STOs(Security Token Offerings). VISA’s initiative is significant in that it represents an innovation within the payment system domain, spearheaded by a prominent web 2.0 giant. This development is anticipated to serve as an initial stride towards the universalization of blockchain payments.
- Ethereum, ERC-4337: Account Abstraction Using Alt Mempool, 2021
- VISA, Rethink Digital Transactions with Account Abstraction, 2023
- Decipher, UX관점에서 살펴보는 ERC-4337 Use case for Web3 Game, 2023
- Messari, The Account Abstraction Landscape: ERC-4337, Bundlers, and Paymasters, 2023