Ethereum—The Whole Forking HistoryBy Jan 10, 2020 4 Min Read
Ethereum is the second most recognizable name in the cryptocurrency and blockchain space, next to Bitcoin. Ethereum was created to overcome the limitations of Bitcoin, which is essentially just a system for decentralized money, and push the boundaries of blockchain technology and decentralization. Like Bitcoin, it is supported by a peer-to-peer node network, meaning that it is essentially a decentralized server run by a vast number of computers with no central administrator or intermediary.
Despite a common misinterpretation, Ethereum itself is the name of the network and not its currency. Nodes are rewarded in Ethereum’s native currency called Ether (ETH) and the cost of computation is calculated in Gas.
The Ethereum network was invented by Vitalik Buterin, a Russian-Canadian programming prodigy. In his whitepaper, which was released in 2013, he describes Ethereum as a, “blockchain-based decentralized mining network and software development platform rolled into one.”
Bitcoin is governed by an underlying software protocol, which is a very simplistic version of the smart contract, serving as predefined rules for its network. Ethereum basically extends the idea of Bitcoin’s contract protocol but is far more ambitious with the aim of facilitating the development of an entire ecosystem for open-ended decentralized applications (dApps) and smart contracts to build and run while removing the risk of third-party interference.
Prior to the Ethereum network being launched in 2015, anyone that wanted to create a blockchain-based application had to create their own blockchain platform from scratch. But with Ethereum, developers can leverage off the Ethereum infrastructure to create virtually any application imaginable.
Lack of Scalability — Cryptokitties
Both Ethereum and Bitcoin platforms depend on a peer-to-peer network of nodes and both use mining incentives to enlist those nodes into their platform. A node simply refers to a single computer out of the network of thousands that supports the peer-to-peer network.
As a public blockchain, the Ethereum network aims to offer support to as many users as possible. However, Ethereum runs on the same Proof-of-Work protocol as Bitcoin meaning that computational power is needed, not only to produce new coins but to process transactions and to keep the entire ecosystem moving. The stress put on each node becomes more of an issue as the Ethereum network attempts to grow or scale. Scalability is simply a network’s capacity to grow in size and manage the increased demand. For the Ethereum blockchain network, each node contains the full transaction history and updated ledger for account balances and contracts. As new blocks of transactional information are created, all nodes must store and update which can cause severe issues with network speed.
While scalability is now a common pain point for blockchain developers, the issue was first exposed in the Ethereum Network in 2017 when a dApp for the creation of cryptographic virtual cats, Cryptokitties, became a viral success and clogged the entire network with more transactions than it could handle. The popularity of Cryptokitties saw the dApp make a jump from $1million in transactions to $3million in transactions over the space of a day and at the time made up 20% of all transactions on the network. Besides the networks slowing down drastically, another noticeable effect was also the increase in price of the transactions.
What’s a Fork?
As a road diverging towards different directions is known as a fork, so is this expression applied to blockchains. Ethereum, like Bitcoin, is open-source coded meaning that it can be accessed and modified by anyone if consensus is reached but is still enforced by a specific set of consensus rules that are applied to evaluate the validity of a new block of data. Modifying the open-source code without reaching complete consensus of the network will result in one of two types of forks in cryptocurrencies, a hard fork or a soft fork. As blockchain platforms are decentralized, a consensus of what data is held on the blockchain must be reconciled by all nodes on the network in order to keep a single blockchain intact.
Soft Fork—a modification to the consensus rules that is backward compatible with previous versions of the blockchain. Soft forks modify the blockchain and apply new rules but fundamentally still allow older versions of the blockchain to remain valid.
Hard Fork—a permanent split in the blockchain if consensus cannot be reached. A hard fork is a far more substantial issue as it will invalidate older versions of the blockchain.
Ethereum’s Four Stages
The Ethereum platform was originally designed only for developers and it only featured command-line interfaces. This pioneer stage of its development was known as ‘Frontier’—alluding to the wild and untamed environment and the huge potential of the Wild West.
After some initial errors were fixed and the platform was adapted for end users, Ethereum launched ‘Homestead’—its first public version.
Stage Two—Homestead Upgrade
The first planned Ethereum hard fork was the Homestead Upgrade which was executed on the network on May 14, 2016. The upgrade removed a point of centralization on the network called ‘canary contracts’, and introduced new code into Ethereum’s programming language—Solidity. In addition, the update also included the application ‘Mist’, an ETH wallet that in addition to storing ether, can be used to write smart contracts.
The Homestead upgrade was one of the earliest implementations of Ethereum Improvement Proposals (EIPs)—proposals put forward by the Ethereum community that are to be included in network upgrades. For a full list of Ethereum’s EIPs click here.
The Forking DAO Incident
While not a planned upgrade, it is impossible not to mention the DAO Incident of 2016.
A group of developers were inspired by the decentralization of cryptocurrencies and conceived of the idea for a decentralized autonomous organization (DAO) which would leverage the Ethereum Network. The project attracted many of Ethereum’s earliest investors and by May 2016—14% of all the Ethereum tokens were being held up by the crowd-funding initiative.
Despite warnings that vulnerabilities were being detected within the DAO code, the project went live at the end of May 2016. In June, the project became the subject of an attack that saw the forewarned vulnerabilities exploited and 3.6 million ether were effectively stolen.
Members of the DAO and Ethereum community engaged in hot debate about what to do next. Hard forking would all the stolen ether to be reabsorbed back into the pool, but this decision would not achieve a consensus as many believed that the attack was a valid maneuver, although unethical, as it did not technically break the rules.
The decision was made and the Ethereum blockchain made an unplanned hard fork. As the decision did not achieve full consensus, many users have continued to support the old chain which is now called Ethereum Classic.
The next planned stage for the Ethereum network is known as Metropolis, which is also the current stage of development. Metropolis would be implemented in two stages—Byzantium and Constantinople.
The main impetus behind Metropolis is to prepare the network to transition from the Proof-of-Work (PoW) method to the Proof-of-Stake (PoS) method of consensus. Currently Ethereum and Bitcoin both use PoW which leverages ‘mining’—where nodes must solve complex equations where the first one to reach the solution is awarded the cryptocurrency and block ownership. In PoS, the process is called ‘forging’, more of a random selection where a node’s chances of owning the next block are greatly boosted by the proportion of assets that they staked in the network.
Mining has been criticized as making the rich richer as chances of solving the complex equations are greatly improved in PoW based on the computation power you can afford, leading many major organizations to set up mining pools. An individual miner is effectively blown out of the competition for blocks as they cannot afford to run the same amount of calculations as a billion dollar multi-national.
Byzantium upgrade went live in October 2017 and introduced a total of nine EIPs to the system. This first upgrade has paved the path for the PoS method by restructuring the reward system for blockchain miners. The updates disincentivize mining on Ethereum’s blockchain by reducing the award for a single block from 5 Eth to 3 Eth. This update has also purportedly delayed Ethereum’s Ice Age —where mining will become so difficult that it will act as a catalyst for the network’s move to the PoS model—by up to 18 months.
The Byzantium update also made it compatible with cryptographic primitives, a function that provides cryptographic evidence of a transaction’s completion while keeping all participating parties anonymous—thus enhancing the privacy system and introducing a more autonomous flow of assets within the system.
The Constantinople upgrade went live on February 28, 2019, after being pushed from its original launch scheduled for the middle of January 2019. The delay was caused when an independent audit firm, called ChainSecurity, published a report highlighting how one of the five main upgrades could give hackers entry to steal assets. Clearly having learned from the DAO incident, developers delayed the launch opting to first investigate and resolve the security issue.
Constantinople is made up of two stages, Petersburg (launched in February 2019) and Istanbul:
The Petersburg stage centered around the “difficulty bomb” and introduced a total of five EIPs, four of which had very little impact as they were mainly enhancements and optimizations. One that did have a major impact was EIP 1234 which became known as the ‘thirdening’ and was an adjustment to block rewards. It was a hard-fork which saw the block rewards reduced from 3 ether to 2 ether, further deterring small miners by decreasing profits, as well as reducing inflation.
Istanbul Fork Executed
The Istanbul hard fork is a system-wide upgrade that changed a few facets of Ethereum’s functionality including mining protocol and code execution. It activated six EIPs including the introduction of the ProgPoW—a proof-of-work algorithm designed to close the efficiency gap available to specialized ASICs.
Muir Glacier Fork
The Muir Glacier update was activated at block number 9,200,000 on Jan. 2, 2020, with only one improvement proposal, EIP 2384. The proposal aims to delay the difficulty bomb, a built-in algorithm of the Ethereum blockchain that could drastically increase the difficulty in mining a new block if left unaccounted for. The update is designed to delay the difficulty bomb for another 4,000,000 blocks, or approximately 611 days.
This is the third difficulty bomb delay the Ethereum network has undergone, with the first two occurring in 2018 and 2019.
Serenity is the ultimate goal of the Ethereum Blockchain. It will mark a complete transition to the PoS model.
For a full preview of Eth 2.0 please click here.
Images via Shutterstock