Understanding Ethereum Improvement Proposals
EIP stands for Ethereum Improvement Proposals, a series of numbered ranked documents.
It describes standards for the Ethereum platform, including core protocol specifications, client APIs, and smart contract standards. EIP GitHub repository was created in 2015, and EIP-1, i.e., the first EIP, was published in the same year.
Once an EIP is submitted for innovation and improvement, it goes through a review process by the Ethereum community, including developers, researchers, and users. Each EIP is vetted, discussed, rejected or approved. Decentralised Autonomous Organisations or DAOs other than the Ethereum community also have the option to work with several EIP standards that achieve different goals.
This constitutes formal proposals that describe the rationale behind the proposed change, the technical specifications, and the potential impact of the change on the Ethereum ecosystem, and it caters to the changes to the Ethereum Virtual Machine or EVM, Ethereum client software upgrades, and Ethereum consensus algorithm updates.
The EIP-proposal process has a lifecycle with the following states:
Idea — Pre-draft and not tracked within the EIP repository
Draft — An EIP editor merges it into the EIP repository
Review — The EIP author marks it as ready and requesting peer review
Last Call — An EIP editor will set a review end date, about 14 days later
Final — The EIP author makes it ready for the EIP repository, assigns an EIP number to be implemented as a standard upgrade or included in a set of network upgrades
Stagnant — Draft EIPs or Review EIPs, if inactive for atleast six months, are moved to Stagnant
Withdrawn — The EIP Author withdraws the proposed EIP
Living — A special status for EIPs that are designed to be continually updated and not reach a state of finality
EIPs are of three flavours:
a) Standards Track EIP
There are four sub-categories:
Core: To enhance the core rules of the Ethereum protocol
Networking: To enhance the network protocol specifications
Interface: To enhance the application programming interfaces or APIs and related changes for interacting with the protocol via remote procedure calls or RPCs, and also interfaces like smart contract application binary interfaces or ABIs
Ethereum Requests for Comment or ERCs: To enhance an EIP application-level standards and conventions, including smart contract and token standards, name registries, Uniform Resource Indicator or URI schemes, library/package formats, and wallet formats; when application-level standards of EIPs are approved, they become an ERC and are assigned a number with it.
b) Meta EIP or Process EIP
These EIPs can propose changes like alterations to the guidelines and process and protocol changes but not to the codebase of Ethereum. Unlike informational EIPs, these cannot be overlooked by the users.
c) Informational EIP
These EIPs cover non-obligatory Ethereum design issues or guidelines that the community would benefit from but do not change or touch features of the Ethereum protocol or propose a new feature.