Page last updated: September 9, 2021
If no one owns Ethereum, how are decisions about past and future changes to Ethereum made? Ethereum governance refers to the process that allows such decisions to be made
The Cambridge dictionary defines governance as:
the way that organizations or countries are managed at the highest level, and the systems for doing this
In essence, governance is the system in place that allows decisions to be made. In a typical organizational structure, the executive team or a directors’ board may have the final say in decision-making. In a political system, elected officials may enact legislation that attempts to represent their constituents’ desires.
No one person owns the Ethereum protocol, but decisions still need to be made about implementing changes to best ensure the longevity and prosperity of the network. This lack of ownership makes traditional organizational governance an incompatible solution.
Ethereum governance is the process by which protocol changes are made. It’s important to point out that this process isn’t related to how people and applications use the protocol – Ethereum is permissionless. Anyone from anywhere in the world can participate in on-chain activities. There are no rules set for who can or cannot build an application or send a transaction. However, there is a process to propose changes to the core protocol, which these applications run on top of. Since so many people depend on Ethereum’s stability, there is a very high coordination threshold for core changes, including social and technical processes, to ensure any changes to Ethereum are secure and widely supported by the community
Blockchain technology allows for new governance capabilities, known as on-chain governance. On-chain governance is when proposed protocol changes are decided by a stakeholder vote, usually by holders of a governance token, and voting happens on the blockchain. With some forms of on-chain governance, the proposed protocol changes are already written in code and implemented automatically if the stakeholders approve the changes.
The opposite approach, off-chain governance, is where any protocol change decisions happen through an informal process of social discussion, which, if approved, would be implemented in code.
Ethereum governance happens off-chain with a wide variety of stakeholders involved in the process.
Whilst at the protocol level Ethereum governance is off-chain, many use cases built on top of Ethereum, such as DAOs, use on-chain governance.
More on DAOs
There are various stakeholders in the Ethereum community, each playing a role in the governance process. Starting from the stakeholders furthest from the protocol and zooming in, we have:
- Ether holders: these people own the ETH token. More on ETH.
- Application Users: these people interact with applications on the Ethereum blockchain.
- Application/Tooling Developers: these people write applications that are run on the Ethereum blockchain (e.g. DeFi, NFTs, etc.) or build tooling to interact with Ethereum (e.g. wallets, test suites, etc.). More on dapps.
- Node Operators: these people run nodes that propagate blocks and transactions, rejecting any invalid transaction or block that they come across. More on nodes.
- EIP Authors: these people propose changes to the Ethereum protocol, in the form of Ethereum Improvement Proposals (EIPs). More on EIPs.
- Miners/Validators: these people run nodes that can add new blocks to the Ethereum blockchain.
- Protocol Developers (a.k.a. “Core Developers” ): these people maintain the various Ethereum implementations (e.g. go-ethereum, Nethermind, Besu, Erigon at the execution layer or Prysm, Lighthouse, Nimbus, Teku, Lodestar at the consensus layer). More on Ethereum clients.
Note: any individual can be part of multiple of these groups (e.g. a protocol developer could champion an EIP, and run a beacon chain validator, and use DeFi applications). For conceptual clarity, it is easiest to distinguish between them, though.
One important process used in Ethereum governance is the proposal of Ethereum Improvement Proposals (EIPs). EIPs are standards specifying potential new features or processes for Ethereum. Anyone within the Ethereum community can create an EIP. For example, none of the authors of EIP-721, the EIP that standardized NFTs, have worked directly on Ethereum’s protocol development.
More on EIPs
The formal process for introducing changes to the Ethereum protocol is as follows:
Propose a Core EIP: as described in EIP-1, the first step to formally proposing a change to Ethereum is to detail it in a Core EIP. This will act as the official specification for an EIP that Protocol Developers will implement if accepted.
Present your EIP to Protocol Developers: once you have a Core EIP for which you’ve gathered community input, you should present it to Protocol Developers. You can do so by proposing it for discussion on an AllCoreDevs call. It is likely some discussions will have already happened asynchronously on the Ethereum Magician’s forum or in the Ethereum R&D Discord.
Potential outcomes of this stage are:
- The EIP will be considered for a future network upgrade
- Technical changes will be requested
- It may be rejected if it is not a priority or the improvement is not large enough relative to the development effort
Iterate towards a final proposal: after receiving feedback from all relevant stakeholders, you will likely need to make changes to your initial proposal to improve its security or better meet the needs of various users. Once your EIP has incorporated all the changes you believe are necessary, you will need to present it again to Protocol Developers. You will then move to the next step of this process, or new concerns will emerge, requiring another round of iterations on your proposal.
EIP Included in Network Upgrade: assuming the EIP is approved, tested and implemented, it gets scheduled as part of a network upgrade. Given the high coordination costs of network upgrades (everyone needs to upgrade simultaneously), EIPs are generally bundled together in upgrades.
Network Upgrade Activated: after the network upgrade is activated, the EIP will be live on the Ethereum network. Note: network upgrades are usually activated on testnets before being activated on the Ethereum Mainnet.
This flow, while very simplified, gives an overview of the significant stages for a protocol change to be activated on Ethereum. Now, let’s look at the informal factors at play during this…