Introducing Meta-Transactions - Surprisingly Powerful UX Features Unlocking The Path To Onboarding The Next Billion People
Transactions on the Elrond Network require users to pay a small eGold fee. Validator nodes collect it as a reward for their service of running and securing the blockchain. This is one of the core principles that enables our economics model to be sustainable.
The cost of 0.00005 eGold per transaction is roughly $0.001 USD which is negligible for most internet users. But acquiring cryptocurrencies is perhaps the biggest hurdle for people who are new to blockchain. The onboarding process opens a larger chasm than the advantages of most dApps, thus severely limiting adoption.
Furthermore, the internet has created a "free-to-use" culture for most of its popular apps. If their decentralized counterparts are to become the dominant model, one should avoid raising paywalls, as the first experience in front of new users.
This is why Meta-Transactions are critical. They are live on the public devnet and will be part of the upcoming major mainnet upgrade. Meta Transactions are blockchain transactions which a user can execute without owning any cryptocurrency. The fees are paid for by a “relayer”, which could be anything from public administration looking to offer secured services to their citizens for free, or businesses looking to onboard new users to their blockchain based applications.
From the user’s point of view, sending a meta transaction is similar to sending a regular transaction - it needs a destination address, amount of eGold or tokens transferred, and any input data required by the context. The only difference is that a relayer will pick up this transaction and pay the associated gas costs.
This is a great way for businesses to subsidize the cost of acquiring new users. Funding could come from the 30% smart contract gas costs which their authors receive as royalties.
The first application to use the powerful meta-transactions feature on Elrond, is Maiar. When a user registers an account, an Elrond address is mapped on the blockchain to the user’s securely obfuscated mobile phone number. The mapping process involves several transactions that are relayed by Maiar, enabling the blockchain registration process to be free for the user.
Registering the Maiar @herotag is also a meta-transaction happening through the Dynamic Name Service on the Elrond Blockchain.
Meta-transactions can be applied to token transfers and make it possible for a user to transfer i.e. $10 BUSD or a gaming NFT without having to also own and pay with eGold. This opens up a wealth of potential use-cases, spanning DeFi, entertainment, eCommerce or administrative scenarios, just to name a few.
Here’s how the process actually works:
- The user signs a transaction and sends it to a relayer. Each user’s transaction carries a nonce
- This transaction is exactly like a normal transaction but instead of being sent to the blockchain it is sent off-chain to the relayer
- The relayer wraps the signed transaction from the user into its own transaction by constructing and signing a meta-transaction
- The Elrond protocol verifies if the inner user’s transaction is indeed signed by the user, is correctly constructed and whether it has the correct nonce. If these verifications pass, the meta-transaction is executed
Relayers can put in place policies about what kind of transactions are accepted, from what source, at which frequency and more. This allows the processes to be customizable and protected against malicious actors trying to run a “credit card” attack on a relayer.
Meta-transactions have deep implications for blockchain technology adoption. Unhindered by fees, paperwork or waiting times, users have the freedom to explore the full breadth of blockchain opportunities at an internet-scale.
Surprisingly, this subtle feature may feel common sense to normal web users, but using blockchain technology through these uniquely powerful UX improvements opens up a massive addressable market. A fact which the entire blockchain space is about to discover very soon.
Meta-transactions are live on the public devnet and will be part of the upcoming mainnet upgrade. You can read the technical specifications here: https://github.com/ElrondNetwork/elrond-specs/blob/main/sc-meta-transactions.md