Our team met organically at the right time and the right place. We were all interested in protocol development and were wondering why no one was working on an implementation of the Sharding FAQ created by Vitalik near the end of last year. Preston and I were the first to connect, we established a team, and started hacking through an open source repo and public Gitter channel. Our team aims to be a big proponent of advancing the state of the art of Ethereum through good code, good documentation, and setting the example for future open source initiatives. The key point is to keep the momentum going, identify everyone’s unique strengths, and ensure we are all working on something we individually enjoy while being pragmatic with what we build.
What made you choose to build on Ethereum, specifically focusing on the sharding and scalability issues?
We love how truly decentralized Ethereum’s development is. People from all backgrounds, languages, and countries can build an Ethereum client or a dApp on the platform. Ethereum already has excellent onboarding through its extensive documentation and example projects built on it. Its rich ecosystem of implementations in Rust, Python, Go, C++, and more, got us excited for the possibility of building its next iteration while maintaining this status quo of unique implementations.
We believe so many people are already familiar with Ethereum and we are excited for the prospect of making it scalable for the world. Scalability is essential to the success of Ethereum. And we see sharding being extremely relevant to the growth of Ethereum worldwide in production. I can’t wait to get to where we have all the different sharding implementers deploy a public testnet using the clients they wrote. There will be lots of challenges leading up to the release of a public testnet when coordinating with other teams. We must ensure what we build today will not lead to problematic integrations via p2p or RPC with other teams.
But we are really excited for production use of our Prysm client. There are so many layers of the web3 stack that are already in place in Ethereum and we need all the help we can get. By improving Ethereum’s core protocol, the community will benefit and allow these technologies to achieve global adoption.
How is your relationship with the community, how can people help and collaborate with you?
We have been fully transparent with the community since the start. Almost every aspect of our project management is handled through Github through good documentation, extensive PR/Issue threads, and good labels. We communicate on a daily basis on our public Gitter channel here and welcome new contributors by opening up Good First Issues and guiding them through the setup.
We write everything in Go because of its fantastic tooling and strict design decisions it enforces. Almost every package in our project looks like it was written by the same person, even though we collaborate extensively with outside contributors in our repo. We use the go-ethereum project as a reference for good concurrency practices and bring in our own skill-sets and other tooling to create a better, robust implementation for Ethereum 2.0.
There is a lot of room for non-technical folks to contribute as well. There is a lot to be done in terms of condensing the Ethereum sharding roadmap into good documentation and clear explanations. Having someone that can work on tidying up our documentation, ensuring new contributors are welcome, and help spread the word of our initiative across the community.
We applied for Nest after getting a good feeling about Aragon’s commitment to open source sustainability and encouraging teams to pursue important initiatives that would otherwise be underfunded. We made a great decision and enjoy being a part of the Aragon family.
And do you have any thoughts on what issues Aragon specifically can help solve?
As decentralized teams become the norm in the development of important tools on the web 3 stack, governance will be even more relevant for the general public when it comes to decision making and coordination in applications. Governance is more than just a construct for protocols, but also a critical piece of end-user dApps that will form the backbone of the Internet in the future.