Cartesi DApp Incubation Program -Build your DApp in Linux with Cartesi. $80k+ in prizes to the best 3 DApps! Learn more here. ×
Grow Open Source Bounties Hackathons Grants Quests Kudos
Back to Grants

DAppNode - Panvala League

0x00CF36853AA4024fb5BF5cc377dfd85844B411a0

Grant Accepts Any Token

None

Last Update: 18 hours ago

CATEGORIES

Infra_Tech

INFRA TECH MATCH ROUND

14,307 DAI

ESTIMATED MATCH

INFRA TECH ROUND

1,450 DAI

114 CONTRIBUTORS

Your contribution goes a long way!

1 DAI contribution

+ 188 DAI match

10 DAI contribution

+ 332 DAI match

100 DAI contribution

+ 455 DAI match

1,000 DAI contribution

+ 522 DAI match

Next update : 4 minutes from now | Last updated : 40 minutes ago

Description

{"ops":[{"insert":"The PANVALA League Donations"},{"attributes":{"header":1},"insert":"\n"},{"insert":"\nDAppNode is decentralized infrastructure. As such, many other project can be built on top of it. But how can we allocate funds and efforts to these projects who are part of the DAppNode ecosystem? The answer is: the community can - not us. The users, the builders, those contributing and participating to create a better, more useful DAppNode should be encouraged to do so. So all the PAN contributions to this Gitcoin Grants round and its matching will go straight back to this community, with the vision that a stronger community and more projects working on top of DAppNode are what will increase the utility, usability and ultimately determine the success of the project. \n\n"},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"First Goal (500$ - 3,500$)"},{"attributes":{"background":"transparent","color":"#000000"},"insert":" "},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"The DAppNode community is evolving. In order to support this growth and reward the most active community members, our first goal will be directed towards a community treasury to reward the best contributions."},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"This community treasury will be based on Sourcecred and will be ignited with the money received from this grant round. The donations will be used as the seed funds to distribute among the most active members of the community, who later can decide to stake into our cluster (and generate a virtuous circle) or cash out. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"These people represent the most active and participative users in the DappNode community, those who help other members with support, those who contribute with ideas or those who build on top of DAppNode. "},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"Second Goal (above 3500$)"},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"Anything above the seed fund will be donated to other projects, with the purpose of creating DAppNode packages of their products. By creating a scheme of Package Champions that will steward the maintenance of the package and of Package Developers, who will create the actual DNPs, we will be donating to projects that have demonstrated interest in integrating with DAppNode: Rotki, Trueblocks, BrightID... and packages that the community members have requested: ETH2.0 validation tools, other PoS networks... The community will decide!"},{"insert":"\n"},{"attributes":{"header":1},"insert":"\n"},{"insert":"DAppNode is the Decentralized Infrastructure of the Web3"},{"attributes":{"header":1},"insert":"\n"},{"insert":"\nContributing to DAppNode's grant is to contribute to a fully decentralized vision of the blockchain ecosystem: \n"},{"attributes":{"bold":true},"insert":"We want to enable decentralized infrastructure for the world by shifting the value captured by the cloud giants to the participants at the edges, destroying the barriers of entry for participation: that is, to enable anyone to get paid by maintaining the infrastructure of the internet."},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nWe have identified two tracks that will stimulate decentralization in the short to mid term and we will dedicate 1/2 of the Grant to each of the tracks: \n\n1- Knowledge, dissemination and creation of TRUE DApps.\n2- Ethereum 2.0 validation. \n\n"},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"Most DApps are not decentralized. Nobody is to blame for that:"},{"attributes":{"background":"transparent","color":"#000000"},"insert":" To begin with, DApps need access to nodes to work: that means either become a centralizing vector yourself and maintain your own node at a considerable cost and headache, or go to another player that does that at scale and is more efficient but also has more power over the data - Infura or other Node-as-a-Service providers. A DApp developer does not necessarily want to be an infrastructure provider, so it’s just normal that it would pay someone to do so. "},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"Secondly, DApps need to be as usable and accessible as any other app - which means that they need to go through the distribution channels users are used to: a website, an app store, etc. Considering that accessing decentralized websites requires extra steps from the user (like using an IPFS gateway to access decentralized front-ends, for example), and we want to make it easier for her, it is just easier to use a standard hosting service that most likely ends up in AWS, GC or Azure."},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"So... have we lost the decentralization war to an inevitable but insidious prioritization exercise?"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"It doesn’t have to be. "},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"Let open source come to the rescue."},{"attributes":{"background":"transparent","color":"#000000"},"insert":" We will spend half of the Gitcoin Grant Round 5 on "},{"attributes":{"background":"transparent","color":"#000000","bold":true},"insert":"Gitcoin Bounties"},{"attributes":{"background":"transparent","color":"#000000"},"insert":" targeted at decentralizing commonly used DApps, and the other half on ETH2.0 research (more on that later). "},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"How are we going to use Bounties to create a more truly decentralized ecosystem?"},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Reward DApps to maintain their own decentralized front end (IPFS/.eth domain)"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Reward Developers to include the option for users to connect to their own node (it’s unbelievable how this is NOT a default in all DApps!)"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Reward Developers to create DAppNode packages of their DApps."},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Reward Open Source contributors to develop and maintain packages, (like Nate Gentile’s light & local block explorer). "},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#000000"},"insert":"The second half of the grant will be spent on what has the potential to decentralize the Ethereum network, if done correctly: Eth2.0 and its openness for validation. We hope that DAppNode will be the easiest way to deploy and maintain a validator with minimal effort! But in order to future-proof this "},{"insert":"\n\nAll of this, free and open source. Get your DAppNode at install.dappnode.io or get your plug-and-play hardware solution at shop.dappnode.io.\n"},{"attributes":{"header":1},"insert":"\n"},{"insert":"\n\n"},{"attributes":{"bold":true},"insert":"Consensys Grants final report: "},{"attributes":{"header":1},"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"DAppNode is the easiest way to run decentralized infrastructure. Install our Free (& Gratis) Open Source Software, a couple of clicks and boom, you’re running a local node of whatever network you want to support. No technical knowledge needed and even less if you get the plug-and-play hardware from our shop! Plug to your router, you’re game. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"We’ve devoted a lot of work to make every piece of it completely decentralized. Using it will never require you to connect to a central server (because DAppNode is a fat client and self-contains Ethereum and IPFS nodes, it connects directly to these decentralized networks!). We even created a decentralized auto-update system so infrastructure maintenance is even more hands-free. "},{"insert":"\n"},{"attributes":{"height":"331","width":"602","background":"transparent","color":"#212529"},"insert":{"image":"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"The thesis is decentralization empowers people (with sovereignty over their own data, with access to unstoppable services). The antithesis is only a few have the technical knowledge to be empowered this way. The synthesis is DAppNode breaks down all technical barriers for everyone to participate in this decentralized networks. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"And it works! Promise is fulfilled and we are working every day to make it more user-friendly, easier to understand and to maintain and bring the world closer to an ideal where there are no cloud providers and everyone can participate into a crypto-network that helps them offer their hardware to an infrastructure protocol (or several) and get rewarded for it. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"Ah, but there was a use case that we couldn’t figure out. Let’s hear it through the story of our type user, Paco:"},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#212529","italic":true},"insert":"Paco is privacy-conscious. He doesn’t want his data floating around but also he doesn’t want anyone’s data floating around so it can be used on them at every election by the myriad of Cambridge Analytica spin-offs. He sees that as a threat to democracy. Hence he sees the value of decentralization through blockchains: protocols that only keep the data they need on-chain and users know in advance which data that is; or protocols that store information in a way that can be accessed without being recorded and in an unstoppable and uncensorable way. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","italic":true},"insert":"Paco is tech-savvy, compared to most, but not a developer nor comfortable with command line. He’s an early adopter of tech. He got excited by Bitcoin’s promise of a decentralized pseudonymous digital currency in the early days, and that’s how he got into crypto. He uses Signal as his main messaging app. He uses DAppNode to run an Ethereum node and a Monero node and regularly experiments with new projects thanks to DAppNode’s ever-growing list of packages. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","italic":true},"insert":"He transacts happily, broadcasting the transactions through his own nodes, accessing .eth domains through his local IPFS node. But he can only do so when he’s at home, next to his DAppNode."},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","italic":true},"insert":"If he wants to do a transaction when he’s at the office, or at a cafe, or at the hotel during a business trip, he has no way to connect to his node because his home connection has a Dynamic IP that keeps changing so he has no way to find it. "},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"Alright Paco, this is a hard problem but we gotchu. We have created a DNS server so your DAppNode will have a public address that you can look for and in the background it will update with its new IP. Not ideal, we know, but we collect no data from this server. “Decentralize till it hurts, centralize until it works”!"},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"This was the only compromise. In the name of UX and serving users, there was that DNS server! But, could we fully decentralize our solution? Is there a way to create a Decentralized Dynamic DNS? Enter Consensys Grants. "},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","bold":true},"insert":"Milestone 1"},{"attributes":{"background":"transparent","color":"#212529"},"insert":". Codename “D” for Decentralized and “D” for Dynamic"},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Well it turns out it is possible. We analyzed different protocols like ZeroNet, Swarm FEEDS and libp2p and decided that probably the best way to go for this use case was libp2p. ZeroNet and Swarm FEEDS could be used, but they either had too much overhead or they would require a radical change on sizeable parts of DAppNode’s codebase. "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"At the end of Milestone 1 we had a libp2p PoC that allowed two machines to discover each other in the vast internets, connect securely and start exchanging. See the video in milestone 2 for more information (the full DDDNS works according to the same principles as the PoC). "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","bold":true},"insert":"Milestone 2. "},{"attributes":{"background":"transparent","color":"#212529"},"insert":"Codename “DDDDDDDDDDDDDDDNS”. Ok, that’s too many D’s. Call D cops.  "},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Objective was to create a working system that could scale and could be implemented in DAppNode or other projects in need of a similar solution. "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"What better way to show it than with a video?"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent","color":"#1155cc","link":"https://youtu.be/YsKhGEbucnc"},"insert":"https://youtu.be/YsKhGEbucnc"},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529","bold":true},"insert":"Milestone 3"},{"attributes":{"background":"transparent","color":"#212529"},"insert":". Codename “DDDeploy”. We were running out of ideas for names 🤷"},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Milestone 3 was to deploy it in our production version of DAppNode so Paco would be able to use it to connect to his RPC endpoints from wherever, leveraging only decentralized systems. "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"DAppNode’s DDDNS system is not in production yet. DNSs are such a deeply ingrained part of the internet that it’s hard to just replace it. Unless we want to reinvent the wheel, which would take a lot more work, we depend on other actors integrating with our system. The good news is that thanks to Open Source, we have identified how it could integrate with WireGuard’s VPN so a user would be able to open a VPN tunnel from the client to their DAppNode using our system. "},{"attributes":{"list":"bullet"},"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"So now we are in the process of integrating it as an"},{"attributes":{"background":"transparent","bold":true},"insert":" internal system of discovery for DAppNodes to communicate with each other, which will enable things like federations or peer monitoring"},{"attributes":{"background":"transparent"},"insert":"."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":" \n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"Most of the questions for the final report have been addressed above. Let’s directly respond to those which haven’t:"},{"insert":"\n\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"In your opinion, what is the most remarkable accomplishment or finding of your project?"},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"This project has been a journey of discovery. We stumbled upon protocols that amazed us by their cleverness, and experimented with amazing tech. But the single most remarkable finding keeps being the astounding potential of Open Source. We could test, iterate, modify different approaches and basically build on the shoulders of giants. Every line of code we tested is a reflection of a design goal and a technological and even philosophical approach. While this is not a surprise to anyone, we feel that in the time where Open Source public goods are struggling to find its place or ensure its survival, it is worth highlighting how much progress can be made thanks to them. "},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"To what extent did this work contribute to the greater open source ethereum community."},{"insert":"\n"},{"attributes":{"background":"transparent"},"insert":"Ever wanted a way to connect two machines in a completely decentralized way? To serve from your server to a client without having to register in any DNS? Have a look at that, it’s for everyone to use: "},{"attributes":{"background":"transparent","color":"#1155cc","link":"https://github.com/dappnode/DDDNS"},"insert":"https://github.com/dappnode/DDDNS"},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"background":"transparent","color":"#212529"},"insert":"Last but not least, we want to thank the Consensys Grants team for everything that they have made for the Grantees. We have received opportunities to promote our product, to receive feedback on investment pitches, to learn about other projects, to get in touch with different teams at Consensys, to easily access Consensys products and consensys-backed products with discounts or “grantee” treatment… We felt accompanied throughout and we felt a genuine attempt to help us in any way possible. This was clearly the best part of the grant. "},{"insert":"\n\n\n\n"}]}

Wall of Love

  • 19 x 😍 love the mission of your project
  • 18 x 💪 keep up the great work
  • 5 x 🙌 Great Job
  • 4 x 👍 i appreciate you
  • 2 x Long time user of DAppNode! Both Hardware and Virtual Machines. 💪 keep up the great work
  • Show More

    Activity Feed