Please describe your proposed solution.
This project will upgrade the reference implementation that was previously co-developed with IOG’s Hydra core dev team into a viable production-ready product, as follows:
- Improve performance and robustness to production-ready levels.
- Develop a browser-based frontend UI that provides a pleasant UX.
- Upgrade backend services to support a vibrant ecosystem of sellers, bidders, and delegates creating and interacting with multiple auctions simultaneously.
As the next step, we will explore building an open-source SDK for delegated voucher auctions ready to be used by any dApp that needs auction features. Furthermore, the SDK should comprise modular components that can be reused in other hydra-based applications with similar smart-contract architectures.
For the auction’s smart contracts, we will need to implement the following new features optimizations:
- Implement a mechanism for variable-size bidder deposits to be locked on L1 so that they can be used to fully back bids submitted for an auction on L2.
- Implement open auctions — a more informal/casual auction format where bidders are free to place bids without requiring seller approval to enter the auction. This complements the closed auction format that has already been implemented, where the seller can vet bidders and choose which bidders to invite into the auction.
- Use reference scripts for auction validators and minting policies.
- Explore ways to make validators and minting policies non-parametric so that the same reference scripts can be reused in multiple auctions – possibly as a standardized modular component across different apps.
The reference implementation from the first two milestones can handle only a handful of auctions and has a rudimentary system for discovering auctions, bidders, sellers, delegates, and hydra heads. For a commercial product, this would have to be significantly improved with a suitably scalable and dynamic directory and state indexer for the auctions ecosystem:
- Sellers, bidders, delegates, and others can discover which auctions are active, who the relevant participants are, and how to interact with them.
- Lightweight subscriptions are available for events of specific auctions.
- Aggregate metrics for current and historic auctions are available for general users.
We must develop frontend UI code to provide an ergonomic and pleasant UX for auctions. For this purpose, we will collaborate with existing projects in Cardano that have attained significant marketplace and auction UX expertise as early adopters of our SDK.
Ikigai Technologies has developed Grabbit, an NFT auction site made specifically with consumer and creator ergonomics in mind, built on top of a fully decentralized L1 auction protocol. They have already encountered and solved many of the complex challenges that come with connecting a clean, robust frontend with a complex onchain auction protocol without the common centralized shortcuts that could slow down a Hydra-based auction protocol.
Ikigai will collaborate with MLabs on the open-source SDK to ensure it is usable and scalable in a production environment. By testing the SDK in Grabbit functioning as an early adopter, Ikigai Technologies will demonstrate the SDK is built to be extendable and deployable to large-scale environments.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
This project will deliver and integrate a production-ready product with the early adopter’s service platform, allowing Cardano users to finally benefit from the Hydra technology's faster finality and throughput promises for the auction use case.
Furthermore, this project will blaze the trail for other L2-enabled smart-contract applications, operationalizing the best practices and lessons learned into an SDK that will significantly lower the barrier for these applications to emerge on Cardano mainnet. The SDK will be geared primarily toward applications similar to the auction use case, but parts of the SDK will be broadly re-usable or adaptable to other applications.
Finally, to ensure integration readiness and improve confidence in the SDK for community consumption, Ikigai/Mlabs will be using Grabbit to guinea pig the versions during the development phase and showcase the SDK's extendability.
How do you intend to measure the success of your project?
The success of the commercial hydra-based auction app will be measured by the performance and UX gains that it manages to attain relative to the early adopter's pure-L1 auction application. In particular:
- How the higher throughput and faster transaction finality enabled by Hydra translates in practice into a livelier bidding experience in the auction app.
- Transaction fee savings for bidders, sellers, and delegates.
The success of the hydra auction SDK will be measured by the early adopter's reported ease of use and integration with the rest of their platform. Over the longer term, the SDK will be successful if it leads to more Cardano applications making the leap to upgrade part or all of their protocols to use the SDK for scalability on Hydra L2.
Please describe your plans to share the outputs and results of your project?
The project’s open-source codebase will reside in the project’s Github repository (possibly to be refactored into multiple repositories).
If/when the early adopter launches this project’s product, it will be available as a service via their website.
During the project’s development, usually near milestone completion, the development team will provide regular blog-style or video updates to the community, as appropriate.