Page last updated: November 29, 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. An EIP should primarily provide a concise technical specification with a small amount of motivation. The EIP author is responsible for reaching consensus within the community and documenting alternative opinions. Given the high technical barrier for submitting a well-formed EIP, historically, most EIP authors are typically 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 like EIP-1559, and ERCs for application standards like EIP-20 and EIP-721.
Every network upgrade consists of a set of EIPs that need to be implemented by each Ethereum client on the network. This means 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, it is possible to create a fungible token that doesn't implement EIP-20), but core EIPs must be widely adopted (because all nodes must upgrade to stay part of the same network), core EIPs require a 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, formatting issues, and correcting 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 (@axic)
- Gavin John (@Pandapip1)
- Greg Colvin (@gcolvin)
- Matt Garnett (@lightclient)
- Sam Wilson (@SamWilsn)
Emeritus EIP editors are
- Casey Detrio (@cdetrio)
- Hudson Jameson (@Souptacular)
- Martin Becze (@wanderer)
- Micah Zoltu (@MicahZoltu)
- Nick Johnson (@arachnid)
- Nick Savers (@nicksavers)
- Vitalik Buterin (@vbuterin)
If you would like to become an EIP editor, please check EIP-5069.
EIP editors decide when a proposal is ready to become an EIP, and help EIP authors move their proposals forward. Ethereum Cat Herders help organize meetings between the EIP editors and the community (see EIPIP).
Full standardization process alongside with chart is described in EIP-1
Anyone can create an EIP. Before submitting a proposal, one must read EIP-1 which outlines the EIP process and how to write an EIP, and solicit feedback on Ethereum Magicians, where proposals are first discussed with the community before a draft is submitted.
Page content provided in part from Ethereum Protocol Development Governance and Network Upgrade Coordination by Hudson Jameson