not approved
DRED Decentralized API
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳100,000
Percentage
Received
0.00%
Solution

Develop a decentralized API service on Cardano based on DRED state channels to enable traditional API services transition to the Node operator model for increased capacity and resilience.

Problem

Lack of decentralized API services on Cardano forces projects and dApps to use centralized services. How can we decentralize the API services to improve the ecosystem?

Impact Alignment
Feasibility
Value for Money
DRED Decentralized API

Please describe your proposed solution

Our proposed solution tackles the problem of having centralized API services by introducing a novel decentralized system architecture. By using state channels for request-response operations and implementing a reward system for load distribution among servers, we aim to enhance resilience and encourage organizations to participate by running their servers.

In our decentralized system, API calls are managed through (DRED) state channels, enabling reliable tracking and management of request and responses. The introduction of a decentralized load balancer dynamically offers responsibility for serving API calls to specific servers managed by node operators (such as DAO members).

This unique solution for load distribution balances workload across the network to provide resilience, while having a decentralized consensus record of the contributions provided by servers.

We aim to engage node operators who may have spare capacity on underutilized hardware, and with developers on projects who can benefit operationally by using decentralized API services. Developers will also benefit by being able to write traditional API code (e.g. an express web server) and deploy decentrally.

We will develop code and documentation developers can use to understand how to get the advantages of decentralized APIs and most effectively integrate them into their applications.

In future, our solution will also be able to incentivize operators to participate in the network and maintain their servers, rewarding them for successfully serving API calls. This fosters a healthy and robust decentralized API service ecosystem, driving the shift to decentralized systems.

Please define the positive impact your project will have on the wider Cardano community

Our solution provides a decentralized RPC/API service enabling a shift to decentralization. Benefits include improving security, resilience, and fair distribution of rewards, and attracting a broader audience to Cardano.

This will attract developers and enable authors of traditional API's to continue using their skills and code, and to operate those APIs through decentralized, community-operated infrastructure

Other secondary benefits include increased developer engagement, and fostering innovation by enabling innovative applications.

Success:

We’ll measure the success of our project through several key metrics demonstrating its positive impact on the Cardano ecosystem.

Our primary objective is to streamline the integration of at least one existing service with our decentralized APIs, such as Dandelion/GraphQL or Demu Munode which we are connected to. Additionally, we will closely monitor the adoption rate of our DRED decentralized API among applications, as well as the growth in the number of developers utilizing our solution. A substantial increase in both application usage and developer engagement would serve as strong indicators of the project's success.

Moreover, we recognize the importance of qualitative feedback, and thus, we plan to conduct user feedback sessions to gather valuable insights and assessments regarding the usability and effectiveness of our decentralized APIs.

Concluding, our ultimate goal is to foster innovation within the Cardano ecosystem by enabling the utilization of the Node operator model for different services. Consequently, it is crucial to monitor robustness indicators, such as resilience, security, and censorship resistance.

Output:

We will actively engage with the community by making regular commits to our open-source repository and incorporating user feedback to enhance the project. Updates on our progress will be shared through platforms like Twitter, Discord, and also in After Town Halls. Once completed, the project will be publicly available on GitHub.

Collaboration with Cardano’s developer community is a priority for us. Consequently, we will organize workshops and webinars to share knowledge, discuss our solutions, and encourage further research and development for decentralized APIs

The project’s output will be valuable for future R&D. The documentation and codebase will serve as a guide for developers working on Cardano-related services switching to the Node operator model, while node operators with spare capacity can benefit from our work (e.g. being incentivized to serve API calls for other decentralized services).

Specific Metrics:

Quantitative Metrics:

  • Streamlined the integration of at least 1 dApp
  • Engage 20+ developers through interactive demo sessions and detailed documentation.
  • Number of active users engaging with the dApps.
  • Volume of transactions within dApps.
  • Sustainable revenue generation for the project treasury and contributors.

Qualitative Metrics:

  • Community feedback and engagement levels.
  • User feedback gathered during onboarding sessions.
  • Developer testimonials and satisfaction ratings.

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?

Our Capability & Feasibility can be demonstrated by what we have already done, what we are doing, how we are working together, and by the reputation of the team members:

Our Capability to Deliver can be demonstrated by what we have already done, what we are doing, how we are working together, and by the reputation of the team members:

  • we developed DRED, a foundational library at the core of this proposal. The DRED project was managed and successfully delivered by this same team.
  • we are developing a commercial gaming application using DRED, of which we have a working PoC.
  • The team is capable, meets regularly, and has a good track record of github commits, and of published documentation and videos for the current projects.
  • We already worked in other Cardano projects, and we are technically ready to take the challenge.
  • We work on this project for more than a year. We know the technical challenges well because we put our own ressources to work on this project.
  • Our team members are well-known in the community, joining and organising community events on a regular bases for years by now. In the past, we also organized and participated in Challenge Teams, such as the Open Source CT.

The Feasibility of our Approach is validated according to:

  • Our Trackrecord: This is not our first rodeo, we already built sophisticated software on which this project builds on.
  • Incremental Progress: we broke down the problem in subproblems, which makes it easier to solve different aspects: Cardano After Dark for Poker UI ; DRED to implement a State channel, zkpoker: to enable zk-proof of validity, and our latest PoC demonstrating we can perform a TEG-Shuffle and run a poker protocol with encrypted cards.
  • Pragmatic Approach: incremental testing during development, incremental assessment of the deliverables for the project milestones

Risk Management:

  • Technical Challenges: Mitigated by iterative testing and community feedback sessions. For example, integration issues will be addressed through incremental testing and peer reviews.
  • Resource Allocation: Our wide network of Cardano enthusiasts and professionals mitigates the risk of having to replace teammembers. Our contingency plan also includes cross-training and informing team members on critical tasks and workloads.
  • Community Engagement: Regular updates and feedback loops to ensure alignment with community needs. Monthly webinars and Q&A sessions will be held to gather and incorporate feedback.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: Milestone 1 (1 month):

  • Create client-side proxy (javascript class)

  • Create server-side proxy (bridge to express service)

  • Implement each GET/PUT processing

  • Successful when: A decentralized API client can connect to a DRED node with GET/PUT request and receive an HTTP response from a decentralized server through DRED.

  • Outcome: client and server proxies APIs work withGET/PUT processing

  • Deliverable: Demo video, code.

Milestone 2: Milestone 2 (1 month):

  • Implement POST processing

  • Service providers identify and respond when they have responsibility for an API call

  • Serve one or more endpoints from Dandelion / GraphQL, Demu Munode

  • Successful when: A POST service interaction is demonstrated (request/DRED/response)

  • Outcome: A POST service interaction is demonstrated (request/DRED/response)

  • Deliverable: Demo video, code.

Milestone 3: Milestone 3 (1 month):

  • Bridge to out-of-process express service (e.g. in a docker container)

  • Iterate on bridge / proxy software components

  • Successful when: an external REST service can be exposed through DRED API Service.

  • Outcome: decentralized APIs can connect an external REST service.

  • Deliverable: Demo video, code

Milestone 4: Milestone 4 (1 month):

  • Fallback response when primary responsibility isn't served, for service redundancy.

  • Create record-keeping channel so that servers can have credit for the contribution, which can be later rewarded with minted tokens

  • Iterate on bridge / proxy software components

  • Successful when: a dead API-serving node has its responsibilities smoothly filled by a fallback node

  • Outcome: decentralized API offer redundancy

  • Deliverable: demo video, code

Milestone 5: Milestone 5 (1 week):

  • npm package

  • docs and CIP update

  • Community session

  • demo vid

  • Successful when: people can install a package and connect their server with a DRED API Service neighborhood

  • Outcome: people can install a package and connect their server with a DRED API Service neighborhood

  • Deliverable: docs and CIP update

  • Deliverable: Community session

  • Deliverable: demo vid, code

Final Milestone: For the Final Milestone, we present the results of M4:

  • Outcome: people can install a package and connect their server with a DRED API Service neighborhood
  • Deliverable: docs and CIP update
  • Deliverable: Community session
  • Deliverable: demo video, code

Who is in the project team and what are their roles?

P.Suzzi, Developer, SW Engineer - www.linkedin.com/in/psuzzi

  • Responsible for co-development, and for integration and testing of the communication module.

Jake G. - Developer, SW Engineer - <https://www.linkedin.com/in/jake-gonzalez-551306b4/>

  • Responsible for co-development, software engineering, testing and integration of the dApp.

Randall - Software architect, 20+ years exposure to cryptography, accounting, and application development - <https://www.linkedin.com/in/randall-harmon-aa52765/>

  • Designing the architecture and ensuring scalability and security of the system.

Seomon - Project Manager, IT Consultant, Cardano Ambassador

  • Managing the project-, timelines, milestones, alignment, reports and community engagement.

Please provide a cost breakdown of the proposed work and resources

Overall, we did compute the total expenditure based on the team size, location, and using a market rate well below average in our locations.

The core team is made of four members, all software professionals living in the U.S. and E.U.

After careful evaluation based on past experiences, ~25 %FTE worked, and possible risks, we determined that, for this project, the team needs around 25 k₳ per month to deliver.

The personnel cost is 20 k₳ / month, and is forecasted as follows:

  • 1 SW Architect, 40 hours/month
  • 1 PM, 40 hours/month
  • 2 Developers, each 40h/month

Infrastructure cost is 5 k₳ / month and is forecast as follows:

  • Server Costs: 2,000 ADA/month
  • Software Licenses: 1,000 ADA/month
  • Cloud Services: 2,000 ADA/month

It is worth to note that, with such an amount, it will be hard to cater for unforeseen circumstances, like team member replacement, or market volatility. We would have to find creative solutions if such problems occour (e.g. ask the team to work pro-bono, find additional funding sources).

No dependencies

How does the cost of the project represent value for money for the Cardano ecosystem?

This project represents good value for money.

Besides, the team cost is significantly competitive and below the market rate, giving team member locations, roles, and skills required for this project. As an example, for the American team members, the average wages for contracting software engineers (in CA or TX) are well above the 10 k$/month, while for the European team members (DE, AT) the average wages are around 7 k€/month

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00