Ethereum Improvement Proposal (EIP)
An Ethereum Improvement Proposal (EIP) is a formal proposal to modify some aspect of the Ethereum network. EIPs can vary from minor enhancements, such as providing clarity on existing features, to significant upgrades, such as altering the network's consensus mechanism, contract standards, or client APIs. [1][2][3]
Overview
EIP stands for Ethereum Improvement Proposal. An EIP is a design document that describes a new feature or process for the Ethereum platform, such as a change to the network protocol, a client API, or a contract standard. EIPs are the way for the Ethereum community to propose, debate, and adopt changes to the Ethereum system. [3][7]
Ethereum Improvement Proposals (EIPs) are a standardized way of proposing changes, introducing new features, or suggesting process improvements to enhance the Ethereum ecosystem. EIPs provide a clear and technical specification for the proposed features and improvements, and the rationale for the feature. These specifications outline how the feature will work and how it will integrate with the existing Ethereum network. Anyone can create an EIP and submit it to the EIPs GitHub repository for review by the EIP editors. There are different types of EIPs, such as core EIPs, networking EIPs, interface EIPs, and ERCs (Ethereum Request for Comments). [4][5]
The concept of EIPs was introduced in October 2015, taking inspiration from the Bitcoin Improvement Proposals (BIPs) process. EIPs serve as comprehensive documents containing all the necessary information about a proposed upgrade or change. They act as a reliable source of information for the Ethereum community and play a crucial role in the decision-making process.[4]
Process of EIP from submission to implementation
EIPs are submitted by anyone within the Ethereum community, including developers, researchers, and enthusiasts. There is no single entity responsible for feeding EIPs.[9]
Submission:
-
Individuals: Anyone can submit an EIP by following the guidelines outlined in EIP-1. This includes providing a clear and concise description of the proposed change, a rationale for why it should be implemented, and a technical specification outlining how it will be implemented.
-
Teams: Multiple individuals can collaborate on an EIP and submit it as a team. This can be helpful for proposals that require expertise from different areas.
Review and Discussion:
- Community: Once an EIP is submitted, it becomes publicly available for the Ethereum community to review and discuss. This can be done through various channels, such as the Ethereum Magicians forum, social media, and dedicated EIP discussions.
- EIP Editors: A group of experienced Ethereum developers known as the EIP Editors oversee the EIP process. They provide guidance to authors, ensure that EIPs are submitted according to the guidelines, and facilitate discussions.
- Core Developers: While anyone can submit an EIP, the core developers of Ethereum ultimately decide which proposals are implemented. They consider the feedback from the community, the technical feasibility of the proposal, and its potential impact on the Ethereum ecosystem.
Approval and Implementation:
-
Standard Track: EIPs that are approved for implementation go through a standard track process. This includes several stages, such as a last call for feedback and a final review by the core developers.
-
Informational: Some EIPs are classified as informational, which means that they provide information or recommendations but are not intended for implementation.
Types of EIPs
There are three main types of Ethereum Improvement Proposals (EIPs): Standard Track EIPs, Meta EIPs, and Information EIPs.
Standard Track EIPs
Standards track EIPs encompass proposals that can have a significant influence on the Ethereum blockchain's operation and the functionalities it provides. These proposals may encompass adjustments to the consensus protocol, modifications to block validation rules, or alterations that can affect how applications on the Ethereum network interact with each other. [1][3][4]
Standard EIPs are a crucial part of the blockchain's evolution, as they can shape its core operations and overall performance. They are subject to careful evaluation and discussion within the Ethereum community to ensure they align with the network's goals and principles.[3][4]
To enhance the review process for Standard EIPs, Ethereum developers introduced four distinct types of Standard EIPs. Core, Networking, Interface, and ERC. [3][5][6]
- Core
These standard EIPs include improvements that require consensus as well as modifications that may not be inherently critical to consensus but hold relevance in "core dev" discussions and decisions. These improvements also affect the process of staking and mining.[3][5] - Networking
This category encompasses enhancements related to network protocol specifications, like devp2p (EIP8) library, the Light Ethereum Subprotocol, Whisper and Swarm.[3][1][5] - Interface
This section includes improvements focused on client standards and specifications, including API/RPC standards and specifications, and some language-level standards like contract ABIs and method names (EIP-6). [3][4][5] - ERC (Ethereum Requests for Contract)
This category pertains to application-level standards and conventions, encompassing aspects like name registries (EIP-137), URI schemes (EIP-681), account abstraction (EIP-4337), library/package formats(EIP-190), and token standards (EIP-20).[3][6]
Meta EIPs
Meta EIPs propose changes to processes, but not necessarily to the Ethereum protocol itself. They might suggest an implementation, but not within Ethereum's codebase. These EIPs often require community consensus and are more than just recommendations; users typically cannot ignore them. They cover areas like procedures, guidelines, changes to decision-making processes, and modifications to the tools or environment used in Ethereum development. Any meta-EIP is also considered a Process EIP.[3]
Meta EIPs do not necessarily represent a technical specification, but rather the consensus and coordination of various stakeholders in the Ethereum community.[8]
Information EIPs
Informational EIPs address Ethereum design issues or provide general guidelines and information to the Ethereum community without proposing new features. These EIPs do not necessarily represent Ethereum community consensus or recommendations, so users and implementers are free to disregard them or choose to follow their advice.[3][6]
Examples
Different EIPs have different impacts and benefits for the Ethereum platform and community. However, some EIPs are widely recognized as having a significant influence on the development and evolution of Ethereum. Following are some examples of such EIPs:
- EIP-20: This is the ERC-20 Token Standard, which defines a common interface for creating and transferring tokens on Ethereum. This EIP enabled the emergence of the ICO era, as well as the proliferation of various tokens and projects on the Ethereum network.
- EIP-721: This is the ERC-721 Non-Fungible Token Standard, which defines a common interface for creating and transferring unique digital assets on Ethereum. This EIP enabled the creation of various NFT platforms and markets, such as CryptoKitties, Decentraland, and OpenSea.
- EIP-1559: This is a major change to the Ethereum fee market, which introduces a base fee that is burned and a priority fee that goes to the miners. This EIP aims to improve the user experience of paying gas fees, as well as to reduce the inflation rate of ETH by burning some of it in each transaction.
- EIP-3675: This was the proposal for the transition from proof-of-work (PoW) to proof-of-stake (PoS) consensus mechanismThis EIP aimed to make Ethereum more scalable, secure, and energy-efficient by switching to a new protocol called the Beacon Chain.[3]
- EIP-4337: This EIP proposes a new way to store data on the Ethereum blockchain. The current method, using the Ethereum Virtual Machine (EVM), is very expensive and inefficient. EIP-4337 would use a new storage mechanism called "state channels" which would be much cheaper and more efficient.