Authored by Aidan Hyman
ChainSafe@Systems:~$ ChainSafe Systems Starting Denode...
ChainSafe Systems is the proud recipient of an Ethereum Community Fund grant for Denode. This Article will introduce Denode and go through an overview of the project and the roadmap ahead. Denode began as a hackathon project at ETHBuenosAires. The project was intended to protect the decentralization of the Ethereum network from the threat of centralized services such as Infura.
In order to address this issue, the ChainSafe team developed a thesis to create a decentralized incentive mechanism for running full nodes. Although technologically our thesis has remained consistent, the project has grown and adapted in an attempt to solve this problem in a manner that is sustainable for both developers and full node providers. As we explain on github:
"To use the Ethereum network today, as a user and a developer, one needs to use Infura or have to setup and maintain a node themselves. In its current state, Infura is a centralized service that facilitates access to Ethereum and is an almost essential component of it. Being the only reliable service that provides such essential tools, Infura poses a risk to the Ethereum blockchain as it provides centralized access to a decentralized blockchain, essentially withering away the benefits of decentralization.
To address this issue, ChainSafe introduces Denode, a fully decentralized, open-source solution that simplifies access to Ethereum in a safe and reliable manner. Incentivizing users to run full nodes, Denode introduces monetary incentives for running full nodes in a decentralized manner as a mechanism for improving the security and stability of the network"
Architecturally, Denode achieves this through two main processes: connecting to a node and verifying nodes. This is all done through a Decentralized Autonomous Organization (DAO) that manages the relationship between "nodes" and "clients". At ETHBuenosAires we were extremely privileged to be introduced to the Aragon project, specifically the Aragon One team. This allowed us to bootstrap the process of building the DAO with a framework ready for the mainnet. Moving forward, we will release a more specific article articulating the precise way we plan to achieve equilibrium amongst the members of the future Denode community.
As we explain on github:
The project consists of six main components, some of which can be concurrent, and others which are consecutive.
Component One: Research and Development (1 month)
Outline a precise application flow and architecture
Explore the potential vulnerabilities of the system
Evaluate the mechanism design of the system in regards to incentivisation systems
Develop a token system to manage access to the nodes
Component Two: DAO development (1 month)
Create Access Control Registries (ACR)
Implement a voting system for verifying nodes
Enable the retrieval of Node IPs
Establish a payout contract to compensate the nodes
Component Three: Nodestats and Integration (2 months)
Build a mechanism that:
Allows nodes to submit requests to each other and verify the results
Maintains a copy of the ACR for a node
Verifies access tokens in requests
Integrates with the DAO
Component Four: Testing, Documentation and QA (1 month)
Setup a testnet
Perform stress tests and fuzzy testing
Ensure documentation is up to date and accessible to the community
Component Five: User Interface (UI) design (2 weeks)
- Designing and implementing a simple web UI to allow users to gain access to the network
Component Six: Community Engagement and Marketing
Engage developers for feedback and auditing
Incentivise users to migrate
As the Ethereum Network begins scaling beyond the current limitations, it is vital that we maintain our decentralized nature. With the current state of DAO's it is important that the developer community begins to experiment once again with one of the key elements of the decentralized future. One of the very reasons Ethereum exists is to allow for Decentralized Autonomous Organizations to facilitate the governance of new economic models. Removing intermediaries, allowing for a true trustless world. It is towards this future that Denode seeks to contribute!
Thank you Elizabeth Binks and Colin Schwarz for helping edit this post and David Ansermino for writing the github readme!
Lastly, I have to thank Afri Schoedon, Maria Paula Fernández, the Aragon team for mentoring and supporting us during the hackathon and the ECF for supporting our project. Without you this would not have been possible nor would we of realized the potential opportunity to take this project forward.