Open In App

What are Ethereum EIPs?

Last Updated : 02 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

EIPs are formal proposals to improve the Ethereum blockchain. EIPs are similar to Bitcoin Improvement Proposals (BIPs) and are a way for the Ethereum community to suggest, discuss, and implement changes to the Ethereum network.

What are EIPs?

Ethereum Improvement Proposals (EIPs) are documents that describe proposed changes or improvements to the Ethereum network. They are written in a formal format and are designed to be comprehensive, clear, and concise. EIPs cover a wide range of topics, including technical specifications, new features, standards, and modifications to existing functions within the network.

  • EIPs serve as a way for members of the Ethereum community to suggest changes to the network and start discussions around those proposals. 
  • They are submitted by anyone who wants to contribute to the development of Ethereum, including developers, researchers, and community members. 
  • EIPs go through a process of review and discussion by the community, including peer review and feedback, before they are accepted and implemented.
  • Once an EIP is accepted, it becomes part of the Ethereum Improvement Proposal system and is implemented in the network’s next protocol update. 
  • The protocol update, also known as a hard fork, is a process where changes to the Ethereum codebase are made and the updated code is released to the network. Hard forks are important because they ensure that everyone on the network is using the same rules and protocols.

The implementation of EIPs is significant because it allows the Ethereum network to evolve and adapt to changing needs and user demands. EIPs enable new features and functionalities to be added to the network, which in turn can lead to the development of innovative decentralized applications (dApps). EIPs can also improve the security, scalability, and efficiency of the Ethereum network.

Why do EIPs matter?

EIPs matter because they enable the Ethereum network to evolve and adapt to the changing needs of users and developers. The Ethereum network is used by a diverse range of individuals and organizations, each with its own unique requirements and use cases. 

  • Allows adding new features to the network: EIPs allow for new features and functionalities to be added to the network, which can enable the creation of innovative decentralized applications that better serve the needs of these users.
  • Promotes transparency: EIPs are important because they promote transparency and inclusivity within the Ethereum community. Anyone can submit an EIP, regardless of their background or expertise. This means that a wide range of perspectives and ideas are considered when proposing changes to the network. The community-driven review and discussion process ensures that proposed changes are thoroughly evaluated, tested, and refined before they are implemented.
  • Helps in maintaining security: EIPs also play a critical role in maintaining the security and stability of the Ethereum network. By requiring proposed changes to undergo a rigorous review process, EIPs help to minimize the risk of bugs, vulnerabilities, and other issues that could compromise the network. This can help to build trust among users and developers, which is crucial for the long-term success of the network.

History of EIPs

The history of EIPs dates back to 2015 when Ethereum was first created. The Ethereum Improvement Proposal system was inspired by the Bitcoin Improvement Proposal system, which had already been established. 

  • The first EIP was EIP-1, which outlined the rules and guidelines for creating EIPs. Since then, the EIP system has been used to propose and implement hundreds of changes to the Ethereum network.
  • One of the most significant EIPs in Ethereum’s history is EIP-1559, which was proposed in 2018 and implemented in August 2021 as part of the London hard fork. EIP-1559 introduced a new fee structure for Ethereum transactions that aimed to reduce transaction fees and increase the efficiency of the network. The implementation of EIP-1559 was a major milestone for Ethereum, demonstrating the network’s ability to adapt and evolve to meet the changing needs of its users.
  • The EIP system has also been used to introduce new features to the network, such as EIP-721, which introduced the ERC-721 standard for non-fungible tokens (NFTs). NFTs have become a significant use case for Ethereum, with billions of dollars worth of NFTs now traded on the network.
  • Another important aspect of the EIP system is the community-driven process for proposing and reviewing changes. This process has helped to ensure that proposed changes are thoroughly evaluated and tested, reducing the risk of bugs and vulnerabilities that could compromise the network’s security.

EIP Types

EIPs are categorized into three types:

1. Standard Track EIPs

These are EIPs that propose changes to the Ethereum protocol itself. They are divided into four categories based on the level of impact they will have on the network:

  • Core EIPs: These EIPs propose changes to the Ethereum protocol that are critical to the network’s operation. They require a hard fork to implement.
  • Networking EIPs: These EIPs propose changes to the way nodes communicate with each other. They require a soft fork to implement.
  • Interface EIPs: These EIPs propose changes to the Ethereum API or user interface. They do not require a fork to implement.
  • ERCs (Ethereum Request for Comment): These EIPs propose standards for Ethereum-based tokens or smart contracts. They do not require a fork to implement.

2. Meta EIPs

These are EIPs that propose changes to the EIP process itself. These are also known as process EIPs. 

3. Informational EIPs

These are EIPs that provide information or guidelines on a particular topic related to Ethereum. However, such  a proposal does not introduce new features. 

Each EIP has a unique number, title, and author(s). EIPs are discussed and debated on Github, and once accepted, they are assigned an “Accepted” status. If an EIP is implemented in a client, it is assigned a “Final” status.

EIP Status Terms

EIPs go through several status terms during their lifecycle, which indicates their current state of development and implementation. The status terms are:

1. Idea

This is a pre-draft and is not tracked within the EIP repository.

2. Draft

This is the initial status of an EIP when it is first proposed. The EIP is in its early stages and is open for discussion and feedback from the community. At this stage, the EIP may still undergo significant changes based on community feedback.

3. Review

In this status, the author marks an EIP as ready and requests Peer Review.

4. Last Call

This status indicates that the EIP has gone through several rounds of review and revision and is now ready for final comments and feedback from the community. At this stage, the EIP is considered close to final and any remaining feedback is meant to catch any last-minute issues.

5. Final

This status indicates that the EIP has been implemented in the Ethereum network. Once an EIP is in its final status, the changes proposed by the EIP are live on the network and available for use.

6. Stagnant

Any EIP that is in Draft or Review status for a period of 6 months or greater is moved to the Stagnant status. Author or EIP editors can resurrected from this state and move it back to Draft.

7. Withdrawn

This status indicates that the EIP author(s) have withdrawn the proposed EIP. EIP is not currently being considered for implementation but may be revisited in the future. There could be many reasons for deferring an EIP, such as technical issues or lack of community interest. EIPs that are deferred may be revisited in the future if circumstances change.

8. Living

This is the special status for EIPs that is designed to be continually updated and not reach a state of finality. 

How are EIPs processed?

EIPs are processed through a standardized process that includes several steps:

1. Drafting

During the drafting stage, the author(s) create a formal proposal document that outlines the proposed change or improvement to the Ethereum network. The document must follow a specific format and include relevant details such as the proposed change, the reasoning behind it, potential benefits and drawbacks, and any technical specifications. The draft EIP is submitted to the Ethereum community for review.

2. Review

The review stage is an opportunity for the community to provide feedback on the proposed EIP. Feedback can come in various forms such as comments, suggestions for improvement, or technical reviews. The feedback is collected and analyzed by the author(s), who may revise the EIP based on the community’s feedback. This stage is critical in ensuring that proposed changes are thoroughly scrutinized by the community before being accepted.

3. Last Call

Once the EIP has been revised based on community feedback, it is considered ready for final comments before acceptance. This is known as the “Last Call” stage. During this stage, the community is invited to review the final draft of the EIP and provide any additional feedback. If there are no major issues or objections raised during this stage, the EIP can move on to acceptance.

4. Acceptance

The final stage of the EIP process is acceptance. If the EIP has received sufficient support and no major issues or objections have been raised during the review and last call stages, it is considered accepted by the community. The EIP is then included in the next protocol update and becomes part of the Ethereum Improvement Proposal system.

5. Implementation

Once an EIP is accepted, it must be implemented in the Ethereum client software by the developers. The implementation process can vary in complexity depending on the nature of the proposed changes. Developers must ensure that the implementation adheres to the specifications outlined in the EIP and that it is compatible with the existing Ethereum network.

6. Testing

After implementation, the EIP is tested to ensure it works as intended and does not introduce any new bugs or vulnerabilities to the network. Developers perform extensive testing to ensure that the EIP is stable and does not have any unintended consequences.

7. Activation

Once the EIP has been implemented and tested, it is activated on the Ethereum network during the next protocol update. This is typically done through a hard fork, which requires all nodes to update their software to the new version.

8. Monitoring

The EIP is monitored after activation to ensure it is functioning properly and that there are no unforeseen issues or vulnerabilities. If any issues arise, the community may propose new EIPs to address them. The monitoring process is ongoing to ensure the stability and security of the Ethereum network.

Who Decides on EIPs?

The decision on whether to accept or reject an EIP is made by the Ethereum community through a consensus mechanism. The community includes developers, miners, node operators, and other stakeholders who have a vested interest in the success of the Ethereum network. Once an EIP has been accepted, it becomes part of the Ethereum Improvement Proposal system and is implemented in the network’s next protocol update.

  • Ethereum Core Developers: One of the key groups involved in the EIP process is the Ethereum Core Developers. This group is responsible for maintaining and improving the Ethereum client software and plays a critical role in reviewing and testing proposed changes to the network. The Core Developers are comprised of experienced developers and technical experts who have a deep understanding of the Ethereum protocol and ecosystem.
  • Ethereum Cat Herders: Another important group involved in the EIP process is the Ethereum Cat Herders. This group serves as a liaison between the Ethereum community and the Core Developers, helping to coordinate and facilitate discussions around proposed changes. The Cat Herders also play a critical role in promoting transparency and inclusivity within the Ethereum community by ensuring that all stakeholders have a voice in the decision-making process.
  • Ethereum Magicians: Other groups involved in the EIP process include the Ethereum Magicians, who are responsible for developing best practices and standards for Ethereum development, and the Ethereum Foundation, which provides funding and support for the development of the Ethereum ecosystem.

Format of an EIP

The format of an EIP follows a standardized template that includes several sections:

  1. Preamble: This section includes the EIP number, title, author(s), and status.
  2. Abstract: This section provides a brief summary of the proposed change or improvement.
  3. Motivation: This section explains why the proposed change or improvement is necessary.
  4. Specification: This section provides a detailed description of the proposed change or improvement.
  5. Rationale: This section explains why the proposed change or improvement was designed in the way it was.
  6. Backward Compatibility: This section explains how the proposed change or improvement will affect existing applications or contracts.
  7. Test Cases: This section includes examples of how the proposed change or improvement can be tested.
  8. Implementation: This section provides information on how the proposed change or improvement will be implemented.
  9. Security Considerations: This section discusses any potential security risks associated with the proposed change or improvement.
  10. References: This section includes any references or resources used in creating the EIP.

Examples of EIPs

There are currently over 300 EIPs that have been proposed and accepted. Some of the most notable EIPs include:

  • EIP-20: ERC-20 Token Standard, This EIP defines a standard interface for Ethereum-based tokens, making it easier for developers to create and deploy new tokens on the Ethereum blockchain.
  • EIP-721: Non-Fungible Token Standard, This EIP defines a standard interface for creating and managing non-fungible tokens (NFTs) on the Ethereum blockchain. NFTs have become increasingly popular in recent years, particularly in the art and gaming industries.
  • EIP-1559: Fee Market Change for ETH 1.0 Chain, This EIP proposes a change to Ethereum’s fee market to make transaction fees more predictable and stable, which would benefit users and dApp developers.
  • EIP-1962: Add precompile for EdDSA signature verification, This EIP proposes the addition of a precompiled contract for efficient signature verification using the EdDSA algorithm.
  • EIP-155: Simple replay attack protection, This EIP was proposed during the Ethereum and Ethereum Classic hard fork in 2016 to prevent replay attacks. It added a field to the transaction data that ensured transactions intended for one chain could not be replayed on the other.
  • EIP-712: Signing Standard – This EIP proposes a standard for constructing typed data messages that can be signed and verified by Ethereum accounts. This standard is particularly useful for building decentralized applications that require off-chain data to be signed and verified on-chain.
  • EIP-1011: Hybrid Casper FFG, This EIP proposed a hybrid consensus mechanism for the Ethereum network, combining proof-of-work with proof-of-stake. The goal of the EIP was to improve the scalability and security of the Ethereum network.
  • EIP-2025: Difficulty Bomb Delay, This EIP proposed to delay the effects of the “difficulty bomb” built into the Ethereum protocol, which makes mining progressively more difficult over time. The goal of the EIP was to buy time for the Ethereum network to transition to a proof-of-stake consensus mechanism.

Advantages of EIPs:

  • Innovation and flexibility: EIPs allow for a continuous process of innovation and improvement in the Ethereum network. As new ideas and technologies emerge, EIPs can be proposed to incorporate these changes into the network.
  • Community-driven: EIPs are typically proposed and developed by members of the Ethereum community, including developers, miners, and other stakeholders. This ensures that the proposals are grounded in the needs and concerns of the community.
  • Transparency and openness: EIPs are open for public discussion and feedback, which encourages transparency and openness in the decision-making process. This helps to build trust and consensus within the community.
  • Standardization: EIPs can help to standardize the Ethereum network, making it easier for developers to build applications and tools that work seamlessly with the network.

Limitations of EIPs:

  • Complexity and implementation challenges: Some EIPs can be very complex and may be difficult to implement or integrate into the existing network. This can lead to delays or even failures in implementation.
  • Unintended consequences: EIPs may have unintended consequences that are not immediately apparent. This can be particularly challenging for large-scale changes that may affect many different parts of the network.
  • Centralization: While EIPs are community-driven, the process of implementing them can be centralized in certain individuals or organizations. This can raise concerns about the decentralization and security of the network.
  • Resistance to change: Some members of the Ethereum community may resist proposed changes, particularly if they feel that the changes may negatively impact their interests. This can make it difficult to reach consensus and implement the changes.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads