The Feedback that Improves Ethereum
Results from collecting feedback from EIP Editors, Authors, and Core Developers on improving the EIP process
In November 2013, the first draft of the Ethereum white-paper was made. In the Ethereum white-paper was the context for the creation of Ethereum, a detailed concept of what Ethereum is, including philosophical principles and higher-level summary, and a higher-level look at the pieces that make an Ethereum client and how they operate.
While the white-paper contains the higher-level concepts for the making of Ethereum, in mid-2014, the Ethereum yellow-paper was released detailing the technical aspects of developing an Ethereum client. The specification of this paper was what client implementors used to create the first versions of Ethereum.
But Ethereum evolved past the initial yellow paper. The main process of how that evolution took place was through an iteration of new proposals called Ethereum Improvement Proposals (EIPs). Ethereum Improvement Proposals as a concept was based on the Bitcoin Improvement Proposal (BIP) created in 2011, which itself was based on the Python Enhancement Proposal (PEP) created in 2000.
In October 2015, the EIP Github repository was created. And following in the steps of Python Enhancement Proposals, EIPs were technical documents akin to specifications.
The EIP process has been the source of various improvements to Ethereum, including the standardization of ERC-20 and ERC-721 tokens, and the organization to many network upgrades to the Etherum network, including Constantinople, Atlantis, and Istanbul to name a few.
The EIP Improvement Process
In January 2020, the first EIP Improvement Process (EIPIP) meeting was held. The EIPIP meetings are a series of meetings intended to bring together experienced developers and experts to facilitate the EIP improvement process. EIPIP was formalized to keep meta conversations about the EIP process separate from the All Core Devs meetings, keeping those meetings focused on reviewing EIPs. The EIPIP group is following Ethereum’s shift towards a new EIP centric process.
As a part of the process for improvement, the EIPIP group is collecting feedback from EIP Editors, EIP Authors, and Core Developers on the current state of the EIP process. Read more about EIP Improvement Process (EIPIP) group and Q1–2020 report.
In the survey, 4 open-ended questions were asked. What do you currently like about the EIP process? What are your current frustrations with the EIP process? What are your current fears with the EIP process? And what are your suggestions for improving the EIP process? The survey results, so far, are the following.
What Currently Works
Currently, what the community likes is that the current EIP process is well defined and structured, focuses on the technical aspects, and has legitimacy. The barrier to entry is low, anyone who wants to take part in the process can. And the process for approving EIPs is democratic, transparent, and allows for a fair and thorough review with a high bar of acceptance.
What Needs Improvement
Problems brought up by the community are as follows:
- How can we keep the EIP process as apolitical?
- How can we create a sense of finality? (Through final approval and rejection.)
- How can we onboard more EIP editors and increase capacity for EIP review?
- How can we ensure champions are allocated for EIPs of value to continue the EIP process to completion?
- How can we become less reliant on live conversations?
- How can we clarify the EIP centric process and hard-fork coordination and how they interact with each other?
- How can we reduce backlogs for EIPs?
- How can we document use cases, community support, and progress for each EIP?
- How can we keep the focus on the EIPs and not the process?
- How can we finalize EIPs that appear to be controversial?
There exist problems, that when solved, solve multiple other problems automatically. These are higher-order problems. From the problems identified thus far from the survey, the higher-level problems are as follows:
“How can we formalize the decision-making process for EIPs?”
With a formal decision-making process for EIPs, the hope is the EIP process can become apolitical, a sense of finality to EIPs can be introduced, and EIPs that are controversial can be finalized in a way that is objective.
Out of all needs, the need for having a formal decision-making process was the most represented in total. By each group, this need was expressed by 50% of Core Developers, 50% of EIP Editors, and 80% of EIP Authors who were not Core Developers or EIP Editors.
“How can we onboard more contributors to the EIP process?”
With more contributors, the capacity for more EIP editors increases, as well as the capacity needed or more EIP champions. With a clear decision-making process and more contributors combined, the EIP backlog would also be reduced.
Out of all needs, the need for onboarding more contributors was the second most represented in total. By each group, this need was expressed by 50% of Core Developers, 50% of EIP Editors, and 40% of EIP Authors who were not Core Developers or EIP Editors.
“How can we increase clarity for the EIP process?”
This final problem is a catch-all for smaller problems. Clarity includes knowing the progress of each EIP that is eligible for inclusion, knowing the use cases for each EIP, knowing at what level of community support each EIP has, and clarifying or formalizing how the EIP centric process and hard-fork coordination interact with one another. A clear process would also result in the focus on EIPs and not the process itself.
Out of all needs, the need for increasing clarity was the third most represented in total. By each group, this need was expressed by 50% of Core Developers, 25% of EIP Editors, and 0% of EIP Authors who were not Core Developers or EIP Editors.
We still need to parse through suggestions on solutions provided by the surveys and survey more stakeholders. You can participate in this survey here. Once sufficient surveys are received to consider sufficient stakeholder input, the EIPIP group will be focused on addressing these issues efficiently. We are committed to making Ethereum the best it can be.