Please describe your proposed solution.
Developer tools on Cardano are generally lacking tools to support fast transactions. In the past, this has led to Cardano being described as a slow blockchain and the general perception that interactions on Cardano are limited severely by the block size and frequency (20 seconds). Meanwhile, several developers and experts in the field have repeatedly pointed out that through advanced methods such as mempool reading and transaction chaining, interaction such as consecutive pool updates are possible within 2-3 seconds. This includes consecutive batching transactions – with modern Smart Contract languages batching up to 20 transactions at once is no problem, resulting in extremely high throughput for AMM pools and other DeFi applications.
We see the main hurdle for developers to adopt these changes to be caused by a lack of openly available tools that enable fast transaction processing. To tackle this issue, we propose to improve the available tooling and set standards when it comes to transaction chaining. From our perspective, there are three main tools that need to be adapted to enable a broader community of developers to use transaction chaining:
The main component that needs adjustment is the cardano node. We want to propose changes in the cardano-node to consider transactions present in the mempool for building transactions. Alternatively, the node should accept a set of UtxOs where the user knows that they will be present on-chain at time of submission and build transactions speculatively. This update seamlessly propagates to Ogmios and the cardano-cli and all other tools that interact with the node to build transactions, effectively covering a large part of the developer tools being currently used by projects and that will be used by newcomers.
The second component that requires an improvement is the user facing browser wallet. While we can not implement support for crucial operations in every browser wallet, we want to implement them in the open-source available Nami wallet. The first required features is the handling of spent UtxOs in a transaction to be signed while it is not yet on chain, speculatively, and properly presenting this to the user. The second feature concerns signing of several transactions at once. This is necessary in order to allow speculated transactions to fail and fall back to another, also signed transaction instead.
There are also solutions being developed for this cause such as newm-chain. We will assess their applicabilty and make sure to develop a fully end-user friendly solution at the end.
Nami Wallet has a history of setting standards in the community, by simply providing working reference implementations. We want to attach to this history and provide an update to CIP-30 (the dApp wallet connector standard) based on the newly provided features that will benefit all developers. The standard will have to start as an experimental feature and will be likely only accepted as mature after the finalization of this project.
Both tools together cover the crucial parts of every dApp, the server-based backend and the user-facing frontend and provide the necessary means for developers to adjust their dApp for utilizing transaction chaining. This paves the road for drastically improving throughput and transaction speed on Cardano and break the narrative of being a small and inefficient chain.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
The proposal addresses the challenge in two ways:
- Open-Source availability: The necessary tooling for transaction chaining can only benefit all of the Cardano community if it is developed openly and freely accessible to everyone. It is for this reason that we as MuesliSwap want to enrich the ecosystem by implementing the changes into existing, open-sourced projects.
- Improving the end-user experience: The impact on the ecosystem should not be underestimated. By making this tooling available freely and integrated into widespread and largely used software, we open up the way to transform the entire ecosystem – within a very short time. Users will notice that their interaction with the Blockchain is almost immediate and responsive, improving their perception of the chain.
- Improving general Perception of Cardano This tooling developments will not only challenge the prevailing characterization of Cardano as a laggard in the blockchain space but also solidify it as a contender amongst its higher-speed counterparts. This would likely attract more users and investors to the platform, fostering increased adoption and growth in the process. Ultimately, this tool could be instrumental in transforming the public perception, performance, and potential of the Cardano blockchain.
How do you intend to measure the success of your project?
The impact of this project will be measurable by assessing the amount of transactions that make use of or benefit from transaction chaining. This can be assessed on-chain and includes all transactions that spend UtxOs within the same or one block after submission – in general thus processing transactions within less than 20 seconds or one block size.
- Transaction Processing Time: Assess the average time of consecutive UTxOs. This is indirectly assessing the amount of transactions that make use of or benefit from transaction chaining. This can be assessed on-chain and includes all transactions that spend UtxOs within the same or one block after submission – in general thus processing transactions within less than 20 seconds or one block size. High amounts indicate that our tooling is used more widely
- Tracking Errors: Keep a log of the number of errors or failed transactions before and after the implementation of the tooling. We expect more failed transactions, as bulk signing would create many mutually-exclusive transactions. These will not clog up the system but rather show that the unique UTxO exclusivity is correctly employed.
- Platform Stability: Assess the stability of common dApps that employ the new transaction chaining manually.
- User Feedback: Collect feedback from users (developers and end-users)
- Integration and Compatibility: Evaluate how well the tooling integrates with existing systems and how compatible it is with other parts of the Cardano Blockchain
- Network Health: Observe the health of the entire network. We do not expect any degradation
- Scalability: Test the scalability of the system with the new tooling. We expect much superior scaling to existing tooling.
Please describe your plans to share the outputs and results of your project?
The results of the project will be publicized through an ongoing process across multiple channels.
Primarily, the results will be published via commits on MuesliSwapTeam repositories. In a coding or software development context, a commit consists of making a set of tentative changes permanent. In this case, every productive change made by a software developer is kept track of and recorded onto the personal or public repositories. Therefore, the updated changes in terms of results will frequently be committed to the MuesliSwapTeam’s repositories where the public will be able to access and see what has been completed.
Furthermore, results will also be shared through PRs (Pull Requests) and issues on the cardano-node and Nami Repository. Pull Requests are proposed changes to a codebase that others can review and discuss before it's integrated into the project. By doing this, our team will provide an open channel for feedback and discussion about the on-going works in the project.
Issues, on the other hand, are a way to track tasks, enhancements, and bugs for your projects on Github. In the context of this project, they will be utilized to broadcast any bugs that have been fixed or enhancements that have been made, highlighting significant results.
Lastly, we will resort to using social media platforms, specifically Twitter, for immediate reach. Explanatory tweets about the project's progression and results will be dispatched through our Twitter account, @MuesliSwapTeam. This allows for a more casual and digestible format of communication to maintain intrigue and engage our audience while also keeping them informed about our project. Consequently, the publication happens in real-time, ensuring that no delays or gaps occur in delivering our achievements.
- In synopsis, results will be published continuously, promptly, and openly, facilitating transparency and ongoing dialogue with the community.