The State of Meta Transactions — 2020
Every crypto interaction — whether it’s simple tasks like buying, selling, sending, receiving or more as well as complex interactions with a variety of Defi contracts/apps or other DApps like games, and contract wallet accounts all relies on on-chain blockchain interactions. We still see difficulties in what is supposed to be quick and easy transactions using blockchains and its unfamiliarity is a huge barrier to the adoption of DeFi, gaming and other Web3.0 trends that we predict will scale in the next couple of years.
A few promising solutions have slowly but definitely been transforming the experience these applications provide the end-user. One of the most promising is meta transactions popularised by Austin Griffith — this is an idea of fee delegation where a third party or application developer sponsors the user’s gas fees for transactions. Through a network of off-chain relayers, DApps and wallets can ensure a smoother UX for their end-users where end-users only need to sign a transaction, and relayers will manage the gas and submit the transaction on-chain. This means an individual could use a DApp without worrying about acquiring tokens to pay the base layer’s fee and readily transfer value the way it works in Venmo or PayPal today. In addition to this, meta transactions allow end-users to skip the complexities of acquiring Metamask, storage of private keys, or using the right address.
Here’s our article on the hardships faced by users whilst interacting with the Web3 world:
In a nutshell, meta transactions have enormous potential in mass blockchain adoption as it broadens the areas where DApps and apps utilizing blockchain for other use cases can be used effectively by normal people and small businesses as it smoothens the overall UX.
It’s important to note that meta transactions are not wallets, rather they are enabled at the DApp level to ensure a smooth UX for the end-user mainly for abstraction purposes. The wallet is therefore independent meaning meta transactions are fully non-custodial with end-users having full ownership of their private keys.
How did Meta transactions Evolve?
After Austin laid a solid groundwork for relayers and meta transactions, the team behind Taboo Key actively committed to implementing meta transactions on Ethereum. This team along with Metacartel, Open Zeppelin, and more led to the formation of the Gas Station Network, a decentralized relayer network for gasless transactions. In addition to this body of work, there are also several Ethereum Improvement Proposals as follows:
Allows users that simply own ERC20 tokens to perform operations on the ethereum network without needing to own ether themselves by letting a third party, the relayer, the responsibility to execute a transaction on the ethereum network carrying the desired operations (the so-called meta transaction) in exchange of a token reward to cover the relayer’s gas cost.
The ability for token holders to pay transfer transactions in tokens instead of gas, in one transaction
The Gas Station Network, as mentioned earlier (EIP 1613) is a compliant effort to solve the problem by creating an incentive for nodes to run gas stations, where gasless transactions can be “fueled up”. It abstracts the implementation details from both the dapp maintainer and the user, making it easy to convert existing dapps to accept “collect-calls”.
Ultimately meta transactions are an interesting strategy for improving the user experience when interacting with blockchains. However, it’s important to note that meta transactions are not only solving the “gas problem”. There are other protocols that claim to have “gasless” transactions, however, there is always a cost unless you are being subsidized by someone else. (And gasless transactions are different from meta transactions in practice).
- IOTA has free transactions but users must mine two other transactions before they can send their own.
- EOS has free transactions but users have to create an account and stake EOS to use the protocol, but this process is fairly expensive.
- Nano has free transactions but users must perform computation when there is a p2p transaction.
- NEO has free transaction for NEO transfers only (up to 21 per block)
It’s right to say that meta transactions are an innovative way to simplify the transactions for the end-users by just not only solving gas related issues but by vastly improving the end-user experience which we will discuss further below.
Use Cases/ Emerging Trends of Meta transactions
The concept of meta transaction that permits a third party to perform transactions on behalf of the user doesn’t only boil down to gasless/ feeless transaction but is a border concept involving a plethora of use cases.
- Gas Management:
It’s a fact that Ethereum gas prices have been a major hurdle for adoption and a big bulk for the Ethereum community. With more on-chain activity, there leads to congestion resulting in gas wars, with transactions having the highest gas being accepted. Complex smart contracts would also involve higher gas to compute and so some Defi applications are expensive to use.
At Biconomy we are leveraging Meta transactions to optimize the gas price through a variety of methods such as transaction batching, implementing a gas token model, and more.
2. Transaction Management:
Managing transactions has become a big pain point for many DApp developers, crypto savvy users, and more broadly the Defi ecosystem at large. This is largely due to when the number of transactions in the mempool outstrips the capacity of new blocks, the network becomes congested. As a result, the transactions that pay a low fee get lost and stuck in the mempool. Meta transactions can provide a reliable transaction infrastructure to authorize, publish, and verify that transactions settle at the quickest time possible. Biconomy as well as other projects such as Any.Sender and Rockside are providing these services.
3. Layer-2 and other protocol solutions for cost-effective adoption
Current blockchains that are on mainnet are lacking the TPS and scalability required for wide adoption. Thus, recently many on-chain and off-chain scaling solutions such as layer-2, sharding, segwit, plasma, off-chain channels, etc. came up to scale different existing blockchains.
Meta transactions on Layer 2 are becoming increasingly popular as it further enhances the user experience since gas costs are cheaper making it easier and cost effective for DApps to acquire customers via abstracting the crypto and gas complexities away from end users as opposed to on Ethereum, where Ethereum can be viewed ultimately as a settlement layer.
Meta Transactions In Use
As it has become common knowledge that gas fees can create frictions where apps are ready to go mainstream, an increasing number of DApps are finding it necessary to circumvent the Gas fee altogether. One way projects do this is by paying on behalf of the end user and considering it a cost of user acquisition. This cost is then negated by the company’s money (for CAC purposes), 3rd party sponsors or income from DeFi lending or staking. However, in the event of massive on-chain traffic, this expense can increase massively.
Onboarding users is not a problem to be solved by developers of Ethereum alone. Newer projects like Klaytn and Near are also exploring approaches of fee delegation at the protocol level but challenges of this will occur at times of scale. Given the nature of these protocols, relayers are needed by developers looking to implement meta transactions whether they are a protocol level feature or not. On Ethereum in particular, projects initially look to launch their own relayer infrastructure in the current environment and that is proving to be an expensive affair that takes too many resources. Here are a few projects implementing meta transactions in house:
- Nuo.Network: Nuo networks was one of the earliest to implement meta transactions in house. As per the current status, the protocol has performed over 165k meta transactions and saved on an average of $1.50 per transaction
- Argent: Argent has one of the slickest user-facing products focusing entirely on seamless user experience for their end-users by leveraging meta transactions.
- Mosendo: Mosendo introduced a noncustodial web wallet, Gasless, where transactions can be paid by stable coins such as DAI instead of ether
- Monolith: World’s first noncustodial bank implemented meta transactions to increase the functionality of their debit cards and also reduce the processing costs while sending tokens in a single fluid transaction. Also, users are allowed to pay the transactions fees in their favorite ERC 20 tokens further increasing the user experience
Many projects have either implemented meta transactions or are looking to implement it to enhance their operations and user experience. Of course, we are a bit bias and believe projects will favor outsourcing rather than building this infrastructure internally, especially if a simple SDK can save you months of development time. That’s what we are doing at Biconomy. We are easily allowing projects to plug and play with a relayer network which they wouldn’t have to build and manage on their own, and are working with over 15 projects on this front. One of which is a project called Idle Finance, and once they implemented meta transactions, it had helped to increase users on the platform and the number of deposits seeking better yield to the platform too! The following thread summarizes the projects using meta transactions!
Future Scope for Meta Transactions:
Meta transactions can also reduce on-chain load on the blockchain by a batching process. Multiple queries from different accounts/users for the same DApp can be processed as one on-chain transaction which decreases DApp response time and gas fees as well. This batching process can be achieved by using the relay subsystem as a layer that also opens up scope for offchain scaling and many other governance derivatives. With a total of 5583 smart contracts deployed in the whole public blockchain ecosystem (majority on Ethereum), DApps utilizing meta transactions won’t just make them user friendly but could also contribute to the capacity of respective blockchain networks by utilizing lesser bandwidth.
As Meta transactions can help in the reduction of on-chain load on the blockchain by batching, the probability of occurrence of events like network congestion can be decreased and thus increases the reliability.
Industrial experts always choose services that have static fees in order to have scalable budget allocation. Taking the example of Ethereum, the largest blockchain as per DApps deployments (2825), the fee per transaction is very volatile across different time frames making it less reliable for adoption. Looking ahead as businesses want to implement blockchain in their operations i.e. for Blockchain as a Service, businesses will look for blockchains that provide a constant fee structure like many private blockchains offer. But when it comes to network security, private blockchains are nowhere near to public blockchains. Using meta transactions on public blockchains, businesses can provide subscription-based services for DApps and their users and for enterprises through fiat/stable coin credits as payment options to use these open networks.
We have identified several other use cases for meta transactions:
The current state of DEXs showcase latency issues and complex contracts that make them slower over time and users often lose a large amount of gas if the order gets filled before an on-chain transaction confirmation. This often leads to a gas war. With meta transactions, relay engines are able to execute all the transactions as per the time stamp, executing them in an off-chain environment, and gas will not be the constraint anymore while placing an order.
Another major change we will see in the DEXs of the future, they will allow users the ability to trade any ERC20 token by paying gas fees in the token of their choice, meaning they do not need to have ETH. Thus DEXs with meta transactions support will have options for users to pay fees in the same token or hosted blockchain token or in subscription-based plans.
- Subscription-based fee management services
As relayer engines do all fee funding for meta transactions for a DApp, relayer providers can charge the DApp Developers in prepaid or postpaid subscriptions where they can accept multiple cryptocurrencies, stablecoin credits or fiat through a gateway.
- DeFi with high query throughput
DeFi applications usually have huge transaction volume and this will contribute more to the onchain stress and fees in the near future. Meta transactions could help in batching queries to achieve high queries throughput and finality for high-value transactions that need to be settled quickly on-chain either to exploit arbitrage opportunities or to ensure your CDPs don’t get liquidated.
- Defi/staking rewards to subsidize gas fees
As gas fees become cheaper on layer 2 and Eth 2 allows for staking, meta transactions can see more adoption as the rewards from Defi protocols and staking can pay the gas fees instead of the developers having to pay for gas fees in the case of subsidizing for end users. Although there is a slight opportunity cost, it is a much better and logical option than outright paying for gas fees. Can we even see gas futures markets as well as gas liquidity pools where additional yield can be created and those yields pay for gas fees? Keep your eyes peeled on this!
- Ad models
Check this cool SwapSponsors demo by Chris Kalani showing how companies, in this case, Chipotle, can sponsor user gas fees. This represents interesting opportunities for apps to generate ad income as 3rd party sponsors can subsidize gas fees for promotional purposes. Pretty cool huh?
Many thanks to Aniket Jindal, Sachin Tomar, Ronan Sandford, and Austin Griffith for their contribution to this article.
At Biconomy, our mission is to make next-generation blockchain applications simple to use. We are building a smart relayer infrastructure network for blockchain transactions that reduces the friction between applications built on the blockchain and the end-users. Biconomy’s relayer network comprises a suite of SDKs and APIs that simplify the DApp development process for developers as well as abstracting many of the blockchain complexities, vastly enhancing the end-user experience for DApps and wallets.