Ethereum is a global network that continues to evolve rapidly. How does this happen? Today’s write-up explains how one of the most decentralized networks improves itself. We’ll dive into what an EIP is, how they are processed, and observe how development happens in a decentralized context. Enjoy!
*Thank you to Ziad and Lianna for proofreading.
What is an EIP?
An EIP, or Ethereum Improvement Proposal, often describes a new feature to be added to Ethereum. These proposals can be submitted by anyone, and become the responsibility of the author once they’re created. The author informs other developers of their proposal, gathers support to build and launch it, and documents work throughout the process.
Standards Track EIPs
The majority of EIPs are Standards Track EIPs, proposals that changes the Ethereum protocol itself. Broadly, anything that technically changes Ethereum is a Standards Track EIP. There are several sub-types under the Standards Track: Core, Network, Interface, and ERC. Each are briefly explained below.
Core EIPs
Core EIPs are changes drastic enough to require a fork in the blockchain. Forks are when the blockchain splits in two because of a major decision, with one path following the old rules and the new path following the new ones. Core Stand Track EIPs are the most major type of change and require the most development effort. An example is the EIP that brought Proof of Stake to Ethereum, EIP-3675.
Networking EIPs
Networking EIPs are improvements to how nodes communicate and transactions are transmitted on Ethereum. Transactions are encrypted when sent; when I send you funds, I'm encrypting a message that only you can decrypt. Changes to how information is encrypted, sent and received are Networking EIPs. An example is EIP-8, which further added to the standards around communication on Ethereum.
Interface EIPs
Interface EIPs are improvements for how applications interact with Ethereum. They standardize the API used for communication with the blockchain. Changes to these standards are referred to as Interface EIPs. An interesting example is EIP-6, which changed the name of an opcode on Ethereum from “Suicide” to “Self-Destruct” for mental health reasons.
ERC EIPs
Finally, ERC EIPs establish new standards on Ethereum, often for smart contracts. These standards are responsible for tokens on Ethereum (ERC-20) and non-fungible tokens (ERC-721) and many more. Without these standards, tokens wouldn’t be easily tradeable on decentralized exchanges.
Additional EIP Types
Standard Track EIPs (the ones listed above) are the most common. The less frequent Meta EIP covers a non-technical change in process; in how development overall is managed. Finally, instead of proposing new features, Informational EIPs elaborate on existing design details. A good example is the first EIP, EIP-1, which defines the process for all EIPs that follow.
A Lot of Work Goes into an EIP
EIPs can be proposed by anyone, but often require the work of multiple people depending on their impact. EIP Editors review EIPs that are submitted, and multiple developers are usually required to build a feature. The effort to reward ratio factors greatly into which proposals are prioritized and which aren’t. They all follow an identical process that determines which EIPs are delivered first.
The EIP Process
Before submitting an EIP, authors should first vet the idea with others in the Ethereum development community (start on the Ethereum magicians forum). Assuming the idea is not covered by an existing EIP, the author creates a draft and submits it to the EIP Editors. There are different EIP Editors responsible for each sub-type of EIP; they’re responsible for making sure the proposals are technically sound. Once that’s done, they create the Draft version of the EIP.
EIP Peer-Review
Once an EIP Editor feels like the draft is ready to receive feedback from the community, they move it from being in Draft to in Review. At this stage, any member of the Ethereum development community can share their thoughts on how the proposal can be improved. Feedback is also incorporated into the proposal.
EIP Finalization
Once the proposal is complete, it enters a stage named Last Call. This provides a final opportunity for feedback to be shared, usually with a deadline of 14 days. If any major changes come up, the proposal moves back to being in Review. If no major feedback arises, then the EIP moves into the Final stage. At this point, it can no longer be changed.
Additional EIP Stages
At any stage before Final, the EIP can be marked as Withdrawn by the author that created it. If this happens, it cannot be “brought back.” If work on it were to ever continue, it would need to be under a different EIP number. Also, EIPs can become Stagnant if no progress happens in a period of 6 months. There’s one more Living stage, a special status for EIPs that are continuously updated, like EIP-1.
EIPs Become Features
Once an EIP is Final, it becomes a candidate to include in Ethereum’s periodic upgrades (called forks). The process highlights the importance of individual responsibility in a decentralized environment. No features would be delivered if not championed by at least one person to start, and each is only made complete through the process of peer-review. May the brightest ideas win.
Thank You & Additional Reading!
Thank you for reading about how development happens on Ethereum. Please consider sharing this newsletter below, and also find some resources if you’d like to dive deeper!
Stay kind. Stay curious.
EIP-1 by Martin Becze and Hudson Jameson