800+ verifier node! What does the release of the Ethereum 2.0 test network mean?

Foreword: With the release of the Ethereum 2.0 beacon chain test network by teams such as Nimbus and Prysmatic Labs, the development progress of Phase 0 of Ethereum 2.0 continues to make new progress. The significance of these test networks is not just a glimpse of the "one news" that has a bright future. They have a future development for Ethereum, a blockchain network that protects billions of dollars in assets. Significance. In this regard, cryptocurrency researcher Mohamed Fouda will discuss the importance of opening the Ethereum revolution based on the latest Sapphire test network released by the Prysmatic Labs team.
Earlier this month, the Prysmatic Labs team released the most complete public test network, Sapphire, for phase 0 (the beacon chain phase) of the Ethereum 2.0 network, which uses the Prysm client.
The release of the Sapphire test network was warmly welcomed by the Ethereum community. Many people immediately started running the software and reporting the issues to the Prysmatic Labs team. The number of certifier nodes on the Ethereum 2.0 test network quickly exceeded 800. This shows that the Ethereum community is very keen to contribute to the highly anticipated Ethereum 2.0 network upgrade.
“Woo! I just became a certifier for the ETH 2.0 test network. @prylabs is great! The whole process is smooth, except that I have encountered an error and restarted my node. You can also participate in the following instructions: alpha .prylabs.net/participate"

While we are excited about it, it is necessary to let the wider Ethereum community know about the Ethereum 2.0 test network: Why is the release of the Prysm test network an important milestone? Why did it take a long time to achieve this milestone?

This article will attempt to uncover the mystery of the relevant technical details and clarify it in a simple language. We will first discuss the differences between Ethereum 2.0 and the current Ethereum protocol, and then explain the function of the test network in depth.


Why does Ethereum 2.0 upgrade take a long time?

To answer this question, let's start with a simple but very important fact:

Ethereum 2.0 is not an upgrade to the current Ethereum network. Instead, it is a comprehensive reform and redesign of Ethereum .

Many people are not aware of this fact and may even disagree with this description. So it is important to clarify this.

1. The new Ethereum 2.0 network no longer uses the PoW Consensus Protocol, but instead uses a new and innovative PoS consensus mechanism, Casper . [1]

2. Current PoW-based blockchains (including current networks such as Ethereum and Bitcoin) use a simple method to choose how the blockchain works and which chain to follow when divergence (forking) occurs — that is, follow the longest chain. The PoW chain is based on the chain with the most cumulative workload, which is the chain that uses the most computational power. In contrast, since Ethereum 2.0 uses the PoS mechanism, it introduces a set of fork selection rules, LMD GHOST [2], which will be used to determine which chain is the correct chain.

3. The current Ethereum network is a blockchain consisting of blocks (DAG data structures), while the Ethereum 2.0 network will use 1024 parallel shard chains. This is the core of Ethereum's ambitious plan to improve its scalability, which is what we call Sharding. These different slice chains will be able to communicate with each other, all of which will be controlled and verified by a main chain called a beacon chain . This beacon chain is similar to the stem of a plant with 1024 identical branches (sliced ​​strands).

4. Due to these fundamental changes, ETH holders will not be able to simply use their ETH tokens on the new Ethereum 2.0 network. Instead, they will have to destroy the current ETH (by destroying ETH to a smart contract on the current Ethereum 1.0), in return for the same number of ETHs on the beacon chain . This transfer mechanism is handled by a smart contract on the current Ethereum 1.0 chain, which is monitored by the beacon chain (to verify whether the user has sent ETH to the contract and to prevent double-flowering issues, etc.).

There are many differences between Ethereum 1.0 and 2.0, and some of the main differences are discussed above. This shows that the delivery of Ethereum 2.0 will require a lot of work .


Why is the release of the Ethereum 2.0 test network important?

As can be seen from the differences discussed above, there are many components in the Ethereum 2.0 design that need to be combined and adjusted to make the entire new network work. Many of Ethereum 2.0's concepts are brand new and have never been tested in any public blockchain before, such as the Casper consensus mechanism .

Other protocols that attempt to achieve similar goals (such as Cosmos and Polkadot) take more than two years to complete the run design, and they have the flexibility to start from scratch . These projects don't have to worry about moving ETH and other ERC20 tokens from the old chain to the new one, nor do they have to worry about the need to reduce the impact of related changes on dApp developers. The Ethereum community needs to see the process of Ethereum moving from the old chain to the new chain to increase confidence in this roadmap .


What is implemented in the Sapphire test network?

Let's go back to the four main differences between Ethereum 1.0 and 2.0 mentioned earlier. The Sapphire test network implements #1, #2, and #4, and partially implements #3 . Specifically, the Sapphire test network uses the new fork selection rules to implement the Casper PoS consensus mechanism, implements the beacon chain, and implements an ETH 1.0 token to be transmitted to the ETH 2.0 generation to be used on the test network. The mechanism of the currency. The Sapphire test network has not implemented 1024 shards and has not implemented a cross-sliced ​​communication mechanism .

Another notable missing part of the Sapphire test network is the implementation of the Ethereum Smart Contract feature , which is planned to be implemented in Phase 2 of the roadmap. Because the smart contract feature requires the migration of the Ethereum Virtual Machine (EVM) or the implementation of the WASM in the Ethereum 2.0 protocol. [3]


How does the test network work?

Ethereum 2.0 is a PoS network that runs network and production blocks by validators involved in staking. Therefore, the first challenge is to assign tokens to the verifiers to motivate them to run the entire network .

The Ethereum 2.0 network will eventually use the ETH tokens currently on the Ethereum 1.0 chain, which need to be transferred to the new Ethereum 2.0 network .

To implement and test this transport function, the developers of the Prysmatic Labs team used an Ethereum 1.0 test network called Goerli (in the Goerli test network, anyone can get any number of ETH test tokens ), and The team also developed a Deposit Contract for testing, which will store indefinitely any ETH test tokens sent to and stored in it.

After the user stores the token in this Deposit Contract, the beacon chain will issue the same number of ETH 2.0 test tokens . For the sake of simplicity, we will refer to these ETH 2.0 tokens as: Beacon Chain ETH (bETH) .

Transfer of ETH test tokens from the Ethereum 1.0 test network (ie Goerli test network) to the Ethereum 2.0 test network

The procedure for transferring ETH 1.0 to generate bETH is as follows :

1. First the verifier installs the Prysm software for the Ethereum 2.0 network and creates an account ( certifier account ) on Ethereum 2.0. Creating an account will generate "Deposit Data" for linking the Ethereum 1.0 wallet to the generated Ethereum 2.0 account.

2. On the Ethereum 1.0 Goerli test network, the user sends the 3.2 ETH test token to the Deposit Contract and participates in the verification of the Ethereum 2.0 test network. This process will destroy these 3.2 ETHs. (Note: In the future Ethereum 2.0 network, users need to send 32 ETH to become a verifier.)

3. Next, the Ethereum 2.0 beacon chain checks the deposits in the Deposit Contract and issues the same number of bETH tokens in the newly created certifier account. Now, the verifier can participate in the verification process after waiting for a security time delay. This delay is to enhance the security of the beacon chain.

4. After that, the certifier client begins to participate in the consensus mechanism and obtains the reward through verification. Of course, it is also slashed because it does not follow the protocol rules.


What is the certifier's task?

In Ethereum 2.0, a new block is generated every 6 seconds (the current Ethereum PoW network is around 15 seconds). In each block, a certifier in the certifier pool will propose a block, and many other certifiers will look at the proposed block and attest its correctness. In each subsequent block, the block will be proposed by a different verifier and a different set of verifiers will prove the correctness of the proposed block.

For each 64 blocks generated (called an epoch), all verifiers (whether beacon chains or certifiers on the 1024 slice chain) will be re-scrambled to assign a new zone to the next epoch Block proposers and attesters. Block proposers and certifiers can be called verifiers . When redistributing the verifier, the random number generation technique will be used, essentially to prevent the verifier from colluding, thereby enhancing the security of the protocol.

The certifier client needs to remain online to perform the tasks assigned to them . When the verifier completes these tasks honestly, they receive a reward for the newly minted bETH token; if the verifier takes a malicious act, is conspiring or is offline, the token that the verifier pledges before will be fined. When a certifier's balance is reduced below the minimum threshold (3.2 bETH in this test network), the certifier will not expel the certifier pool and will not be able to participate in the verification.


What is the next job?

The Sapphire test network is only the first step to arriving at the Ethereum 2.0 destination, which is only the stage 0 of the Ethereum 2.0 roadmap . Before Ethereum 2.0 is fully operational, there are two more phases to complete: Phase 1 and Phase 2.

But even in phase 0, there is a lot of work to do before phase 0 starts on the main network .

First of all, we are still in the early stage of the test network, there are still a lot of problems, bugs and optimizations to be solved.

Second, the test network is just a single client test network , ie only the Prysm client can be used in the Sapphire test network. Other Ethereum 2.0 client development teams (such as Nimbus [5] and Lighthouse [6]) are working on other clients of the Ethereum 2.0 network, and the compatibility between these different clients is achieved by implementing a multi-client. Prerequisites for testing the network.

Third, the specification of Phase 0 allows bETH to be transferred between different accounts. This feature is not yet available .

Finally, the Ethereum Foundation's research team is still making minor changes to the Phase 0 specification . It is expected that the Phase 0 main online line is expected to be implemented by the end of 2019. Prior to this, these specifications need to be finalized, fully implemented and reviewed in multiple Ethereum 2.0 clients.

In summary, the launch of the Sapphire test network is a key step in the delivery of the Ethereum 2.0 roadmap . Its importance stems from the involvement and testing of the Ethereum community to clarify issues and bottlenecks, thereby guiding Ethereum 2.0 developers to address these issues. The launch of the test network has greatly enhanced the community's confidence in the Ethereum 2.0 roadmap . In addition, the Ethereum Foundation announced that it will allocate $19 million to support research and development of Ethereum 2.0 and other scalable solutions. These resources will make development and testing work faster.

The links involved in the body:

  • [1]https://arxiv.org/abs/1710.09437
  • [2]https://github.com/ethereum/eth2.0-specs/blob/dev/specs/core/0_fork-choice.md
  • [3]https://webassembly.org/
  • [4]https://goerli.etherscan.io/address/0x399e76005f408301556525b599ded6dc3b0c9349
  • [5]https://our.status.im/the-nimbus-mvp-testnet-is-here/
  • [6]https://lighthouse.sigmaprime.io/update-09.html

Original link: