Page last updated: January 23, 2022
Ethereum Improvement Proposals (EIPs) are standards specifying potential new features or processes for Ethereum. EIPs contain technical specifications for the proposed changes and act as the “source of truth” for the community. Network upgrades and application standards for Ethereum are discussed and developed through the EIP process.
Anyone within the Ethereum community has the ability to create an EIP. Guidelines for writing EIPs are included in EIP 1. The EIP should provide a concise technical specification of the feature its rationale. The EIP author is responsible for building consensus within the community and documenting dissenting opinions. Given the high technical bar for submitting a well-formed EIP, historically, most EIP authors have been application or protocol developers.
EIPs play a central role in how changes happen and are documented on Ethereum. They are the way for people to propose, debate and adopt changes. There are different types of EIPs including core EIPs for low-level protocol changes that affect consensus and require a network upgrade as well as ERCs for application standards. For example, standards to create tokens, like ERC20 or ERC721 allow applications interacting with these tokens to all treat tokens using the same rules, which makes it easier to create interoperable applications.
Every network upgrade consists of a set of EIPs that need to be implemented by each Ethereum client on the network. This implies that to stay in consensus with other clients on the Ethereum Mainnet, client developers need to make sure they have all implemented the required EIPs.
Along with providing a technical specification for changes, EIPs are the unit around which governance happens in Ethereum: anyone is free to propose one, and then various stakeholders in the community will debate to determine if it should be adopted as a standard or included in a network upgrade. Because non-core EIPs don't have to be adopted by all applications (for example, you can create a non-ERC20 token), but core EIPs must be widely adopted (because all nodes must upgrade to stay part of the same network), core EIPs require broader consensus within the community than non-core EIPs.
The Ethereum Improvement Proposals (EIPs) GitHub repository was created in October 2015. The EIP process is based on the Bitcoin Improvement Proposals (BIPs) process, which itself is based on the Python Enhancement Proposals (PEPs) process.
EIP editors are tasked with process of reviewing EIPs for technical soundness, correct spelling/grammar, and code style. Martin Becze, Vitalik Buterin, Gavin Wood, and a few others were the original EIP editors from 2015 to late 2016. The current EIP editors are:
- Alex Beregszaszi (EWASM/Ethereum Foundation)
- Greg Colvin (Community)
- Casey Detrio (EWASM/Ethereum Foundation)
- Matt Garnett (Quilt)
- Hudson James (Ethereum Foundation)
- Nick Johnson (ENS)
- Nick Savers (Community)
- Micah Zoltu (Community)
EIP editors alongside with community members of Ethereum Cat Herders and Ethererum Magicians are deciding which EIP gets implemented, are responsible for facilitation of EIPs as well as moving the EIPs to "Final" or "Withdrawn" stage.
Full standardization process alongside with chart is described in EIP-1
If you’re interested to read more about EIPs, check out the EIPs website where you can find additional information, including:
Anyone can create EIP or ERC although you should read EIP-1 which outlines the EIP process, what is EIP, types of EIPs, what EIP document should contain, EIP format and template, list of EIP Editors and all you need to know about EIPs before creating one. Your new EIP should define new feature that is not really complex yet not super niche and can be used in by projects in the Ethereum ecosystem. The hardest part is facilitation, you as the author need to facilitate people around your EIP, collect feedback, write articles describing problems that your EIP solves and collaborate with projects to implement your EIP.
If you’re interested to follow along the discussion process or share your input about EIPs, check out the Ethereum Magicians forum, where EIPs are discussed with the community.
Page content provided in part from Ethereum Protocol Development Governance and Network Upgrade Coordination by Hudson Jameson