[GENERAL] Name and surname of main applicant
Kuber Team
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Entity (Incorporated)
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
5
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language.
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
Testing using autonomous agents. Imagine 1000+ Ada holder agents, 100+ dReps agents autonomously interacting with the system/network to create and vote on proposals.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
Apache License, Version 2.0
[SOLUTION] Please describe your proposed solution.
In the rapidly evolving landscape of blockchain technology, ensuring the robustness and reliability of distributed systems is paramount. This proposal introduces an innovative approach to testing these networks using autonomous agents. The goal is to leverage the self-organizing capabilities of these agents to simulate/emulate real-world scenarios and interactions in Cardano blockchain networks, providing a comprehensive and dynamic testing environment.
There are already tools like cadCAD from BlockScience (https://cadcad.org/) that assists in the processes of designing, testing and validating complex systems through simulation. This proposal is in someway similar to cadCAD developed for Cardano use case testing. The scope of the proposal is limited to Voltaire Voting Testing, more specifically CIP-1694 scenarios.
Objectives
- To develop a framework for deploying autonomous agents within blockchain environments.
- To simulate a wide range of network conditions and user interactions to test network resilience and performance.
- To identify potential vulnerabilities and performance bottlenecks.
Scope:
- CIP - 1694 scenarios; Voltaire Voting Testing
Methodology
The proposed methodology involves the following key components:
- Agent Design: Designing autonomous agents with capabilities to mimic various network actors (e.g., users, validators, attackers).
- Environment: Using the available testnets.
- Testing Scenarios: Developing a range of scenarios, including standard transactions, high transaction volumes, 1694 governance operations, edge cases etc.
- Data Collection and Analysis: Implementing mechanisms for collecting and analyzing data on network performance and agent behavior.
- Agent Dashboard: Show the results and analysed data on the dashboard.
Expected Outcomes
- Enhanced understanding of Cardano blockchain network behaviors under varied conditions.
- Identification of potential security/network/protocol level vulnerabilities and performance issues.
Future Potential:
- This project once completed for the testing Voltaire voting scenarios, further scopes can be added. Another use case can be Project Catalyst voting simulating thousands of proposals by hundreds of proposers and being voted by thousands of Ada holders.
- Dapps on Cardano: Dapps like DEX and marketplace can extend the project to add their system behavior implementation to simulate scenarios on their dapps. Simulating scenarios with normal agents(or users) behavior and abnormal(or malicious) agent behavior can help uncover unexpected situations like flash crash etc.
Remarks
If you're a Dapp developer, and would like to be involved in the development so that you can design and develop the scenarios for your Dapp, come talk to us and get involved.
Sample Dashboard:
[IMPACT] Please define the positive impact your project will have on the wider Cardano community.
Implementing autonomous agent-based testing on the Cardano blockchain will have several positive impacts on the wider community:
- Improved Performance: The simulation of high-transaction environments and stress testing will provide valuable insights into the network's scalability and efficiency. This can lead to optimizations that enhance transaction speeds and overall network performance.
- Enhanced Network Security: By thoroughly testing the Cardano network under various scenarios, including potential attack vectors, the project will help identify and address security vulnerabilities, leading to a more secure blockchain environment.
- Increased Trust and Reliability: A rigorously tested network will bolster the confidence of users, developers, and investors in the Cardano ecosystem, knowing that the system has been validated against a wide range of conditions and attacks.
- Support for Innovation: By providing a robust testing environment, the project can encourage developers to innovate and build on the Cardano platform, secure in the knowledge that the underlying network is resilient and reliable.
- Community Engagement and Collaboration: The project can foster a collaborative environment where community members contribute to the testing process, promoting a more inclusive and engaged community.
- Setting Industry Standards: As Cardano is one of the leading blockchain platforms, advancements in its testing protocols can set new industry standards for blockchain development and testing, influencing the broader blockchain community.
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
We are the team behind KuberIDE, a browser IDE for developing smart contracts on Cardano. We're extensively familiar with several Cardano core projects and have contributed some of them as well. We believe we know in enough depth to actualize this project.
Furthermore, some of our team members have in the past been involved with Plutus v2 testing and more recently Voltaire testing on the application and network level where have setup several scenarios on private (only for v2 testing) and public testnet. Having done those tests, we felt we needed a more flexible testbed that can emulate a defined scenario and let it run autonomously.
[Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?
M1: Building the foundation
Deliverables:
- Architecture document highlighting a use case for Voltaire Testing
- Figma Design of the dashboard
Outputs:
- Defining agents, agent behaviors
- Building agent scheduling architecture
- Building a PoC agent scheduling infrastructure
- Basic UI for adding agents, agent behaviors
- Basic UI for dashboard
Acceptace Criteria:
- Architecture document is published to a public GitHub repo.
- PoC of agent schduling infrastructure is created
- Figma design for the dashboard is published.
---
M2: Agent coordination and scenario development
Deliverables:
- APIs to create agents with basic behaviors like holding a wallet, performing basic transactions
Outputs:
- Event sourcing for agents using a suitable message broker like Kafka using open source tools or some APIs on Cardano eg. Blockfrost API, or Oura.
- Agent behavior implementation
- Defining test scenarios
- Executing test scenarios
- Development of the Dashboard
Acceptance Criteria:
- It is possible to create Agents and define their basic behaviors using the API and the dashboard
- Agents autonomously react to the network events listening to realtime transactions
---
M3: Scenario deployment and Testing
Deliverables:
- Scenario document for Voltaire Voting
- Publication of results of the scenario execution on SanchoNet
Output:
- Multi-agent, multi-transaction, multi-epoch scenarios development and testing
- Scenario testing
- Dashboard publication with results
Acceptance Criteria:
- Scenario document for Voltaire Voting is published on GitHub along with results of execution on SanchoNet.
---
Deliverables:
- A public GitHub repo with the code and documentation
- A YouTube video showing the dashboard and running a Voltaire voting scenario
- URL of the deployed Dashboard
- Closing report to Catalyst
Output:
- Addressing Community feedback
- Bug fixes of the major bugs reported
- Release of Dashboard URL
- Community promotion
Acceptance Criteria:
- Full source code is published to GitHub repo with sufficient documentation
- A YouTube video demonstrating the capability of the system is published and is public
- A URL of deployed environment
- Closing report to Catalyst
---
[RESOURCES] Who is in the project team and what are their roles?
Sandip Pandey, Project Manager
- Involved in Plutus v2 testing, KuberIDE, Voltaire testing
- https://github.com/spannercode
Sudip Bhattarai, Lead architect and engineer
- Involved in the Plutus v2 testing, KuberIDE, Voltaire testing
Nabin Pokharel, Plutus/backend developer
- Involved in Plutus v2 testing, KuberIDE, Voltaire testing
Nabin Kawan , Fullstack developer
- Involved in KuberIDE, Voltaire testing
Ankit Sapkota, Frontend developer
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.
M1: Building the foundation
Resources: Architect, Designer
Timeline: 1 month
Budget: 10,000 Ada
M2: Agent coordination and scenario development
Resources: Frontend(1) and Backend (2) developers
Timeline: 2 months
Budget: 60,000 Ada
M3: Scenario deployment and Testing
Resources: Frontend and Backend developer
Timeline: 1 month
Budget: 20,000 Ada
Final milestone
Including project management and marketing
Resource: PM
Timeline: 1 month
Budget: 10,000 Ada
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The cost of implementing autonomous agent-based testing in the Cardano ecosystem represents value for money in several key ways:
1) Preventing Costly Failures: By identifying vulnerabilities and performance issues early, the project can prevent costly system failures or security breaches in the future, which could lead to significant financial losses and damage to Cardano's reputation.
2) Enhancing Network Efficiency: Improvements in network performance and scalability can lead to reduced transaction costs and faster processing times, making Cardano more attractive to users and developers, potentially increasing adoption and network value.
3) Community Confidence: By investing in the security and reliability of the network, the project reinforces community trust, which is invaluable for the growth and stability of the Cardano ecosystem.
4) Setting a Benchmark in Blockchain Technology: Establishing Cardano as a leader in blockchain security and performance through advanced testing methodologies can set a high industry standard, potentially increasing Cardano's market share and influence in the blockchain space.
In summary, the initial investment in this testing project has the potential to yield significant returns through enhanced security, efficiency, and reputation, contributing to the long-term success and growth of the Cardano ecosystem.
[IMPORTANT NOTE] The Applicant agrees to Fund Rules and also that data in the submission form and other data provided by the project team during the course of the project will be publicly available.
I Accept