Looking at the overall situation, blockchain technology hasn’t been around for a long time. Although the basic concepts related to 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 Ethereum, it was not until 2015 that it appeared in people’s field of vision in an open and usable face. Although the expected development timeline and specific details have changed, Ethereum still insists on advancing as planned and continuously upgrading the protocol to ensure improved availability, security, functionality, and decentralization.
With the completion of the Constantinople upgrade in February this year, Ethereum has also stepped on the threshold of the Serenity (also known as Ethereum 2.0) stage, only to go through a series of hard forks and phased upgrades ( Including “Ethereum 1.x”) can be achieved. However, in order to better understand the goals of Ethereum 2.0, we must first look back at where we set sail. Here is a memorabilia of Ethereum, reviewing important planned hard forks and upgrades in the history of Ethereum, preparing for the next stage of development.
Olympic | May 9, 2015
The Ethereum blockchain was officially launched publicly in July 2015. The first step before this is Olympic-the ninth and last open testnet for proof of concept (PoC), allowing developers to explore the operation of the Ethereum blockchain in advance. Vitalik announced that it will release a total of 25,000 ETH to reward developers who perform stress testing on the network. The test requirements are very clear: try to overload the network and “manipulate the network state crazily” to understand how the protocol will handle excessive traffic. Developers need to test four aspects: transaction actions, virtual machine operation, mining mechanism, and general punishment mechanism.
Frontier | July 30, 2015
After several months of stress testing, the Ethereum network is ready to enter the official mainnet release. On July 20, the genesis block of Ethereum was dug out, and the community began to gradually expand. A few months before Frontier’s release, Vinay Gupta published a note explaining the Ethereum release process. The impassioned statements contained warnings to potential users of Ethereum. Gupta stated that Frontier is the “most primitive form” of Ethereum, and developers should proceed with caution. Just a few days before Frontier’s release, Stephen Taul also reminded developers like Gupta: “Like the brave pioneers during the American pioneering boom, the participants in the Ethereum community will discover huge opportunities and at the same time. There will be many challenges.”
The Frontier agreement contains the following key features:
- Block reward : When miners successfully dig a block on the Ethereum blockchain, they will receive a reward in ETH. In the Frontier stage, the block reward for miners is 5 ETH per block.
- Gas : In the early days after Frontier was released, the gas limit of each block was hard-coded to 5000 gas. To put it bluntly, this means that there will be no major actions on the Internet. This leaves a buffer period for miners to start working on Ethereum and allow early users to install the client. A few days later, the gas limit is automatically lifted, and the network can start processing transactions and smart contracts as planned.
- Canary contract : The Canary contract is incorporated into Frontier to inform users which chains have been or are vulnerable to attacks. The Canary contract is assigned a value of 0 or 1. If the contract is assigned a value of 1, the client can recognize that this is an error chain and avoid this invalid chain when mining. Essentially, these features of the Canary contract enable the core Ethereum development team to suspend the operation of the network when there is a problem with the network. In the early stages of Ethereum, the Canary contract was an extremely centralized but indispensable protection mechanism.
- Usability : 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 people who are familiar with Ethereum and have operational experience can use it.
Homestead | March 14, 2016
The Homestead upgrade is the first hard fork of the Ethereum network, which was implemented on March 14, 2016 on the 1,150,000th block. In general, the Homestead upgrade mainly includes three important improvements to Ethereum. First, it removed the Canary contract and removed the centralized part of the network. Second, it introduced new code in Solidity, the contract programming language of Ethereum. Finally, it introduces the Mist wallet, which allows users to hold/trade ETH and write/deploy smart contracts.
The Homestead upgrade is one of the first Ethereum Improvement Proposals (EIP) implemented. EIP refers to suggestions made to the community, and once they are recognized, they will be included in the network upgrade. The Homestead upgrade includes three EIPs:
EIP-2: Homestead core upgrade
EIP 2.1: Increase the cost of creating smart contracts through transactions from 21,000 Gas to 53,000 Gas. Previously, the cost of creating a contract through a contract (recommended method) was higher than the cost of creating a contract through a transaction. Due to the increased gas cost of creating contracts through transactions, EIP 2.1 encourages users to re-adopt the method of creating contracts through contracts.
EIP 2.2: “All transaction signatures with a value of s greater than secp256k1n/2 are considered invalid. The pre-compiled ECDSA recovery contract remains unchanged and accepts a higher value of s; when there is a contract that needs to restore the old Bitcoin signature, etc. Next, this feature comes in handy.” [Source]
EIP 2.3: It is clearly stipulated that if a contract does not receive enough Gas to complete the entire operation process, the contract creation will “fail” instead of creating a blank contract, so that the possible output result of the transaction will be changed from the original [success], [Failure] or [Empty] becomes [Success] or [Failure].
EIP 2.4: Eliminates the incentive for users to create blocks with higher difficulty values, thereby increasing the probability that the network can mine blocks. This upgrade stabilizes the block generation time at 10 to 20 seconds, and restores the entire network to the target block generation time of approximately 15 seconds.
“A new opcode, DELEGATECALL, is added to 0xf4. 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 created call is the same as the original The call has the same sender and value.” [source]
EIP-8: Upgrade for the future
EIP-8 is an improvement proposal for the future network upgrade plan. This improvement ensures that all client software on the Ethereum network can adapt to future network protocol upgrades.
DAO Fork | July 20, 2016
In addition to the planned Ethereum upgrade and hard fork, there is also an unplanned DAO event worth remembering. In 2016, a decentralized autonomous organization called The DAO raised $150 million through a token sale. In June, The DAO was hacked and $50 million worth of ETH was robbed by an unknown hacker. Most of the participants in the Ethereum community decided to implement a hard fork to restore the stolen ETH in their wallets and fix the loopholes. However, the hard fork has not been unanimously recognized by all participants in the community, and some participants continue to mine and trade on that original chain. The original chain that has not recovered the stolen ETH is called Ethereum Classic (ETC). Over time, its security gradually decreases and the difficulty of mining is also decreasing. Most of the participants in the community and the core developers continue to work on the fork chain-the stolen ETH is returned to their original holders-this is the Ethereum blockchain as we now know it.
Metropolis: Byzantium Fork | October 16, 2017
The next step in the Ethereum roadmap is called Metropolis, and it will be divided into two phases: Byzantium and Constantinople. The Byzantine fork was activated at a height of 4.37 million blocks in 2017 and contains the following 9 EIPs:
Adjust the block difficulty evaluation formula to include the uncle block in the reference range. The new formula makes the currency issuance rate more stable and ensures that the uncle block cannot be manipulated to force an increase in the issuance rate.
For blocks upgraded by the Byzantine hard fork, a status field will be included in the transaction receipt to mark success (assignment of 1) or failure (assignment of 0).
The “difficulty bomb” is a mechanism: once activated, the cost (ie difficulty) required to mine a new block will increase until the difficulty reaches the impossible to mine a new block. Once this difficulty is reached, the Ethereum network will “freeze”. The difficulty bomb was originally incorporated into the Ethereum network in September 2015, aiming to help the Ethereum network transform from PoW to PoS. Once the PoS mechanism is implemented, miners can theoretically still choose to support the old PoW chain, which will cause the community to split and produce two independent chains-one is maintained by the staker and the other is maintained by the miners. maintain. In order to prevent this from happening, the difficulty bomb mechanism came into being, which will make the mining efficiency become lower and lower, and ultimately ensure that the entire network completes the transition to the PoS mechanism without hard forks. In this 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 specific content of the remaining Byzantine fork EIP (140, 196, 197, 198, 211, 214) can be found here.
Metropolis: Constantinople | February 28, 2019
The second phase of the Metropolis upgrade, Constantinople, was originally scheduled to go live at the 7.08 millionth block height in mid-January 2019. On January 15, an independent security audit company called ChainSecurity released a report stating that one of the five major system upgrades would give attackers a chance to steal funds. In response to the issues raised in the report, Ethereum core developers and other members of the community voted to suspend the upgrade until the security issue is resolved. At the end of January, the core developers announced that they would activate the upgrade at a height of 7.28 million blocks. On February 28, the Constantinople hard fork was executed at a height of 7.28 million blocks. The Ethereum network is currently in the Constantinople phase.
EIP 145: Positional movement instruction
The bitwise move instructions are added to the Ethereum Virtual Machine (EVM). These instructions allow the bits in the binary information to move to the left and right. This improvement means that the bitwise mobile operation of smart contracts will be 10 times cheaper.
EIP 1052: Smart Contract Verification
A smart contract can verify itself by checking the hash value of another smart contract. Before the fork of Constantinople, smart contracts had to extract the complete code of another contract for verification. This verification method would consume a lot of time and resources.
EIP 1014: CREATE2
The implementability of the state channel becomes stronger. State channel is an Ethereum expansion solution based on off-chain transactions.
EIP 1283: SSTORE
Reduce the gas cost of SSTORE operation. This move makes the cost of multiple update operations in the transaction lower.
EIP 1234: Block rewards and suspend difficulty bomb
It consists of two parts: reducing block rewards and suspending difficulty bombs.
Reduced block rewards
The block reward for miners decreased from 3 ETH per block to 2 ETH. This initiative is called “Thirdening”.
Difficulty bomb suspended
EIP 1234 postponed the activation of the difficulty bomb again for twelve months, at which time there will be another vote.
Prospects: Istanbul and Serenity
Looking to the future, “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 Istanbul hard fork will focus on decisions about ProgPoW. Serenity will complete the conversion from PoW to PoS, as well as some other important upgrades. Of particular concern are: the introduction of the concept of beacon chain and fragmentation, and the replacement of the Ethereum Virtual Machine (EVM) with eWASM (Ethereum-flavored Web Assembly). All upgrades of Serenity will be carried out in phases. At the same time, Ethereum 1.x will also be continuously improved 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.Editor’s note: Unfortunately, the future that the author is looking forward to here has not yet become a reality as of this proofreading (July 2021). At the end of 2020, the beacon chain was officially launched, and ETH holders can lock their funds on the Ethereum blockchain to become validators of the beacon chain and participate in the consensus process of PoS. However, the beacon chain does not yet have any functions, and even the rewards of the beacon chain verifiers cannot be transferred, and the funds cannot be withdrawn. The beacon chain still needs to go through a process called “Merge” before it can actually be used to carry activities on the blockchain currently carried by the PoW consensus mechanism. (There is no clear timetable for the implementation of “Merge”. It is optimistic that it may be in the first quarter of next year.)In addition, after the original publication, the Ethereum blockchain has undergone several hard forks. We have added the following information about these hard forks:”
Istanbul ” upgradeThe activation height of the Istanbul fork is 9,069,000 block, and the activation time is October 8, 2019 (UTC time).Upgrade content:
- EIP-152: Add BLAKE2 compression function F precompilation function
- Add the function of verifying Equihash PoW in the Ethereum contract. This opens up the possibility of relay transactions and atomic swap transactions between Zcash and Ethereum.
- EIP-1108: Reduce pre-compiled gas consumption of alt_bn128 curve
- Let zk-SNARKs computing become cheaper, so that cheaper expansion and privacy applications can be developed. Examples include Matter labs, Aztec Protocol, Rollup, and Zether.
- EIP-1344: ChainID opcode
- Add a way for contracts to track their own Ethereum chain, so that contracts (especially those used by Layer-2 schemes such as state channels and Plasma) can track the correct Layer-1 chain, especially during hard forks.
- EIP-1884: Reprice the opcodes related to the size of the Merkel tree
- The Gas consumption of some EVM opcodes has been changed to prevent spam transaction attacks and better balance the computational overhead of each block. On the Ethereum network, the amount of Gas consumed by an operation often matches the computational cost of the operation. This EIP increases the consumption of some computationally intensive but low gas consumption opcodes, namely SLOAD, BALANCE and EXTCODEHASH.
- EIP-2028: Reduce gas consumption of transaction data
- Make the application of zk-SNARKs and zk-STARKs cheaper by reducing the gas consumption of calling data in the transaction. Doing so can also help Layer-2 solutions increase throughput. Starkware is an example.
- EIP-2200: Change the gas net consumption measurement method of SSTORE operation
- Change the gas consumption metering method of EVM data storage operations, so that the contract can introduce some new functions, such as re-entry lock and same-contract multi-send.
Muir Glacier ” upgradeThe activation height of the Istanbul fork is 9.2 million block, and the activation time is January 2, 2020 (UTC time).Upgrade content:
- EIP 2384
- Delay the difficulty bomb by 4 million blocks, about 611 days.
Berlin ” upgradeThe activation height of the Istanbul fork is 1224 4000 block, and the activation time is April 15, 2021 (UTC time).Upgrade content:
- EIP-2565: ModExp gas
- Reduce gas consumption using ModExp (0x00..05) pre-compiled modules
- EIP-2929: Increase Gas consumption of state access opcodes
- Increase the gas consumption of using SLOAD, *CALL, BALANCE, EXT* and SELFEDESTRUCT for the first time in a transaction
- EIP-2718: Standardized transaction envelope
- Introduce a new type of transaction as an envelope to better support multiple transaction types
- EIP-2930: Optional access list
- A new type of transaction is added. This type of transaction will contain an access list: a list of addresses and storage item keys that the transaction plans to access. This can alleviate the increase in Gas consumption caused by EIP-2929 to a certain extent.
See: https://ethfans.org/posts/the-berlin-upgrade-overviewUpcoming “London” upgradeThe time is undetermined.The content has been determined:
- EIP-1559: The fee market reform of the ETH 1.0 chain
- EIP-3198: BASEFEE opcode
- EIP-3541: Reject new contracts beginning with 0xEF bytes
- EIP-3554: The difficulty bomb postponed to December 1, 2021
For more details: https://ethfans.org/posts/london-upgrade-overview
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/looking-at-the-evolution-of-the-ethereum-protocol-from-previous-upgrades/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.