Written: Aug 16, 2020, I had been working for Prysmatic Labs for ~1.5 years. I was growing more engaged with my Eth2 work and felt the development process was an interesting process to share with everyone.
Explaining the standard process for making changes to Ethereum and how it defines Ethereum’s decentralized development. Including the steps that Ethereum 2.0 gets right off the bat, sacrificing its development time for long-term benefits to the network well after launch.
One of the most paramount qualities of a cryptocurrency is to be decentralized and operate with as minimal trust and authority as possible. However, implementing protocol upgrades like BIPs/EIPs are processes that naturally require human intervention. With this in mind, I will be going over the approach the Ethereum community takes to making decisions that affect the network, whether it is an Ethereum Improvement Proposal (EIP) for a new smart contract standard or a protocol change of any significance. The community and ecosystem are what make Ethereum, and this process is where that really shines.
Any change made to Ethereum typically goes through what I’d like to call “the Ethereum process”. This is usually a standard procedure:
This process is similar to Bitcoins BIP process, but I believe the Ethereum community gathers more frequently, and have more EIPs in general to vote in. Since Ethereum’s launch 5 years ago, the Ethereum community has made this process more streamlined and capable of handling EIPs at a faster rate. EIPs for concepts like smart contract interfaces (ERC20, etc.) don’t really happen on BTC and usually don’t require interaction from the core team of Ethereum. Because of this, the community has had to learn how to move forward without core team involvement as standards help the space move forward on new use-cases and potential dapps.
Now the above process is great for changes that don’t need help from the core dev teams for Ethereum. However, for EIPs that do require protocol level changes, an actual implementation, testing, and research is needed. Changing the core protocol could be a very dangerous action and has to be carefully thought out and looked over.
The difference in the process here is, the changes are usually discussed over several All Core Devs calls to ensure they aren’t harmful or possibly dangerous. All possible downsides are brought up, and if possible, addressed. Most favorable protocol improvements go through quite a handful of changes until their final draft, due to several criticisms they face on the way to being accepted. There are the forums mentioned earlier for high quality discussion on topics.
This helps ensure that only feasible and favorable changes are made, and that anything that could possibly have a risk, be it socially or technologically, like ProgPOW or ConstantiNOPEle is avoided. Anyone can watch and participate in these calls and some EIPs (like EIP-1559) even have their own focused calls, so they get the direct attention needed. Having multiple people understand the changes, and provide feedback on them helps ensure all issues are addressed before the change is implemented. Very thorough testing or research is also done (and possibly funded) if deemed required.
While some people who speak poorly of Ethereum may say it’s too “centralized on the decisions of a few”, I actually view it as Ethereum attempting to involve as many people as possible into its process. Instead of limiting things socially, it embraces the natural social aspects of cryptocurrencies, allowing people of many trades and suits to chime in on issues. Passionate people in open efforts find ways to organize!
While everyone may not be a senior engineer or master economist, there are several parts to Ethereum that no single person can really understand entirely, so allowing as many people to participate allows for some great coverage on topics. For example, EIP-1559 has relations to cryptoeconomics, engineering, game theory, user experience, and more. Allowing anyone to chime in helps recognize possible problems and makes sure they’re recognized. Even wallet providers like Metamask have stepped into the EIP-1559 effort to improve its usability.
Now, since Ethereum 2.0 is essentially a fresh slate for Ethereum, the implementation and research teams are making very careful decisions that are painful now, but will payback very well in the long run. The Ethereum 2.0 effort has decided to have multiple teams involved, with several concurrent research efforts and rather rapid iterations in design.
By having multiple implementations ready from the start, we can avoid issues that have occurred from having 1 major client, such as the Shanghai DOS attacks which nearly brought the network down if there wasn’t another implementation besides go-ethereum. Having multiple clients also adds more friction to protocol changes as more people inherently become involved, even if it means the changes take a little longer. Increasing the amount of people involved is very beneficial for decentralization!
Sure, several teams (8 currently) working on purely implementation is a lot, but thanks to Danny Ryan being a fantastic team organizer, things have gone extremely well! It definitely took a while to streamline the process for the amount of people involved, but having multiple teams with different backgrounds helps provide multiple different perspectives and insights to the project!
Every team provides different strong suits and by having professionals from several backgrounds working on an implementation, the feedback they’ve provided has been priceless! Countless improvements have been made to the design thanks to the implementation teams. It may be difficult to organize such a large group of people at moments, but when everyone is passionate, driven, (and funded) a lot of work can get done. Bi-weekly calls hosted by Danny help the Eth2.0 teams sync up to the latest research and progress from the researchers and other teams.
The work on Ethereum 2.0 Phase 0 has indeed taken longer than everyone has expected. But rest assured, there is always great progress, especially with the Official Medalla Testnet! Eth2.0 has gone through a lot of changes since the start, but they always have been for the best.
I hope this post has helped you understand and appreciate the Ethereum process and how it has helped build Ethereum into what it is today. Off-chain governance works when people know how it should be organized, and is especially powerful when the community is as open and welcoming as Ethereum.
I’m Kiwi (Ivan Martinez), a software engineer for Prysmatic Labs. We’ve been working towards the Ethereum 2.0 goal for over 2 years now! If you’d like to try running a validator or help out with the effort, feel free to join our Discord server and reach out! Follow me or my team on Twitter if you enjoyed reading this!
If you want to be a part of literally any of the Ethereum 1.X or Ethereum 2.0 efforts, please join our Discord or contact any of the people listed here:
Hello!!! Thank you for reading this article from past Kiwi! It is nearly 3 years old at the time of me adding this to Mirror! Wow!
If you're curious what I do nowadays, I built the protocol for NFTX V2 a decentralized NFT marketplace, and I have co-founded 2 anime art NFT projects, uwucrew and Killer GF. On top of helping with Persona Lamps and Aiko Virtual! Nowadays I'm building products to help form communities around supporting NFT artists!
You can follow me on (@0xKiwi_) Twitter to keep up with what I do!
Thanks for reading!!!