Read Ethereum in one article: Past, Present and Future

Source: Crypto Valley Live, original title "Comprehensive Understanding of Ethereum 2.0"

Author: sheinix @ The Startup

Translation: Lisa Liu

Editors: Sonny Sun, Fan Xuxin

Ethereum Network

Back in 2013, Vitalik Buterin, a BTC programmer and publisher of BTC Magazine, published an Ethereum white paper. The goal of Ethereum is to extend the application of blockchain technology beyond payment.

Ethereum is a universal blockchain. Like many other blockchains, it is open source, public, and has its own currency: Ether or ETH. A universal blockchain means that there is a decentralized platform that provides a programming language that developers can use to create smart contracts. Smart contracts run on every node of the network, making it possible to develop distributed applications (DApps). These Dapps inherit the remarkable features of blockchain technology, namely tamper resistance, transparency, reliability and security.

Ethereum programming language

Solidity is the main programming language on Ethereum created by Dr. Gavin Wood. It is an object-oriented high-level programming language that can be used for smart contract development and is heavily influenced by Python and JavaScript languages. This is intentional, so developers can easily start developing smart contracts directly.

Solidity is a "Turing complete" language, which means it has all the capabilities to develop complex use cases. In contrast, BTC's programming language Scrypt is not "Turing complete" in design. For smart contracts, Solidity is the most popular programming language. Every developer should study it if they want to start developing smart contracts.

Vyper is another programming language created by the Ethereum team, which runs on the Ethereum Virtual Machine ("EVM"). It is designed to simplify the writing of smart contracts while making it easier to read. The key difference from Solidity is that Vyper does not include some object-oriented features, which makes Vyper more secure because developers have less room to make mistakes and introduce bugs.

Gas & ETH Price

Gas is a measure of the cost of executing a transaction on an Ethernet network. Each time a smart contract runs a transaction, it consumes Gas. These Gases need to enter smart contracts while the transaction is running. The way to pay for Gas is to use ETH.

Ethereum's problems and challenges

The main issue facing Ethereum is scalability. The network is considered the "world computer", but currently it can only handle about 15 transactions per second, while private companies like Visa can process up to 45,000 transactions per second. If Ethereum wants to achieve large-scale applications, this is an urgent problem.

To illustrate why this is important, we can look at the example of CryptoKitties. In 2017, this project was so popular that transactions executed on smart contracts blocked the network. As a result, there are considerable delays in processing transactions.

In addition, security has been a major issue for Ethereum. Mainly because of poor development practices in some projects, leading to hacking and loss of funds. Ethereum needs to provide developers with tools for better security in smart contracts without affecting its Solidity.

The price of ETH and the cost of Gas make the transaction process very fragile, and in some cases it is not worth it. Especially for Ethereum validators, they currently have to spend a lot of power to run the nodes and the PoW consensus algorithm. In the process, they have not received much return.

Lack of public awareness and poor DApps user experience are issues that need to be addressed in the future, and this is the key to achieving large-scale applications.

Ethereum status

The Ethereum ecosystem has been developing steadily over the past few years, although it still has many problems. ETH is the second largest digital asset in the world by market capitalization. Solidity is the most popular open blockchain programming language and has the most famous developer community (this is an indicator of the health of the project). The more developers a platform has, the more valuable projects you can develop on it. Over the years, we have seen many excellent projects emerging on Ethereum, and of course, there are also poor people and pure scam projects.

In 2017, we saw a significant increase in the number of projects, mainly reflected in the first coin financing boom and the bullish market. But the reality is that only a few of these projects have survived and will be less and less in the next few years.

The general public has not adopted DApps, mainly because the platform is not mature enough and the public lacks a general understanding of the technology. Nevertheless, in the past year, a lot of projects related to gaming, gambling and finance have developed rapidly and gained a good user base.

source: stateofthedapps.com

source: stateofthedapps.com

Ethereum development stage

The development plan for Ethereum is divided into four different phases. Each phase is to introduce more features and fix issues. Each step also includes a "sub-version", a so-called "hard fork" that changes functionality and features in a way that is not backward compatible.

The following timeline is the phase of Ethereum development originally planned:

  • Block # 0 — Frontier
This is the initial development phase of Ethereum from July 30, 2015 to March 2016.
  • Block # 200,000 — Ice Age
Ice Age is a "hard fork" that introduces an exponential increase in difficulty to facilitate the smooth transition from PoW to PoS when everything is ready.
  • Block # 1,150,000 — Homestead
The second phase of Ethereum was launched in March 2016.
  • Block # 1,192,000 — DAO
The infamous DAO case. This is a hard fork that compensates the victims of DAO hacking and caused Ethereum and Ethereum Classic to split into two opposing systems.
  • Block # 2,463,00 — Tangerine Whistle
Another hard fork is used to change the gas calculation of certain I / O-heavy operations and clear the accumulated state after a DoS attack that uses the low gas cost of these operations.
  • Block # 2,675,000 — Spurious Dragon
The hard fork solves the problem of DoS attacks, and at the same time, another state is completely cleared. It is also a protection mechanism for replay attacks.
  • Block # 4,370,000 — Metropolis Byzantium
This is the third phase of Ethereum development, which started in October 2017. Byzantium is the first of two major forks in Metropolis.
  • Block # 7,280,000 — Constantinople
This is the second hard fork on the Metropolis stage and was completed in February 2019. This hard fork also includes other changes to fix a security issue code-named Petersburg.
  • Block # 9,056,000 — Istanbul

This is another hard fork that is planned to be activated on December 4, 2019 and will include more security fixes and incentives to move from PoW to PoS algorithms.

Serenity — Ethereum 2.0

Serenity is the final stage of the development of Ethereum. It will introduce Ethereum 2.0-a new Ethereum blockchain, complete PoS integration, and introduce a new Ethereum virtual machine, in addition to many details changes.

There are many discussions and rumors about when Serenity will be available. This huge phase will be divided into different sub-phases:

Serenity roadmap

  • Phase 0: Beacon Chain (Q1 / 2020)
  • Phase 1: Shard Chains (2021)
  • Phase 2: New Ethereum Virtual Machine eWASM (2021)
  • Phase 3: Continued Development (2022)

Ethereum 2.0

The term "Ethereum 2.0" describes all updates from Serenity, which will make Ethereum more scalable, faster, and better blockchain state. As Ethereum researcher Danny Ryan said, the main design goals of Ethereum 2.0 are:

  • System resilience: The goal is to keep the system running even when the nodes are down or the entire network is fragmented and dismembered.
  • Security: The goal is to use encryption and design mechanisms to allow as many verification nodes as possible to fully participate in verification in each unit of time.
  • Simplicity: The lower the system complexity, the better, and you can even sacrifice some efficiency for this.
  • Persistence: Try to choose components that ensure quantum security for your system. If a component cannot guarantee quantum safety for the time being, then choose a component that is easily replaced. When you have quantum-safe components in the future, you can easily replace these temporary components with quantum-safe components.
  • Decentralization: Its goal is to allow ordinary laptops to process / verify O (1) sharding tasks with resources of O (C) complexity (including any system-level verification such as in the beacon chain Verification). This will allow more low-end devices to participate in the network.

To understand how this is done, let's look at the details of each Serenity stage:

Stage 0: Beacon Chain

The beacon chain will be a separate blockchain from the Ethereum blockchain. This new chain will use Proof of Stake (PoS) as the consensus mechanism algorithm, which will run in parallel with the main Proof of Work Consensus (PoW) Ethereum blockchain. Initially, for simplicity, the blockchain did not support smart contracts or accounts.

At the time of writing, Ethereum is using a Proof of Work (PoW) consensus mechanism algorithm, very similar to the algorithm used by BTC. In Ethereum, this algorithm is called Ethash. On the beacon chain, we will see a new PoS algorithm called Casper. In the past few years, Casper's plan to replace Ethash has been postponed several times, which requires some interventions to resolve the difficulties and delay the obsolescence of PoW. Now we finally have the beacon chain.

A short description of PoS:

According to the PoS consensus mechanism, the blockchain will track a set of verifications. Anyone who holds the blockchain's basic digital assets (Ether in this example) can complete their Ethereum as a deposit by sending a specific type of transaction. verification. The validator takes turns proposing and voting on the next valid block. The weight of validators' votes depends on the size of their deposits (bets). If most validators reject the blocks they build, then the validators are at risk of losing their deposits. Instead, each time a validator receives a block that is accepted by the majority, they receive a small reward that is proportional to the shares they hold. As a result, PoS forces validators to act honestly and adhere to consensus rules through a reward and punishment system.

ETH2: New Ether

Another feature of Phase 1 is the introduction of ETH2, a new asset verified on a new beacon chain. This new ETH2 will be created as a reward for verifying transactions on the beacon chain, and any ETH1 can buy it. Initially, there was no way to remove ETH2 from the beacon chain. If someone wants to verify the new chain, they need at least 32 ETH to mortgage the original chain.

Phase 1: Shard Chains

Sharding is a scalable technology that allows transactions to be performed in parallel. This is to divide the network into multiple shards to help expand the size of the transaction, allowing the network to handle many transactions at the same time.

Vitalik Buterin expressed the following views on "sharding":

"Imagine Ethereum being split into thousands of islands. Each island can do its own thing. Each island has its own unique characteristics and everyone belongs to that island. For example, accounts can interact with each other, They are free to indulge in all its features. If they want to engage with other islands, they will have to use some kind of protocol. "

Shards will be introduced on the beacon chain, with an initial size of about 100. Validators will verify transactions from their shards, and in the first phase, they will not approve any smart contracts, accounts or assets.

Although sharding will bring more scalability, there are some setbacks to consider. Validators have a small transaction pool that needs to be verified, which makes 51% attacks easier because they only require 51% of computing power (or equity) instead of the entire network.

This technique can also lead to higher centralization, as each shard can be verified by a small group of validators. It will be interesting to see how this phase is implemented, as it still requires thorough testing to ensure that all validators are randomly selected to avoid centralization and any risky attacks.

Phase 2: New Ethereum Virtual Machine eWASM

What is EVM

All nodes on the Ethereum system need to run smart contracts to perform final transactions on the blockchain. The Ethereum Virtual Machine (EVM) allows the execution of these smart contracts.

EVM is the heart of the Ethereum network and the core of the deployment and execution of smart contracts. It can be thought of as a globally distributed computer containing millions of executable objects, each with its own permanent data store. Technically speaking, it is a machine language instruction based on stack execution. Smart contracts are written in a "high-level" language such as Solidity and compiled into bytecode for execution on EVM.

Problems with current EVM

One of the main problems with current EVM is that it processes transactions sequentially. As PoS and shards change, transactions need to be processed in parallel, which is not the case with current EVMs.

New EVM

The new EVM is called eWASM and stands for Ethereum WebAssembly. WebAssembly is an open standard that defines a portable binary code format for executable programs. This new architecture for EVM will provide better performance and will likely support smart contracts, accounts, status, etc. on the new blockchain. The development of eWASM is currently at a very early stage and is scheduled for release in 2021. A lot of research is still needed.

Phase 3: Continued Improvement

"Continuous improvement" is a code name that includes all future changes, fixes, and improvements from the previous stages, and more that follows. Unfortunately, there is not much information about this stage, as it was originally planned to start in 2022. What we do know is that the following technologies will be implemented:

  • Cross-shard transactions;
  • Lightweight client
  • Hypersquare chart
  • Build closer ties;

What does Ethereum 2.0 mean for the crypto economy?

The most important thing about understanding Ethereum 2.0 is that it is not a change that can happen overnight. The initial release plan was divided into 4 phases, but no one said that development ends here, or there will be no delays or changes in the process. There is no final version of each software, and there is always room for improvement and correction.

Ethereum is one of the most important projects in the field of cryptography, and it is also dependent on many other projects. It is strongly supported by the development community and businesses. Many people have invested heavily in the future of Ethereum, so they are under great pressure. If this team succeeds in achieving this, we will have a fully scalable universal blockchain that will be closer to the original Ethereum slogan: "Global Supercomputer" and will show the world the "Blockchain Dream" "Is possible. This will attract more developers and investors to continue to build star projects on this basis.

In the next few years, focusing on the development of Ethereum 2.0 is the key to understanding how the current project of the Ethereum 1.0 blockchain migrates to the new chain and the major changes that will occur in the crypto space. Only time can tell us when and how these events will happen.