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?
This is the total amount allocated to DRED Decentralized API.
Randall
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.
No dependencies
Fully Open-Source, ideally MIT-licensed, possibly double-licensed EPL or Apache2. The idea is to use a permissive license and allow for derivative work that can be used commercially.
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:
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 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.
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).
Our capability 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:
Milestone 1 (1 month):
Milestone 2 (1 month):
Milestone 3 (1 month):
Milestone 4 (1 month):
Milestone 5 (1 week):
For the Final Milestone, we present the results of M4:
P.Suzzi, Developer, SW Engineer - www.linkedin.com/in/psuzzi
Jake G. - Developer, SW Engineer - www.linkedin.com/in/jake...
Randall - Software architect, 20+ years exposure to cryptography, accounting, and application development - www.linkedin.com/in/randall...
Seomon - Project Manager, IT Consultant, Experienced Cardano Contributor
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, ~50%FTE worked, and possible risks, we determined that the team needs around 75 k₳ per month (~ 18.5 k$/mo) to work properly.
It is worth to note that, with such an amount, we can cater for unforeseen circumstances, like team member replacements, or market volatility, but we can hardly afford an extra developer or smart contract developer in case this might be needed in order to complete the project quicker.
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