not approved

DRED decentralized API

₳385,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Feasibility
Value for money
Impact / Alignment
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 a decentralized API service on Cardano forces projects to use centralized services.

Yes Votes:
₳ 27,496,655
No Votes:
₳ 147,052,671
Votes Cast:
272

  • Video cover image

[IMPACT] 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.

[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

Our solution directly addresses the Development & Infrastructure challenge by providing 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.

[IMPACT] How do you intend to measure the success of your project?

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 and Demu Munode. 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.

[IMPACT] Please describe your plans to share the outputs and results of your project?

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).

[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?

We’re confident in our ability to deliver this project with high levels of trust and accountability, based on our demonstrated capabilities. For instance, we have successfully managed funds responsible and delivered the DRED project, despite encountering challenges and dependencies on the CAD poker proposal. Additionally, even in the face of declining ADA values, we have thoroughly explored the Kaleidoscope paper and collaborated with Catalyst to design and code essential components for the related protocol. These accomplishments highlight our reliability and competence in managing funds effectively.

[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?

The main goals are:

  • Create a way to run a traditional API service in a decentralized way
  • Provide web/javascript client software bridging to the service network
  • Provide documentation on "How to decentralize a traditional API" with this protocol
  • Update existing CIP draft from DRED to cover this use case
  • Capture contribution-accounting information
  • Stretch: rewards model

Because most of the research and development efforts with DRED have been completed by the same team, we don't see any significant feasibility risk. Our work-planning front-loads key technical development to the first milestone, so that we can get prompt feedback and decide how to respond to any discovered challenges.

We will validate our approach's feasibility through incremental testing of DRED integration and transitioning of an existing Cardano centralized API service into a decentralized one, and by getting feedback from the community sessions.

[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Detailed breakdown of project milestones:

Milestone 1 (1 month): 75 k ADA

  • 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.

Milestone 2 (1 month): 90 k ADA

  • 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)

Milestone 3 (1 month): 80 k ADA

  • 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.

Milestone 4 (1 month): 80 k ADA

  • 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

Milestone 5 (1 month): 60 k ADA

  • 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

    [CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.

Outcomes and Deliverables by milestone:

Milestone 1

  • Outcome: client and server proxies APIs work withGET/PUT processing
  • Deliverable: Demo video, code.

Milestone 2

  • Outcome: A POST service interaction is demonstrated (request/DRED/response)
  • Deliverable: Demo video, code.

Milestone 3

  • Outcome: decentralized APIs can connect an external REST service.
  • Deliverable: Demo video, code

Milestone 4

  • Outcome: decentralized API offer redundancy
  • Deliverable: demo video, code

Milestone 5

  • 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

    [RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.

Overall, the total expenditure will be 385 thousands ADA [k₳], so split:

  • Project Management: ₳55 k
  • Documentation: ₳65 k
  • Development: ₳165 k
  • Testing and onboarding: ₳50 k
  • Community Sessions, demos and promotion: ₳50 k

The rationale for these figures is team composition, skills, needed market rates / cost of living, and past experience with previous proposals.

Our established team is composed of an experienced Architect / Developer, a Developer / Technical Writer, and a Project Manager / Social Media Manager. Such a team already worked together on the successful completion of another project, and will be driving the development, management, and communication efforts.

Beyond the established team, we are also contracting for two more roles: a Full-Stack Developer (Node.js/Javascript) and also a DevOps Engineer/Integration Specialist.

Given the team composition and milestones, the cost of the team is linear over time. To pay for an Architect, three development contributors, and a project manager, we anticipate a cost equivalent to 77.2k ADA per month.

[RESOURCES & VALUE FOR MONEY] Who is in the project team and what are their roles?

Core Team:

Seomon: Project Management, Communication, Social Media Management, Workshops

Seomon is an experienced Cardano veteran, Project Manager, and former Poker professional. He has co-founded multiple communities within the Cardano ecosystem, establishing a strong network of Cardano-focused companies, professionals, and enthusiasts. Simon's contributions have earned him the Cardano Ambassador status and community funding for various proposals through Project Catalyst. Guiding the overall direction of projects, cultivating strategic partnerships, and ensuring the vision aligns with the teams values are some of his responsibilities.

Randall: Software Architect, dApp and Smart Contract Developer, Developer Manager

Randall is an Experienced software veteran specializing in business-oriented applications, with a background in accounting and distributed data processing. Skilled software architect and system designer, driven by a continuous desire to learn and adapt. He gives technical guidance and designs as well as develops our innovative software.

Patrik: dApp Developer, Technical Writer, Communication

Patrik is a Senior SW Engineer with 15+ years of experience in different sectors, such as (Swiss) Banking, Open Source, (Dutch) Oil & Gas, (German) Automotive, and Healthcare. Experienced in Cardano blockchain projects, catalyst-funded proposer, and dedicated open-source enthusiast. As a driving Engineer he develops our open source software and offers valuable insights and expertise to the Team.

+ consultant devs and legals (where needed)

[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

The cost of the project for the Cardano ecosystem represents great value for money. Our team consists of highly skilled professionals with a track record of successful projects, including an experienced Architect and Lead Developer, a Developer and Technical Writer, and a Project Manager and Social Media Manager. In addition, we are also contracting a Full-Stack Developer (Node.js/Javascript) and a DevOps Engineer/Integration Specialist to enhance our capabilities.

The cost of the team is determined based on the team composition and project milestones, and remains consistent over time. To cover the expenses of the Architect, three development contributors, and a project manager, we estimate a monthly cost of 77.2k ADA. With the current exchange rate of 0.305, this translates to ~ 23.5k USD per month. It's important to note that this cost is below the market rates for similar positions and skills in the proposers' and contractors' countries.

Moreover, this project presents an outstanding opportunity for the Cardano ecosystem. By leveraging DRED as a decentralized scaling solution, we aim to integrate decentralized API services and enable the node operator model. This approach will foster a healthy and robust decentralized API service ecosystem, driving the shift to decentralized systems.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00