Back to blogs
Written by
Eze Sunday Eze
Published on
August 21, 2024

Introduction to Ethereum Improvement Proposals (EIPs)

Cyfrin's Iintroduction to Ethereum improvement proposals (EIPs). A guide to understanding what they are, how they work, and their importance to the Ethereum ecosystem.

Table of Contents

At the end of this guide, you should have a clear understanding of what Ethereum Improvement Proposals (EIPs) are, their purpose, and everything you need to know to submit your proposal. We'll also cover the various development stages an EIP goes through before it becomes a standard.

Let’s get into it…

What is an EIP?

An EIP is a design document in the Ethereum ecosystem that describes and proposes new features or changes to the Ethereum blockchain or ecosystem. It provides detailed technical specifications and the motivation behind the proposed changes.

These changes could involve processes like those in EIP-5757, which defines how external resources are added to EIPs. Or, more significant changes such as the blockchain hard fork proposed in EIP-779 in response to the 2016 DAO hack, which resulted in the Ethereum blockchain splitting into two blockchains: Ethereum Classic and Ethereum.

What is the purpose of an EIP?

The purpose of EIPs is to ensure that any changes or improvements to Ethereum are transparent, thoroughly discussed, vetted, and documented by the community.

Let's take a look at a more detailed explanation of the purpose of EIPs.

Standardization and interoperability

EIPs help establish standards for different aspects of the Ethereum ecosystem which encourages compatibility and interoperability (the ability for various components within the Ethereum ecosystem to interact together effectively).

For example, EIP-20 defines the standard for ERC-20 tokens, ensuring tokens follow a consistent structure and can be easily integrated into wallets, exchanges, and other platforms.

Similarly, EIP-137 defines the specifications for the Ethereum Name Service (ENS). It allows users to use human-readable names instead of addresses which improves both user experience (UX) and interoperability within the Ethereum ecosystem and external platforms.

Historical record and transparency

EIPs serve as technical specification documents for new features or processes within Ethereum and a historical record of how the Ethereum blockchain has grown.

The EIP repository on GitHub and Ethereum’s official website have a list of all EIPs proposed and all features implemented since their creation in 2015.

Community involvement and governance

EIPs make it possible for anyone in the Ethereum community to contribute to Ethereum’s development, even without having to write code. Just commenting and sharing your opinion about a proposal could go a long way in shaping the entire ecosystem.

Coordination and quality control

When Ethereum transitioned from Proof-of-Work (PoW) to Proof-of-Stake (PoS) in the Ethereum 2.0 upgrade, multiple EIPs were required, and all Ethereum clients had to confirm they had implemented all required EIPs. You’ll typically see the required EIPs in the Requires section of the EIP document.

Image highlighting the "requires" section of an EIP document.

EIPs go through several stages (which we’ll discuss in the later part of this guide) before adoption. Each, designed to ensure community participation and it is in the best interest of the network.

Short history of EIPs

EIPs were introduced in October 2015 by some of Ethereum’s earliest contributors, including Vitalik Buterin, Martin Becze, Gavin Wood, and others.

The idea was based on the Bitcoin Improvement Proposal (BIP) and has since been refined, even though the core purpose remains the same — a formal process for proposing, discussing, and implementing changes to Ethereum's protocol, smart contract standards, and ecosystem.

The first EIP (EIP-1), created in 2015, laid out the guidelines for creating and managing these proposals. Since then, hundreds of EIPs have been proposed. Some became key parts of the Ethereum protocol while others were rejected or became stagnant. We’ll see the different stages of the EIP proposal and approval process later in this article.

Who are EIP editors?

EIP editors review proposals to make sure they meet the minimum requirement for a standard EIP. They check for technical soundness, grammar, spelling, code style, etc. Anyone can apply to become an EIP editor following the EIP editor's handbook.

How are EIP numbers assigned?

The EIP number is the unique number assigned to every EIP. It’s usually in the format EIP-N, where “N” is the assigned number.

In most cases, the EIP number is derived from the first Pull Request or Issue for that proposal on the EIP GitHub repository. For example, the number for EIP-20 was derived from the first issue number as shown below:

Image highlighting where EIP-20 got it's number from.

However, as the EIP idea develops, and discussions continue in the Ethereum Magicians Forum, the final decision on what number to assign to the EIP largely depends on the EIP editors. This is why EIP numbers aren’t necessarily sequential as you can see in the screenshot below from the EIPs website.

Image showing a selection of final EIPs and how their numbers are not sequential.

EIP types

There are three types of EIPs. We’ll discuss each of them in detail.

1) Standard Track EIPs

A Standard Track EIP describes changes that impact most or all Ethereum implementations. This can include changes to the network protocol, block or transaction validity rules, application standards/conventions, or anything affecting the interoperability of Ethereum applications.

Components of a Standard Track EIP

A Standard Track EIP typically includes:

  • A design document. The design document is the EIP repository, or page that contains all sections describing the EIP. For example, the design document for EIP-1559 can be viewed at https://eips.ethereum.org/EIPS/eip-1559
  • An implementation. The implementations are typically linked or written in the EIP document under a section called “Implementation" or “References.” Here is an example implementation from EIP-55:
Image showing the implementation detail of EIP-55.
  • And one for EIP-20:
Image showing the implementation detail of EIP-20.
  • An update to the formal specification. The specification update is usually found in the Specification section of the EIP document. Here is an example for EIP-100:
Example specification update for EIP-100.

Categories of Standard Track EIPs

Standard Track EIPs are separated into four categories based on their impact on the network.

  • EIPs labeled Core alter existing fundamental rules and usually require all nodes on the network to upgrade their software to maintain consensus. A good example is how EIP-1559 introduced a base fee mechanism with an optional tip for miners from the auction-style fee market. That upgrade made it impossible for clients to validate new blocks if they didn’t upgrade.
  • The ones labeled Networking are EIPs concerned with how nodes communicate with each other. They do not require all clients to upgrade to maintain consensus. However, while Nodes that do not upgrade can still participate in the network, they may not benefit from the new features.
  • Interface EIPs are focused on standardizing and improving how applications and tools interact with Ethereum, leading to better UX, developer experience (DX), and overall ecosystem interoperability. They can be adopted incrementally without major impacts on a client’s ability to use the network. For instance, EIP-2255 proposes a standard interface for how wallets request and check permissions on the client side.
  • ERC EIPs define standards for application-level functionality and establish common interfaces and behaviors for smart contracts and other applications on the Ethereum blockchain. One of the most well known ERCs is the ERC-20 (EIP-20) which defines standards for how tokens are created.

2) Meta EIP also known as Process EIP

Meta EIPs propose improvements to Ethereum processes and guidelines–either to change them or add to them. Though they don’t function at the protocol level, they are just as important as the Standard Track EIPs.

Even though they don’t propose changes to the protocol, they still require community consensus and become compulsory standards that all participants typically follow after implementation. One example of a Meta EIP is EIP-1 which proposes guidelines for EIPs that are generally followed by the community.

Other examples of Meta EIPs include:

  1. EIP-5069: EIP editor handbook
  2. EIP-5757: Process for Approving External Resources

3) Informational EIP

Informational EIPs provide guidelines or general information to the Ethereum community without proposing new features. Informational EIPs do not necessarily represent community consensus and can be ignored or followed at the user's discretion.

An example is EIP-6953, which outlines the various network upgrade activation triggers that have been used over time — the goal is to provide a repository that shows a pattern for how network upgrades have been done throughout the history of Ethereum.

Now that we have a clear understanding of what EIPs are and the types of EIPs, let’s explore the proposal process from the start to when it gets approved.

EIP development process

Anyone can create an EIP, as long as they have a GitHub account and follow the requirements.

EIPs go through several stages before they become part of Ethereum. While some EIPs make it to the final stage, others do not.

The development process is rigorous and the duration varies widely depending on the complexity of the proposal, the level of community interest and support, and the current priorities of the Ethereum development community.

Here is a diagram illustrating the entire stages of the EIP development on a high level:

Diagram illustrating the process stages of EIP development.

Let’s take a closer look at all the stages:

Idea

This stage is about bringing your idea to life. You just thought of a ground-breaking idea that could potentially make Ethereum better (let’s say your idea introduces cross-blockchain interoperability 🙂). You:

  • Fork the EIP repository
  • Create an EIP file with all necessary information, following the recommended EIP template, and create a PR.
  • Share the link to your EIP PR, with a description, to the Ethereum Magicians Forum to gather community feedback and support. Note, don’t copy the entire EIP into your post on the forum. Here is an example of a new proposal shared in the forum:
Image showing EIP-7708 as a new proposal first shared in the Ethereum Magicians Forum.

This is only the idea stage and it’s not tracked in the EIP repository yet. It’s now your responsibility to gather support from the community for your EIP idea.

Draft

Your EIP will move from the idea stage to the draft stage after it has gathered enough support, the community decides it’s a good fit, and it’s properly formatted. At this point, an EIP editor assigns an EIP number and it is merged into the EIP repository. Your EIP will now be formally tracked.

Review

Once your EIP is a draft, you can update it and prepare it for peer review. This is also where you should get more eyes on the proposal. At this point, the draft is more stable and the community will likely want to commit to contributing to it. Review lasts a minimum of 45 days to allow time for proper feedback. If you gather enough support and the review goes successfully, an EIP editor will move it to the next stage in the process: Last Call.

Last Call

Last Call is the final review stage for an EIP before it’s moved to Final. At this stage, there is no expectation for major changes to the EIP. If there is a major change, it will revert back to Review status. Here, an EIP editor assigns the Last Call status and sets a review end date (last-call-deadline), usually 14 days in the future.

Final

At this stage, the EIP cannot be changed, and it becomes a candidate for inclusion in an upcoming Ethereum upgrade. 

However, it’s not automatically added to the next upgrade. Core devs, EIP authors, and the general community will discuss (in the weekly AllCoreDev meeting and the Ethereum Magician Forum) and select the EIPs that are suitable for specific upgrades. These EIPs are then thoroughly tested, bundled, and scheduled for a network upgrade.

Stagnant

If an EIP has no activity for 6-months or more while in Draft, Review, or Last Call status, it becomes Stagnant. However, EIP authors or editors can return the status to active again by moving it back to Draft or its previous status. Otherwise, it remains Stagnant indefinitely.

Withdrawn

An EIP is marked Withdrawn if its authors formally withdraw it. This status is permanent, and the EIP number cannot be reused. If you are interested in pursuing the same idea in the future, you must submit a new proposal. Here is an example of an EIP with the withdrawn status and the reason.

Image showing EIP-7664 moved to Withdrawn status.

Living

This status is for EIPs intended to be continuously updated without reaching finality. At the time of this writing, two EIPs have this tag: EIP-1 and EIP-5069. Both are in the Meta category of EIPs.

Image showing EIP-1 and EIP-5069 in Living status.

Conclusion

In this article, we’ve discussed what EIPs are, how they are relevant in the Ethereum ecosystem, and how to propose your own EIP.

Here are the highlights of what we discussed:

  • An EIP (Ethereum Improvement Proposal) is a document that proposes a change to the Ethereum network
  • EIPs were introduced in October 2015 by some of the earliest Ethereum contributors including Vitalik Buterin, Martin Becze, and Gavin Wood.
  • The first EIP, EIP-1 is, and will continue to be, a living document.
  • There are three types of EIPs; Standards Track EIPs, Meta or Process EIPs, and Information EIPs.
  • Anyone can propose an EIP. 
  • EIP editors are responsible for reviewing EIPs, including assigning EIP numbers.
  • Before an EIP becomes adopted, it goes through multiple stages: idea, draft, review, last call, and final.

Secure your protocol today

Join some of the biggest protocols and companies in creating a better internet. Our security researchers will help you throughout the whole process.
Stay on the bleeding edge of security
Carefully crafted, short smart contract security tips and news freshly delivered every week.