Popular Science | Looking at the footprints of Ethereum from previous upgrades

Looking at the big picture, the blockchain technology has been around for a while. Although the basic concepts of blockchain (cryptography, decentralization, peer-to-peer networks, and transactions) have been studied for decades, it was not until the birth of Bitcoin in 2008 that people believed that these concepts could indeed be combined and created. Available products. Especially in Ethereum, it was not until 2015 that it appeared in people's field of vision with an open and usable appearance. Despite changes in the expected development timeline and specific details, Ethereum continues to follow the plan and escalate the agreement to ensure increased availability, security, functionality and decentralization.

With the completion of the upgrade of Constantinople in February this year, Ethereum stepped on the threshold of the Serenity (also known as Ethereum 2.0) stage, only after a series of hard forks and phased upgrades ( This can be achieved by including "Ethereum 1.x". However, in order to better understand the goals of Ethereum 2.0, we must first look back at where we sailed from. Here is an Ethereum memorabilia that reviews the important bifurcations and upgrades in the history of Ethereum to prepare for the next phase of development.

Olympic | May 9, 2015

The Ethereum blockchain was officially launched in July 2015. Prior to this, it was Olympics, the 9th and last open test network for proof of concept (PoC), allowing developers to explore the operation of the Ethereum blockchain in advance. Vitalik announced that it will issue a total of 25,000 ETHs to reward developers who stress test the network. The test requirements are clear: try to overload the network and “crazy to disrupt the network state” to understand how the protocol will handle excessive traffic. Developers need to test four aspects: trading activities, virtual machine operations, mining mechanisms, and general penalties.

Frontier | July 30, 2015

After several months of stress testing, the Ethereum network has been ready to enter the official main network. On July 20th, the creation block of Ethereum was dug up and the community began to expand. A few months before the release of Frontier, Vinay Gupta published a note explaining the release process of Ethereum. There are many warnings from the impassioned words about the potential users of Ethereum. Gupta said that Frontier is the “most primitive form” of Ethereum, and developers should be cautious. Just a few days before the release of Frontier, Stephen Taul also reminded developers like Gupta: “Like the brave pioneers during the American boom, the Ethereum community participants will find great opportunities, too There will be many challenges."

The Frontier protocol includes several important features:

  • Block Reward : When miners successfully dig a block on the Ethereum blockchain, they will receive an award in ETH. In the Frontier phase, the miners' block reward is 5 ETH per block.
  • Gas : At the beginning of the release of Frontier, the Gas cap for each block was hardcoded to 5000gas. To put it bluntly, this means that there will be no big moves on the network. This leaves a buffer period for miners to start working at Ethereum and let early users install the client. After a few days, the Gas cap is automatically released and the network can begin processing transactions and smart contracts as planned.
  • Canary contract : The Canary contract is included in Frontier to inform users which chains have been or are vulnerable. Canary contracts are given a value of 0 or 1. If the contract is assigned a value of 1, the client will recognize that this is an error chain and avoid this invalid chain while mining. Essentially, these features of the Canary contract allow the Ethereum core development team to stop operations or transactions when there is a problem with the network. In the early stages of Ethereum, the Canary contract was an extremely central but indispensable protection mechanism.
  • Availability : All developer operations are performed through the command line because there is no graphical user interface. The entire network is available, but the user interface is very rough, and only those who are familiar with Ethereum and have operational experience are able to use it.

Homestead | March 14, 2016

Homestead upgraded the Ethereum network's first hard fork plan and implemented it on the 1st, 150,000th block on March 14, 2016. Overall, the Homestead upgrade includes three major improvements to Ethereum. First, it removed the Canary contract and removed the centralized part of the network. Second, it introduced new code in Ethereum's contract programming language Solidity. Finally, it introduces the Mist wallet, allowing users to hold/transaction ETH and write/deploy smart contracts.

The Homestead upgrade was one of the earliest implementations of the Ethereum Improvements Proposal (EIP). EIP refers to recommendations to the community that, once they are recognized, are included in the network upgrade. The Homestead upgrade includes three EIPs:

EIP-2: Homestead Core Upgrade

EIP 2.1: Increase the cost of creating a smart contract through a transaction from 21000 Gas to 53000 Gas. Previously, the cost of creating a contract through a contract (the preferred method) was higher than the cost of creating a contract through a transaction. As the cost of gas to create contracts through transactions increases, EIP 2.1 motivates users to re-use contracts to create contracts.

EIP 2.2: “All transaction signatures with s values ​​greater than secp256k1n/2 are considered invalid. ECDSA recovery precompiled contracts remain unchanged and accept higher s values; if there is a contract to recover old bitcoin signatures, etc. This feature comes in handy." [ Source ]

EIP 2.3: It is clearly stated that if a contract does not receive enough Gas to complete the entire operation, the contract creation will “fail” instead of creating a blank contract, making the possible output of the transaction from the original [success] [Failed] or [Empty] changes to [Success] or [Failed].

EIP 2.4: Eliminates the incentive to create blocks with higher difficulty values, which increases the probability of digging into blocks. This upgrade stabilizes the block time between 10 seconds and 20 seconds and restores the entire network to a target block time of approximately 15 seconds.

EIP-7

"An opcode has been added to 0xf4, DELEGATECALL. This opcode is similar to CALLCODE except that it sends the sender and value from the parent scope to the child scope, that is, the call is created and the original The call has the same sender and value."[ Source ]

EIP-8: Future-oriented upgrades

EIP-8 is a future-oriented network upgrade plan improvement proposal. This improvement ensures that all client software on the Ethereum network can accommodate future network protocol upgrades.

DAO Bifurcation | July 20, 2016

In addition to the planned Ethereum upgrades and hard forks, there is an unplanned DAO event worth remembering. In 2016, a decentralized autonomous organization called The DAO raised $150 million through token sales. In June, The DAO was hacked and a $50 million ETH was robbed by an unknown hacker. Most participants in the Ethereum community decided to implement hard forks, recover stolen ETHs in the wallet and patch the vulnerabilities. However, the hard forks were not unanimously recognized by all participants in the community, and some participants continued to mine and trade on that original chain. The original chain of unrecovered stolen ETHs is known as the Ether Classic (ETC) . Over time, its security is gradually reduced and the difficulty of mining is also decreasing . Most of the community's participants and core developers continue to work on the forked chain – the stolen ETH returns to their original holders – this is the Ethereum blockchain we are now familiar with.

Metropolis: Byzantine Fork | October 16, 2017

The next step in the Ethereum roadmap is called Metropolis, which will be divided into two phases: Byzantium and Constantinople. Byzantine forks were activated in 2017 at the height of the 4.37 million blocks, including the following 9 EIPs:

EIP 100

Adjust the block difficulty evaluation formula and include the uncle block in the reference range. The new formula makes the fire currency increase rate more stable and ensures that it is impossible to force the issue rate by manipulating the uncle block.

EIP 658

For the Byzantine hard fork upgraded block, the transaction receipt will contain a status field to indicate success (assigned to 1) or failed (assigned to 0).

EIP 649

The “difficult bomb” is a mechanism that, once activated, the cost (ie, difficulty) required for each new excavation of a block will increase until it is impossible to dig up a new block. Once this difficulty is reached, the Ethereum network will “freeze”. The Difficult Bomb was originally incorporated into the Ethereum network in September 2015 to help transform the Ethereum network from PoW to PoS. Once the PoS mechanism is implemented, the miners can theoretically still choose to support the old PoW chain, which leads to community fragmentation and the creation of two separate chains – one maintained by the owner and the other by the miners maintain. In order to prevent this from happening, a difficulty bomb mechanism has emerged, which will make the mining efficiency become lower and lower, and finally ensure that the entire network completes the transition to the PoS mechanism without hard forks. In the proposal, the difficulty bomb (also known as the Ice Age) will be postponed for one year, and the block reward will be reduced from 5 ETH to 3 ETH.

The details of the remaining Byzantine forked EIPs (140, 196, 197, 198, 211, 214) can be found here .

Metropolis: Constantinople | February 28, 2019

The second phase of the Metropolitan Upgrade, Constantinople , was scheduled to be launched at the height of the 7.08 million block in mid-January 2019. On January 15th, an independent security audit firm called ChainSecurity issued a report that pointed out that one of the five major system upgrades would give attackers the opportunity to steal funds. In response to the report's questions, Ethereum core developers and other members of the community voted to suspend the upgrade until the security issue was resolved. At the end of January, core developers announced that they would activate the upgrade at the 7.28 million block height. On February 28th, the hard fork of Constantinople was implemented at the height of the 7.28 million blocks. The Ethereum network is currently in the stage of Constantinople.

EIP 145: Bitwise move instruction

The bitwise move instruction is added to the Ethereum Virtual Machine (EVM). These instructions allow the bits in the binary information to be moved to the left and right. This improvement means that the smart-to-bit movement of smart contracts will be 10 times cheaper.

EIP 1052: Smart Contract Verification

A smart contract can verify itself by examining the hash of another smart contract. Before the fork of Constantinople, the smart contract must extract the complete code of another contract for verification, which would take a lot of time and resources.

EIP 1014: CREATE2

The enforceability of the state channel becomes stronger. The state channel is an Ethereum expansion scheme based on the chain transaction.

EIP 1283: SSTORE

Reduce the cost of Gas consumed by SSTORE operations. This move makes the cost of multiple update operations in the transaction lower.

EIP 1234: Block Reward and Suspended Difficult Bomb

It consists of two parts: reducing block rewards and suspending difficulty bombs.

Block reward reduction

The miners received a reward for the block from 3 ETH per block to 2 ETH. This move is called “ 1/3 of Thirdening ”.

Difficult bomb suspension

EIP 1234 postponed the activation of the difficulty bomb for another twelve months and will vote again.

Prospects: Istanbul and Serenity

Looking ahead, “Serenity” will be the final stage of the Ethereum blockchain, but it will first go through the Istanbul fork and the “Ethereum 1.x.” stage. The hard fork of Istanbul will mainly focus on the decision about ProgPoW. Serenity will complete the conversion from PoW to PoS, as well as other important upgrades. Of particular interest are the introduction of the beacon chain and fragmentation concept, and the replacement of the Ethereum virtual machine (EVM) with eWASM (Ethereum-flavored Web Assembly). All upgrades to Serenity will be phased in. At the same time, Ethereum 1.x will continue to evolve to ensure the subsequent operation of the original PoW chain. I will explain the follow-up hard fork plan and Serenity in the next article, so stay tuned.

Original link: https://media.consensys.net/a-short-history-of-ethereum-a8fdc5b4362c

Author: ConsenSys

Translation & Proofreading: Zhou Wei & Min Min

(This article is from the EthFans of Ethereum fans, and it is strictly forbidden to reprint without the permission of the author.