Please describe your proposed solution.
<u>Introduction</u>
Across the growing industry, there’s an increasing demand for more user-friendly DApps that make Web3 more accessible. One way of achieving this is by giving every native asset the ability to be used as a way to pay for transaction fees.
Native assets on Cardano are wildly popular. More than 8.5M of them have been minted since the ‘Mary’ hardfork in February 2021. But they still lack one of the most important use cases for adoption in the whole cryptocurrency space, since every time a user wants to interact with the blockchain, he/she has to pay for transaction fees and, at the moment, that can only be done using ADA.
<u>Solution:</u>
Imagine transacting on Cardano paying fees using $DJED, $GIMBAL, $ALDEA tokens or even Disco Solaris NFTs…
We will onboard, and let dapps onboard users by letting them pay for transaction fees in custom currencies (native assets).We will achieve this by allowing someone else to supply missing/required ADA in transactions in exchange of native assets. A practical implementation of a "Babel Fees Service", similar to Cardano's Babel Fees research, but on a single transaction and without waiting for protocol changes and community widespread adoption to make it work.
As a byproduct of this solution, with some extra love, we will offer to the ecosystem the building blocks to implement their own solutions around this stack, and we will even offer an Airdrop Service as an open source example on how to build with this. This second solution addresses what we call “Sponsored Transactions”, this are transactions where the transaction fee is “sponsored” or payed by someone else (instead of the user interacting with the wallet or DApp).
What benefit does this bring to DApp users?
Sponsored Transactions are beneficial since they simplify user transactions on the Cardano network. Users can send payments to each other or interact with smart contracts quickly and easily without having to worry about transaction fees or having an UTxO with ADA in every wallet they own. This simplifies the process of using the Cardano network, which may assist promote adoption, as this innovative solution makes blockchains easier to use. Another case where we might see a benefit is to prevent assets from getting “stuck” because a wallet does not have the blockchain’s coin (or enough of that coin).
What benefits does it bring to developers?
The introduction of Sponsored Transactions on Cardano will offer a significant boost to the versatility of the blockchain. With this newly implemented technology, Cardano becomes much more fluid and flexible by increasing the efficiency of transactions and interactions on the network.
Use Cases
Sponsored Transactions allow users to make transactions without having to pay transaction fees, making them an attractive option for a number of use cases, such as:
- Decentralized Finance (DeFi): These types of applications often require a large number of transactions to be conducted, many of which can be small and infrequent. The elimination of transaction fees in ADA can help to reduce the overall cost of conducting these transactions and make DeFi applications more accessible to a wider range of users.
- Gaming and NFTs: These industries often rely on a large number of transactions to facilitate the exchange of virtual assets and currency. The elimination of transaction fees in ADA can help to make these transactions more efficient and cost-effective, making it easier for users to engage in these types of activities.
- Microtransactions: Microtransactions, or small transactions conducted for a low value, are another use case for Sponsored Transactions. The elimination of transaction fees in ADA through Sponsored Transactions can help to make these types of transactions more accessible and cost-effective, encouraging greater use of the blockchain for microtransactions.
<u>Overview of Proposed Solution</u>
A proper wallet dapp connector design of multi-purpose building blocks plus an external dedicated service that leverages on them will allow us to provide sponsored transactions on Cardano L1, not only to wallet end users but also to DApp transactions, out of the box, while also offering these developer features to other builders as well.
Building blocks, available and missing:
- A feature rich DSL based DApp connector (GCScript scripting language) and wallet design model adequate for Cardano that not only signs and submits but also takes care of transaction building and UTXO management as opposed to delegating these responsibilities to DApps (already developed by Game Changer Team)
- Native wallet multisignature capabilities, prepared to handle different multisignature strategies and scenarios (already developed by Game Changer Team)
- DApp Connector HTTPS multisignature strategy plugin to require foreign services to provide missing transaction witnesses on a transaction signing flow (proposed in this project)
- DApp Connector UTxO auxiliar functions or plugins to handle foreign inputs (proposed in this project)
- HTTPS service to provide transaction validation and respond with signatures, a to list of available UTxOs and exchange rate quotation (proposed in this project)
<u>Frequently asked questions:</u>
- <u>"Don't lie!, you cannot provide babel fees and sponsored transactions to any dapp without integrating efforts from their side!"</u>
Oh yes, we can. GameChanger Wallet Dapp connector is designed in such a way it makes flexible what's is written in stone in Cardano ecosystem, it can work with pre-built transactions from dapps for just signing them like most CIP-30 wallets but also it builds transactions and this design principle let us care for
- users privacy (our dapps can know nothing about their users and still work)
- eUTXO management done properly
- allow users have final word on what dapps are requiring wallets to do
- taking dynamic decisions over dapp intentions based on user input
So, to check for balance and trigger an instant solution it's posible.
- <u>"How to use if it's provided on GameChanger Dapp Connector which is not CIP30?"</u>
It's not because we speak "lenguajes diferentes" that we cannot connect together. GameChanger Wallet has a different Dapp Connector because it offers a
- unique,
- platform/device independent,
- privacy preserving,
- wallet agnostic
- open, auditable,clonable, reusable JSON DSL scripting language,
- easy to integrate everywhere
technology that was first conceived back in 2021 from scratch specially for Cardano without being inspired in any other blockchain. It's URL and JSON based, we have from PDFs to even hardware dapps already talking to the wallet. With GC you can turn everything into a dapp, from websites to social media, chats, emails, QR codes, hardware, PDFs, games, almost everything.
If this is not enough for you, and you want to stick to CIP30 and current technologies, several interoperability features are being worked on right now by the team, starting with having half of Ledger wallet integration complete (Catalyst funded project) and including plans related to CIP30 before 2024.
<u>Demo</u>:
To prove our point, these are two simple links, two simple buttons, and yet because also both of them are DApp connections, you haven't realise until now that this document is also a DApp.
GameChanger Wallet team has developed a *<u>voting dapp demo </u>*exclusively for Catalyst in less than 12hs and these are two action buttons of the DApp inserted here for you to try on preproduction testnet (*wallet beta version, links may get deprecated in time).
Have you tried it yet?
This multi-transaction operations could have been automatically suggested to you to be payed with a Native Asset on you wallet if you had not enough coin to pay with*. Automatically, meaning it could be possible for DApp builders to build once and forget about this insufficient balance issues on users, and let the wallet deal with it "automagically"*
Solution Deliverables:
- GCScript HTTPS (or other protocol) multisignature strategy plugin to require foreign services to provide missing transaction witnesses on a transaction signing flow. Extra efforts on adapting current wallet UI, UX, internals and DSL specification. Documentation. General purpose wallet feature available for everyone.
- GCScript UTxO auxiliary functions or plugins to handle foreign inputs and modify transaction definitions. Extra efforts on adapting current wallet UI, UX, internals and DSL specification. Documentation. Some general purpose wallet features available for everyone and probably some other internal private ones.
- Open source Airdrop Service boilerplate of a "Sponsored Transactions" HTTP service to provide transaction validation and respond with signing witnesses and available UTxOs for Airdrops. Documentation.
- Closed source "Babel Fees" service to provide transaction validation and respond with signing witnesses, to list and or book for available UTXOs.
- Wallet built-in GCScript examples on how to enable this feature for developers. Explanatory media content. Documentation.
- Working instance of "Babel Fees" service to use on mainnet. (Native Assets issuers interested in being listed can contact us)
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Having the ability to pay for transaction fees using our preferred tokens is a hot topic, at the moment, in the Ethereum community. Changes recently introduced by Account Abstraction (ERC4337) are enabling this and many other interesting use cases for their users.
In Cardano, the concept of Babel Fees has been introduced a few years ago but we still don’t have the opportunity to take advantage of this feature yet and upon arrival a great deal of protocol breaking changes and community implementation efforts will be required in order to finally use it on our every day transactions.
This is why we want to develop this idea and directly address the Developer & Infrastructure Challenge, as the solution we will deliver will help the entire DApp ecosystem to thrive.
We will focus in these two main ideas mentioned in the Challenge description:
- Creation and improvement of tools and software that help make it easier for projects to develop on Cardano: by providing any token issuer with the ability of using their token to pay for transaction fees, we are creating a novel use case for every project in Cardano that wants to remove friction at the time of onboarding users to their platform or DApp.
- Research, analysis and creation of standards, resources or documentation that bring novel innovation to the ecosystem: or help with improving the education around what is available in the ecosystem for development or running infrastructure.
<u>Impact for Cardano</u>
- Mitigates the UX issues that minimum ADA per UTxO protocol enforcement causes on Cardano users and that other widely adopted blockchains don't have. Users will be able to do anything on Cardano with their preferred native assets, being in wallet operations or with any DApp interaction without requiring anything special on DApp side.
- Volatility effect mitigation. Imagine transacting in DJED instead of ADA while still using ADA underneath. We, as a community, should pay more attention to how much users in developing countries are struggling with this minimum ADA per UTxO value and price volatility. We must act now and prepare for the next bull market or we are going to lose a lot of users and transaction fees again.
- User onboarding at zero cost for the end user. Transaction witnessing rules may grant fully sponsored transactions to users validating certain conditions such as interacting with whitelisted DAPPs, StakePools, DReps,etc..
- Remote witnessing for developers will allow use cases such as highly decentralized mint events. Imagine thousands of users buying NFTs with the same policy ID at the same time but minting these assets on their own individual wallets in parallel leveraging on the HTTPS multisig plugin and the open source service boilerplate. No more bottlenecks on centralized NFT drops. Let’s use the concurrent capabilities of the eUTXO model of Cardano to decentralize and scale for real.
- Lots of other use cases derived in the approach: common building blocks for us to implement the project but to remain public and available for builders to create upon.
How do you intend to measure the success of your project?
We will use the following metrics to measure the success of our project:
- Number of projects (native tokens) using Game Changer Sponsored Transactions: we will use on-chain data to track the number of different projects using our service.
- Number of confirmed Sponsored Transactions: we will use on-chain data to track the number of confirmed Sponsored Transactions sent to Cardano’s network.
- Amount of ADA in transaction fees covered by the projects: we will use on-chain data to track the amount of ADA in transaction fees sponsored by the projects.
- Number of liquidity providers: we will track the number of users sponsoring transactions for other users
Please describe your plans to share the outputs and results of your project?
As done before on previous Catalyst funded projects, GameChanger Wallet team always delivers monthly reports non-stop, explaining the achieved milestones one by one plus adding screen captures, videos, demos, or if posible the entire code of the project if applies.
In this we will share:
- Airdrop Server source code
- Example GCScript source code to interact with Airdrop Server
- Example GCScript source code to interact with "Babel Fees Server"
In this case we may share:
- screen captures of working demos, new documentation, file artifacts, or code advancements
- videos of working demos and other relevant knowledge
- Executable Dapp Connector links, allowing to test new features on wallet DSL/API
- Links to Dapp Connector/DSL JSON schema
- Links to Dapp Connector/DSL Documentation
- Links to Dandelion API endpoints
- Social/Community related feedback, news, events, articles, etc.
- In-wallet code examples like we always provide to test right away on Playground IDE, our built-in code editor.