As a complex multifaceted platform, the Ethereum blockchain represents the cumulative efforts of numerous individuals. To coordinate this crowdsourced project, developers of Ethereum have come up with a process by which proposals can be workshopped, discussed, and possibly integrated into the Ethereum blockchain.
Many of the novel and sometimes groundbreaking developments of Ethereum promulgate from members of the community. Anyone with a GitHub account can submit suggestions in the form of what are called Ethereum Improvement Protocols (EIPs).
EIPs are designed to provide a format for presenting ideas that is simple and digestible to newcomers. Others can then comment on ways to help drive the proposals forward, or pick them apart to see if they have any merit. EIPs are useful for evolving protocols, processes, or responses to environmental changes.
EIPs can be broken down into three types. The first, a Standard Track EIP, covers any change that will affect all or most implementations of the Ethereum blockchain. Standard Track EIPs can be thought of as broad layer changes and might cover alterations to network protocols, application standards, or interoperability among Ethereum applications.
In addition, Standard Track EIPs can be further delineated into subcategories: core, networking, interface, and Ethereum request for comment (ERC). Core improvements are often changes that require a consensus fork, relative to discussions of “core” developers. Networking focuses on light client improvements or general network protocol alterations. Interface submissions are aimed at client API/RPC protocols. ERCs are primarily related to standards for EDCCs, tokens, and Dapps. ERCs also encompass name registries, URI schemes, library/package formats, and wallet formats.
The next type of EIP is Informational, which broadly describes a design issue and offers the Ethereum community general guidelines or explanations. Informational EIPs are not intended as new ideas or feature proposals; rather, they serve to further the collective Ethereum education. A user can go through informational EIPs to identify an issue they want to work on, get more information about something they heard about, or to better understand an established guideline. Informational EIPs aren’t necessarily representative of the Ethereum community in terms of consensus and, to that end, users are cautioned to apply their own discretion when following advice provided in such EIPs.
The final type is referred to as a Meta EIP, which might apply to broader proposed modifications outside the scope of the Ethereum codebase, such as how the Ethereum Foundation itself operates and protocols for humans within the Ethereum ecosystem, in regard to the decision-making process and environmental tools. These may also require community consensus. Rather than being suggestions like Informational EIPs, generally speaking, users may not ignore a Meta EIP and must follow its recommendations.
A useful diagram available on the EIP explanatory GitHub page reveals the workflow of the EIP process:
Regardless of what kind of EIP users submit, each is required to include a preamble, simple summary, abstract, an optional motivation section, specification, rationale, backward compatibility, test cases, and implementations. By incorporating these faculties into an EIP, users who submit their ideas stand a better chance of getting attention, gaining steam, and engaging in meaningful discourse.
To best leverage the community intelligence for the betterment of the blockchain, the Ethereum ecosystem is well served by formal protocols that integrate decentralized development with formatting that facilitates ease of use. EIPs are the vehicles by which the development community achieves its forward motion.