Ethereum Berlin Consensus Failure
In a surprisingly common occurrence, Ethereum had a planned hard fork yesterday April 15, 2021, codenamed Berlin, that resulted in a consensus failure. Ethereum uses a fundamentally different design philosophy than Bitcoin. Where Bitcoin provides an unbending rule of law on which to build an economic system, innovating at the edges, Ethereum completely rewrites its rules every 6-12 months and is planning a monumental overhaul of its entire rule structure known as ETH2.0.
When we speak of rule of law or rule structure, what we mean is the rules of the software. Bitcoin has concrete properties around which you must adjust, but you can be sure those rules won't change; the rug will not be pulled out from under you. That is very important for long term economic planning and the role of money itself.
Ethereum disregards rule of law in favor of rule by developer. They mask this by saying things like, "no, no, we are decentralized, we all upgrade, we all agree." This is disingenuous. Since the beginning, we've been told that Ethereum is a work in progress, which puts normal users at the mercy of developers, because who is going to be doing that work, and who are the normies to say no?
Anyway, that was some background on the situation. Yesterday, they had another rule change called Berlin. When they transitioned to the new code there was something called a consensus failure. Different groups of nodes on the network started to disagree with each other on the current state. In other words, the nodes would not sync with each other.
This is very bad. The whole idea of cryptocurrencies and decentralization revolves around consensus. Ethereum claims to be a platform for smart contracts that can power the world, or at least a platform that digital finance can rely on. However, a consensus failure like this is contradictory to that goal. If a contract was programmed to do a certain action X at time Y, but then could not because of a consensus failure, potentially billions of dollars of economic activity would be at stake. Also, in the future, Ethereum wants to go away from mining to something called staking. Owners of Ether tokens would stake their coins as collateral in order to participate in the consensus processes. This Proof 0f Stake system incorporates some positive rewards but also penalties. If you break the rules you lose your staked coins.
In a consensus failure however, these nodes would be interpreted as breaking the rules. Therefore, a consensus failure could be catastrophic to a Proof of Stake system.
Back to Berlin. It became apparent Thursday morning that there was a problem syncing nodes across the ethereum network. This problem spread throughout most of the centralized services that make up 90% of the ethereum ecosystem, including Consensys, Coinbase, Kraken, Etherscan, and others.
The issue was related to one of the brands of software on the network (AKA client software) that calculated gas prices slightly different than the others, leading to that brand of software not syncing and throwing off the whole network. It was quickly remedied after as much as an hour, not in a decentralized effort, but by the centralized developers on Ethereum Go, the largest brand of bitcoin software. This event once again provides evidence that Ethereum is centralized to a board of developers.
The main lesson to be learned here is that this is not abnormal for Ethereum. It is constantly breaking and having consensus failures. They patch and move on, saying "Nothing to see here." Secondly, their whole design philosophy does not fit with 100% up time and reliability. It is crucial to understand that complexity is the enemy of security. The more complex you make a thing the more likely it is to have destructive bugs.
The road map for Ethereum is never-ending. They are at least 3-4 years away from a functional ETH 2.0 implementation, all along the way they will be tinkering and adding complexity into the system. One day, we wouldn't be surprised if the network simply stopped working for an extended period. As minutes turn to hours, and hours into days, it will simply collapse. Billions of dollars worth of investment, time and effort will disappear into thin air. When ethereum does come back online after this future event, it will be a diminished version of itself and never recover.
Enjoying these posts? Subscribe for moreSubscribe now
Already have an account? Sign in