Typefully

The Ethereum Upgrade Process

Avatar

Share

 • 

A year ago

 • 

View on X

(1/26) Upgrading the World Computer: EIPs, ERCs and the @ethereum Upgrade Process Have you ever wondered how a decentralized, credibly neutral blockchain is upgraded? How Ethereum decides on new features? The difference between an EIP and ERC? All these answers, and more!
(2/26) Ethereum is the World Computer, a single, globally shared computing platform that exists in the space between a network of 1,000s of computers (nodes). These nodes are real computers in the real world, communicating directly from peer to peer. x.com/LogarithmicRex/status/1592309373732151296
(3/26) The endgame vision of the World Computer: to be the credibly neutral property layer of the internet. The current reality of Ethereum: we just aren't there yet.
(4/26) Today and forever, one of the core pillars of the World Computer is decentralization. Decentralization guarantees that each individual user is sovereign; no president, corporation, dictator or cabal has the ability to take their property or stop them from using it. x.com/LogarithmicRex/status/1618083118195568640
(5/26) When we invoke decentralization, we are usually referencing the number of nodes/computers that make up a blockchain system. But this is just one leg of decentralization. Just as important as "who is running the blockchain" is "who is controlling the code?"
(6/26) Just to drive this point home, it doesn't matter how many entities are operating nodes if a centralized entity single-handedly controls the code. That entity could push an update that changes the rules and unilaterally revokes a user's sovereignty over their own assets.
(7/26) And so, while it's important to decentralize the operation of the World Computer, it's just as important to decentralize control of the code and functionality of Ethereum. But before we talk about how code changes, let's talk about what Ethereum really is.
(8/26) Remember, Ethereum is made up of 1000s of computers that are all running two pieces of software: The execution client houses Ethereum's shared computing platform (EVM). The consensus client ensures each node is perfectly in sync with every other node (via PoS). x.com/LogarithmicRex/status/1589807499804176384
(9/26) So you may think: "well if you want to be specific about it, Ethereum is really just these two pieces of software" and even "whoever wrote that software is ultimately in control." If this were true, it would make it much more difficult to achieve true decentralization.
(10/26) The truth: today there are 6 consensus (1 in beta) and 8 execution clients (3 in alpha/beta). Ethereum exists because 6 independent consensus teams and 8 independent execution teams have agreed to and implemented the same rules that define Ethereum.
(11/26) Pretend you have an new feature that you want implemented. To realize this goal, you need to convince every team that this is not only going to make Ethereum a better platform, but that your change is worth the developer resources, complexity and implementation costs.
(12/26) Fortunately, we have a channel for this! Held (usually) biweekly, the All Core Devs (ACD) Call is a regular meeting where core devs discuss updates, proposals, and issues related to Ethereum. Typically the meeting alternates between the consensus and execution layers.
(13/26) While the ACD is an important coordinating function for Ethereum, it does not represent ownership and/or control of Ethereum. Upgrades and code changes must achieve consensus amongst researchers, client developers and community members. There is no forcing function.
(14/26) To really grasp the upgrade process, we need to dive deeper and discuss how individual improvements are communicated and implemented. Specifically, we need to understand: 1) hard forks 2) Ethereum Improvement Proposals (EIPs) 3) Ethereum Requests for Comment (ERCs)
(15/26) A hard fork is a backward-incompatible change to a blockchain's protocol that requires all nodes to upgrade to the new rules. If some participants don't upgrade, the blockchain splits into two separate networks, one following the old rules and one following the new.
(16/26) In general, hard forks are achieved with very little conflict; by the time they are deployed everyone is already aligned on the "correct" fork. However, this isn't always the case (eg the DAO Hack, brilliantly told by @thegrifft on @BanklessHQ). youtube.com/watch?v=cVC9SbTmfSg
(17/26) Hard forks are made up of one or more EIPs. EIPs propose changes to the protocol or its core standards. EIPs are a big deal; they define how Ethereum itself is going to change and imply actual code changes in consensus and/or execution clients.
(18/26) EIPs are generally instantiated by formally writing out the motivations and specific changes and then posting them to the Ethereum @github repository. After much research and discussion, they might eventually be candidates for a hard fork. github.com/ethereum/EIPs
(19/26) In general, EIPs are structural changes and require not only the consensus of the community but actual implementation of the client teams. However, not every feature requires such a fundamental impact. Often functionality can be achieved without changing Ethereum's code.
(20/26) An ERC is a specific type of EIP that defines standards for applications running on Ethereum, such as token standards, APIs, or contract interfaces. ERCs shape how devs interact with Ethereum but don't require changes to the underlying protocol.
(21/26) Let's look at perhaps the most famous ERC: ERC-20. ERC-20 defines what functionality a smart contract needs to support in order to be considered a "token." This doesn't require any changes to Ethereum, just sets the standards for what gets deployed on-chain. x.com/LogarithmicRex/status/1860021980373876809
(22/26) In short, EIPs focus on Ethereum's infrastructure (actual code changes to Ethereum), while ERCs focus on applications and tools (optional for devs, but widely followed for convenience and interoperability). Hard forks are made up of EIPs and (generally) not ERCs.
(23/26) And thus concludes our survey of the Ethereum upgrade process... but before we close out, let me drop a few jumping off points for learning more! First, if you are interested in watching ACD calls, the @ethereum foundation posts them on YouTube. youtube.com/@EthereumFoundation
(24/26) Being honest, these calls can be highly technical and difficult to follow. Fortunately, we are blessed with @christine_dkim! Christine is the best person to follow to help understand how Ethereum is changing. Also make sure to check out her podcast "Infinite Jungle." x.com/StrangeH2OPod/status/1778400018153574705
(25/26) And if you ever want to dive deep on a specific EIP, there is nowhere better to look than @poojaranjan19 and the @EthCatHerders. While the Cat Herders are responsible for so much more, the best place to start is with their podcast/show PEEPanEIP. youtube.com/@ethcatherders
(26/26) In summary, Ethereum upgrades via hard forks, which are made up of one or more EIPs. EIPs change the rules and code of Ethereum, and so require strong consensus. ERCs are standards that do not require changes to the core protocol, and are optional but widely adopted.
Avatar

Logarithmic Rex

@LogarithmicRex