[6][12] module and SDK. An open-source reusable module in Plutus utilising the Extended Unspent Transaction Output (EUTxO) architecture. Robust and general enough to be used across many applications; Reliably incorporated into DApps and Treasury Management processes. There will be no need to keep reinventing the same components.
Layered over the module will be a Software Developers Kit (SDK) to enable easy integration with DApps used in DAOs. A System Dynamics modelling toolkit, using cadCAD[2], will help project teams decide on configurations and set parameters for their contract deployments.
An RABC[6] implements a type of Impact Bond[3]. A performance-oriented investment instrument suitable for retroactive project funding. Funding projects with highly uncertain outcomes when they succeed. Leveraging treasury funds by only paying out when results are achieved. RABC have been researched and developed as impact finance instruments[12], yet the design is applicable to new or innovative project scenarios: social or environmental change, science, early-stage and seed-stage technology start-ups, internal corporate project budgeting, DAO coordination, leveraged community grants, art, and public good production.
Vitalk Buterin recently gave a talk[4] about the future of Etherum that focused heavily on the problems addressed by the RABC mechanism. The mechanism design and economic system dynamics have been extensively researched for the retroactive funding use case. The work is presented by Blockscience[10] as a dynamic technical report containing executable simulation. See: <https://github.com/BlockScience/Risk-Adjusted-Bonding-Curves>
A EUTXO Specific Architecture
The module and Smart Contract design will be engineered specifically for the EUTXO architecture of the Cardano Blockchain. The core design will utilise a batch auction mechanism to maximise transaction throughput and prevent resource contention on the underlying reserves (liquidity pools). The design is based on the Treynor Dealer model[7]. A design that combines an order book (Dealer) as a periodic combinatorial auction with an AMM liquidity pool, scaling transaction throughput.
The combinatorial auction is not your typical English Auction! It is an off-chain optimising algorithm designed to maximise welfare (a fair price for all participants). A single Plutus-Backend node can execute it, or run as an *Oracle Pool* when more complex higher-throughput matching requirements are needed.
The underlying bonding curves, and therefore the composite RABC, can be parameterised to suit specific periodic settlement windows (per-slot, epoch, or other) and throughput requirements. In addition to curve specific parameters, the RABC can be configured with different Alpha parameter sources including a signal source from an Oracle, or via a prediction market.
Please refer to our Catalyst Fund 2 Proposal for more details about Combinatorial Auctions and Oracle Pools[7], and our Catalyst Fund 5 proposal[8] and the economic specification[6] of RABCs for more details on them, their composite, and their use.
To design and build the Risk-Adjusted bonding curve module we are using, as a reference, the Comos Bond Module[5]; Heavily leveraging the economic specification[6] and system dynamics work already done by Shruti Appiah[11][1] & Blockscience[10]. As the project gets underway we will welcome other interested contributors from the community to help build and maintain the project.
Impact on Challenge Metrics
DApps for DeFi, SoFi (Social and Environment Finance), and RealFi can be built from standard building blocks. Many aspects of project funding, team accounting and compensation systems are similar. There is no need to keep reinventing the same components.
The RABC module aims to be an essential toolkit for software developers that don't want to dive into learning Haskell, EUTXO, PlutusTx or the Plutus Application Backend. An essential toolkit for technology start-ups that don't have the skills in complexity-science and engineering talent to develop great economic protocols.
By focusing on primitives and engineering for reuse across the Cardano Ecosystem, we can make it faster to deploy reliable market-focused DApps. DApp developers can easily integrate and interoperate modular Smart Contract mechanisms that we develop, giving customers confidence that their wealth is secure and value streams are fair.
Key Performance Indicators
Key Metric: Project Velocity[8], defined as a combination of base activity metrics of commits pulled from Github.
Activity Metrics: captured as project activity in Github and cadence of deliverables and engineering milestones achieved.
Community Metrics: engagement behaviours broken down into four categories[9] for the Bond Module, to measure how our work is being spread and used in the Cardano ecosystem. These Metrics derive mostly from Github.
What Success Looks Like
Our proposal will contribute to Cardano's developer ecosystem a module for Risk-Adjusted Bonding Curve explicitly designed for the EUTXO architecture using Plutus. The module is intended for integration into other higher-level protocols and DApps.
After One Month:
- Initial specifications and scope for RABC module completed.
- Nix-based Jupyter notes infrastructure established integrating Nix, Python, and OCaml into a reproducible data science/simulation pipeline.
- Engagement with individuals interested in contributing to the work via a DAO.
After Three Months:
- Developed simulations for the system dynamics of the combinatorial auction design.
- A draft formal specification and tested using Bigrapher[15], a Bigraphical Reactive System (BRS) simulator.
- Pre-Alpha implementation of the core protocol running on testnets.
After Six Months:
- Completed design for the module and implementation of the core protocols running on testnets.
- Documentation published that both explains the design and use of the RABC.
- DAO trusted seed established and plans to hatch the DAO for future funding are developed. The primary purpose of the DAO is to ensure long-term, cost-effective support of the module and continued development.
After Twelve Months:
- Formal specification published
- Production-ready core protocol fully engineered, tested and audited.
- An SDK for one development environment developed (most likely Haskell, with PAB).
- The RABCs are used in two project financing use-cases for leveraging treasury funds to finance projects.
The project will evolve over time including the extension of the underlying bonding curves to bonding surfaces (see Balancer[16]). We are making a commitment to ensure there is long-term support that will be managed and funded by a DAO.
Licensing
All our source code will be licensed under a free and open-source (OSI) license e.g. MIT, and contributions must be contributed patent-free. Contributors will be required to agree to a Contributor Covernant[17].
Published content will be licensed under the Creative Attribution-Non-Commercial-ShareAlike International (CC BY-NC-SA) License v4.0. The specification will be published under a Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0) license.
Code, documentation, project activity and Jupyter notebooks will be made available on Github or similar service.
Budget Breakdown
The requested Fund 6 budget is for wages and expenses for six months of the project. We will deliver the initial Risk-Adjust Bonding Curve module code and related documentation. Further funds will be requested to continue the work beyond this period, either through Catalyst or direct funding of the yümi DAO.
- Software Specification & Engineering: $40,000 USD (62%)
- Technical Writing: $9,630USD (15%)
- Community Engagement: $5,150USD (8%)
- Project Management: $6,420USD (10%)
- Software Services & Server Fees: $500 x 6 months = $3,000 (%5)
Budget based on a pro-rata hourly rate spread over up to three team members. FTE hourly rate of USD$100 includes all overheads; Adjusted for experience, nature of work, and short term intermittent nature of project funding.
References
[1] The Future of Decentralized Finance: <https://youtu.be/vzsUSG5CSj0?t=179>
[2] Cadcad: <https://cadcad.org/>
[3] Social Impact Bond: <https://ellierennie.medium.com/how-to-improve-karl-and-vitaliks-really-good-idea-d49ee6dca60d>
[4] EthCC4 - Vitalik Buterin - Things that matter outside of defi: https://www.youtube.com/watch?v=oLsb7clrXMQ&t=719s
[5] Comos <https://medium.com/ixo-blog/cosmic-bonding-4f948dd4c2e4>
[6] Risk-adjusted System Dynamic research: <https://github.com/BlockScience/Risk-Adjusted-Bonding-Curves>
[7] Treynor Dealer model: https://en.wikipedia.org/wiki/Treynor_dealer_model
[8] A Smart Market Toolkit for Cardano. <https://cardano.ideascale.com/a/dtd/A-Smart-Market-prototype-for-NFTs/323408-48088>
[9] AMM for Continuous Financing: <https://cardano.ideascale.com/a/dtd/AMM-for-Continuous-Financing/350654-48088>
[10] Blockscience - <https://www.block.science/>
[11] Shruti Appiah: <https://iohk.io/en/team/shruti-appiah>
[12] Risk-adjusted token bonding curves: <https://medium.com/ixo-blog/risk-adjusted-token-bonding-curves-eb4fffc86bf0>
[13] Project Velocity: <https://chaoss.community/metric-project-velocity/>
[14] Community Metrics: <https://communityroundtable.com/best-practices/thecrs-work-out-loud-framework/>
[15] Bigrapher: <http://www.dcs.gla.ac.uk/~michele/bigrapher.html>
[16] Bonding Surfaces: <https://medium.com/balancer-protocol/bonding-surfaces-balancer-protocol-ff6d3d05d577>
[17] Contributor Covernant: <https://www.contributor-covenant.org/>