Ethereum is one of the cryptocurrency giants that needs no introduction. On the contrary, it has taken it upon itself to stand out on its own.
However, like any project in this ecosystem, it is not without issues to improve. An example of this is the high transaction costs (gas fees) charged as commissions, which, at times, reach exorbitant costs.
But always, when problems arise, the community finds solutions and Ethereum has its own mechanism to make them happen.
Therefore, today we will talk about EIP or Ethereum Improvements Proposals, the different improvement proposals planned and implemented by Ethereum.
What is Ethereum Improvement Proposals?
Ethereum Improvement Proposals (EIP) are documents made by developers or the community that specify potential new features or processes for Ethereum.
It is therefore an effective method for including the community in the governance and design of Ethereum, as well as in its effective maintenance. It was first used on October 27, 2015.
This idea was born from the BIP or Bitcoin improvement Proposal, whose objective is to contribute to the improvement of the structure or functioning of Bitcoin.
It was Amir Taki and Luke Dashjr, who created this document based on the experience of the Python community.
How does it work?
All Ethereum users have the ability to create an EIP. The only thing they must comply with, is the following structure in its format:
- Have a preamble that introduces a description, the author, his/her name and an introduction.
- Summarize the technical problem that would improve the EIP.
- Argue why it is necessary.
- Provide a clear and brief technical specification of the proposed feature.
- Justify the motivation for the design and why the design was made in this way.
- Demonstrate their compatibility or incompatibility with previous versions of Ethereum. Given this, proposals should be made to address these incompatibilities.
- Include test cases and links that can demonstrate them.
- Explain the implementations of the proposal.
- Specify the safety conditions relevant to that change.
- Add a section clarifying that it is not copyrighted, as EIP should be in the public domain.
Subsequently, it is presented to the community, where, for its application, it will have to obtain the consensus of the community by means of an explanation if there are doubts or positions against it.
Certainly, as we can see, it has a high technical demand, so, historically, most of the authors of EIP have been application or protocol developers.
What are the phases of an EIP?
Previously, we mentioned, in a simple way, that its process consists of: writing it, presenting it to the community and waiting for consensus.
However, 6 phases can be visualized in your publication:
- Presentation of the idea:nformally, a modification is proposed in the Ethereum forums in order to have a follow-up or support from the community.
- Draft:This is when the EIP begins to be formally prepared for presentation, but is not yet a final result. Therefore, quick changes can be made to some details or the structure of the document.
- Review:The author requests its review for inclusion in the checklist.
- Last call: At this point, the EIP is ready for review by the broader Ethereum community.
- Accepted: Here the EIP was already in last EIP call for at least 2 weeks and made the technical changes that were requested. In this process, the lead developers consider their inclusion.
- End: The document is complete and reviewed in its entirety and its findings necessarily represent the consensus of the community. For this reason, it is ready for inclusion.
There is also an end (core) where the core developers decide to implement it as a hard fork.
In addition, we have other states:
- Stalled: This is when an EIP in draft or review status is inactive for 6 months or more. From there, it is moved to another instance. Of course, the author is notified of any changes.
- Withdrawn: This is when an author decides to eliminate his/her proposal.
- Alive: This is a special state where the EIPs are being updated but do not reach a state of finality.
Types of EIP
There are three types of EIP (Ethereum improvement proposal):
It is the most wide-ranging type of Ethereum EIP, as it affects most or all of Ethereum’s functionality.
Therefore, it includes changes in the network protocol, block or transaction validity rules, proposed standards and application conventions, among others.
It can be subdivided into four:
- Basic: These are enhancements that require a fork in your consensus or changes that are not critical to your consensus, but may be important to core development, such as EIP-86, which allows users to create contracts that perform any desired signature verification.
- Networking: Includes enhancements around the Light Ethereum protocol, devp2p or other network protocol specifications.
- Interface:Focuses on client RCP API specifications and standards ( that is, an application programming interface with data manipulation over HTTP), as well as language standards such as method names.
- ERC: These are application-level standards and conventions, including contract standards such as token standards (ERC-20), name records, URI schemes, wallet forms, and so on.
They may propose an implementation or feature on some process.
They are similar to the standards-following EIPs, but differ in that their changes are to the tools or environments used in Ethereum development.
Similarly, it does not affect the Ethereum code base and requires community consensus.
It can be defined as recommendations that provide guidelines or grant data to the Ethereum community, but, in itself, it does not propose anything new.
We hope you found this brief tour useful!
If you want to read more about the promising EIP, you can read our article on EIP 1559, the Ethereum update that seeks to change Ethereum’s fee structure.
If you want to become part of the Ethereum community, you can do it by acquiring ETH with us!
For the time being, see you in a future article!