Introduction to Ethereum Improvement Proposals (EIPs)
Ethereum Improvement Proposals (EIPs)(opens in a new tab) 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(opens in a new tab). 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(opens in a new tab), including core EIPs for low-level protocol changes that affect consensus and require a network upgrade like EIP-1559(opens in a new tab), and ERCs for application standards like EIP-20(opens in a new tab) and EIP-721(opens in a new tab).
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(opens in a new tab) was created in October 2015. The EIP process is based on the Bitcoin Improvement Proposals (BIPs)(opens in a new tab) process, which itself is based on the Python Enhancement Proposals (PEPs)(opens in a new tab) 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(opens in a new tab).
EIP editors decide when a proposal is ready to become an EIP, and help EIP authors move their proposals forward. Ethereum Cat Herders(opens in a new tab) help organize meetings between the EIP editors and the community (see EIPIP(opens in a new tab)).
Full standardization process alongside with chart is described in EIP-1(opens in a new tab)
- A list of every EIP(opens in a new tab)
- A description of all EIP types(opens in a new tab)
- A description of all EIP statuses(opens in a new tab)
Anyone can create an EIP. Before submitting a proposal, one must read EIP-1(opens in a new tab) which outlines the EIP process and how to write an EIP, and solicit feedback on Ethereum Magicians(opens in a new tab), 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(opens in a new tab) by Hudson Jameson