Sponsoring Blockchain Transactions: The Future of User-Friendly On-Ramps
Nodle announces a new Polkadot Substrate Pallet to make Web3 applications easier to develop and more accessible than ever.
In the dynamic world of blockchain, developers need to make applications more and more user-friendly, especially when it comes to real-world and enterprise adoption of Web3 technologies.
Consider this. No real-world or enterprise user wants to create a wallet and maintain it with tokens to test out different transactions or use cases on the chain. Correct?
In order to address this problem with enterprise customers in mind, the Nodle team developed a solution that allows users to be seamlessly onboarded to the Nodle chain, while staying true to the principles of Web3. This is called “transaction sponsorship”, which allows an individual to reserve tokens on the Nodle chain and “sponsor” users to carry out their transactions.
The Nodle team believes this solution will significantly lower barriers to entry for enterprise and Web3 customers who want to leverage the unique properties of the Nodle Network without having to become crypto experts.
This post looks at this solution in detail, discusses how this solution maintains security and prevents potential misuse (such as DDoS attacks or other types of fraud) while promoting a decentralized system.
Introducing the Solution
In this approach, a sponsor (a person who has the funds) creates a virtual fund reserve (aka “pot”) with certain usage limits (“quota”) and specifies (“registers”) who (“users”) can use it. These funds can then be used by the designated users to perform transactions on the network.
This way, anyone can sponsor anyone without having to bother about blockchain concepts or token availability.
The sponsorship feature not only supports transaction fees but also provides micro loans when required.
How Does the Solution Work?
The solution is based on a model called Free Signed Transactions. In this method, proxy accounts that are unique to each user are created in a pot (the virtual fund reserve). Users can have different proxy accounts in different pots. Transactions are free for the registered users of a pot; however, sponsors of the pot will have to pay the transaction fees.
These users connect with the blockchain directly, ensuring security while avoiding censorship.
Each sponsor registers user accounts for which they are ready to sponsor transactions. If the users are not registered, then the users cannot create any NFTs or perform other transactions on the network. For each user account, the sponsorship quota amount and transaction fee limits are set to make sure there is no foul play.
A validity check is further added so that invalid transactions are caught early on before the sponsor incurs any fees. Invalid transactions include actions from unregistered users or users who already have used up their sponsorship quota.
What does a sponsor do?
- Creates a pot with funds
- Registers users for the pot
- Sets or updates reservation quotas and fee limits (tokens set aside for transactions)
- Removes users (when their proxy account is no longer needed. For example, when the account doesn’t have any reserved funds for certain transactions) from a pot
- Deletes a pot
A sponsor also allocates two types of funds with predefined limits that the users cannot exceed:
- Transaction fees for conducting transactions on the network
- Reservation fees or allowance for creating NFTs or other chain-based applications
What types of transactions can be sponsored?
Different categories of transactions are predefined for a runtime and sponsors can only select them for their pot.
Broadly, these categories include:
- AnySafe for any safe transaction on the network that cannot be generally used to abuse the system
- Unique for transactions, such as NFT minting
AnySafe transactions mean safe transactions that are compliant with the sponsorship type that are set by the sponsor. They do not allow funds to be moved to other accounts outside of the sponsorship control.
For example, a simple balance transfer is not considered as a safe transaction because it can steal tokens reserved for other purposes. Similarly, batch from utility transactions are also considered unsafe because they allow users to hide prohibited transactions wrapped in another transaction type.
If required, new transaction categories can be added by creating pull requests on the Nodle chain repositories on GitHub.
How can the sponsor get back their funds?
If you’re wondering what’s in it for the sponsor; Primarily the ability to create a Nodle application without exposing their users to complex crypto concepts or wallet abstraction.
Additionally, any funds drawn from the reserve allowance (funds reserved or allocated to certain transactions) can be reclaimed by the sponsor. This means that the sponsored portion operates like a debt owed by the user to the sponsor. When the user no longer requires that debt, the unused portion is automatically returned to the sponsor.
An internal proxy mechanism prevents these funds from going directly into the user’s account, which makes it smoother to return those funds to the sponsor.
For example, minting an NFT requires a deposit or an amount to be reserved. If a user creates this using sponsorship, then when the user burns the NFT, the reserve amount goes back to the sponsor automatically.
Sponsoring Transactions: Scenario
Let’s illustrate the feature with a simple example.
A sponsor named Jane wants to support users of a blockchain platform. She decides to create a fund pot from one of her wallets and reserves funds with a specified limit.
She decides a limit of 10,000 tokens is fair and registers users by their public addresses so that they can access her digital pot. She chooses to sponsor these users for safe transactions on the network.
Now, these users can access the reserved funds for their own network transactions (that are safe), making it easier for them to interact with the blockchain seamlessly. This helps ensure they have the resources they need without relying solely on their own tokens or worrying about transaction fees.
Remember, these registered users cannot exceed the quota of 10,000 tokens. Plus, if there are transactions from users who are not registered by Jane, then the system rejects them before the transaction occurs.
Sponsoring Transactions: Key Features
The solution is simple, versatile, and developed with the following major tenets in mind.
- Accessibility for all: Any individual should be able to create a virtual fund to sponsor specific transactions for a set of registered users, and no special permissions are required for this. Note that this pot is just a representation of usage limits and it doesn’t get locked or reserved. So, it remains liquid at all times. However, the transaction will fail if there are no actual funds in the sponsor’s wallet.
- Account security: This feature helps in tracking and controlling these funds and prevents them from being moved into other accounts outside the control of the sponsorship.
- Batch registration: Sponsors can register users individually or in batches, offering flexibility and ease of use.
- Active user management: User accounts need not exist in the system or they don’t need funds to get started, minimizing barriers to entry. Sponsors can remove inactive users, ensuring that resources are allocated efficiently.
- Customized limits: Sponsors can set maximum fees and reserves for individual users, user groups, or even their created pots.They can also adjust limits as required.
- Fund control: Sponsors maintain control over the funds they provide, ensuring that they are used as intended. Reserve limits for pots or users can be used for transactions that require reservations or deposits.
- Liquidity-friendly: Sponsors aren’t required to hold the entire sponsorship amount in their wallets, promoting liquidity.
- Pause/Termination: Sponsors can pause sponsorship at any time and terminate pots with no active users.
- Decentralized user actions: Users’ actions through the sponsorship pallet remain attributed to themselves, ensuring a decentralized user experience.
- Transaction control: Sponsors can specify the types of transactions they support, allowing for a tailored user experience. For example, NFTMinting, or AnySafe.
- Proxy mechanism/ Leak detection: An internal proxy mechanism protects sponsors’ wallets and ensures that the borrowed funds return to the sponsor.
In a decentralized ecosystem, users should feel as free and uncensored as possible, while benefiting from the support of sponsors. This approach empowers users to interact directly with the blockchain through their wallets, eliminating the need for intermediaries.
The sponsorship pallet provides tokens for transactions, but it doesn’t control users or abstract their keys, keeping decentralization intact. That is, it doesn’t allow sponsors to censor a transaction based on its content.They can only set the limits and check its validity.
Even after sponsorship support is terminated, the validity and authenticity of user transactions can still be proved and legitimately linked to the users’ wallets.
This versatile solution offers security, customization, and transparency, making it an indispensable addition to the blockchain developer’s toolkit.
By detecting fund leaks during a sponsorship call, it prevents further fraudulent activities by users. For example, a user cannot transfer the sponsor’s fund to their own controlled accounts. This is prevented effectively by the system through the proxy mechanism.
Let’s see how:
Suppose you’ve made an NFT using the sponsorship pallet. Now, if you want to get rid of it or ‘burn’ it, you have to use the sponsorship pallet again, along with the same pot you used before. If you don’t do it this way, you won’t be able to reach the special account that holds your NFT.
Why is this necessary? It’s like a shared piggy bank. The sponsorship pallet keeps track of who put tokens into it and who took them out. When you ‘burn’ your NFT, the reserved tokens go back to the person or group that originally provided it, just like giving back change from a shared pot.
Developers of hybrid apps and dApps now have a powerful tool at their disposal. By implementing a user-friendly on-ramp through the sponsorship pallet, they can usher in a new era of blockchain accessibility.
As we move forward in the blockchain space, it’s crucial to remember that user-friendliness and decentralization can go hand in hand. With the sponsorship pallet, developers are poised to create a more inclusive and accessible blockchain future.