Popular Science | A Guide to Ethereum 2.0 Phase 0 for New Contributors
Editor's Note: This article comes fromEthfansEditor's Note: This article comes fromMediumintroduce

introduce
introduce
This article is intended to help those who are getting into ETH 2.0 for the first time and want to get involved in the development (Stage 0 at the time of writing).
stage
stage
Justin Drakestage
This nicely sums up the development phases of Ethereum 2.0:
Staking: Introduce validators through smart contracts deployed on Eth 1
Phase 0 - System: Beacon Chain, which is the main part of this article
overview
overview
Goal: Transaction Ordering
Goal: Transaction Ordering
parallel processing
parallel processing
Under the PoW mechanism, a collection of recent transactions is packaged into blocks. The difference between PoW and PoS is how the nodes decide the order of the blocks, that is, how to link the newly mined blocks.
In addition, the main chain of Ethereum 1.0 is just a single chain composed of blocks, while Ethereum 2.0 is composed of many fragments, and several parallel blockchains (shard data chains) will be created, but this will have to wait until Phase 1 can only be achieved. In order for these shards to work together, there will be another chain to unify the valid blocks of each shard. This blockchain dedicated to running the system is called the beacon chain.
The beacon chain is built by the beacon chain nodes
The beacon chain is built by the beacon chain nodes
A networked computer running the Ethereum 2.0 client beacon chain node software is a node on the Ethereum 2.0 network. In Ethereum 1.0, interconnected nodes create/share new blocks by sharing information. Because it is necessary to wait for all nodes to reach a consensus on the latest block mined on the chain, the transaction confirmation requires a little delay.
random block
random block
Decentralized systems need to be well designed without introducing potentially harmful properties of centralized financial systems (see the Bitcoin whitepaper).
One aspect is to avoid centralization/corruption by ensuring that a large number of people in a distributed network have the opportunity to generate/validate data:
It must be ensured that the nodes proposing the block are randomly selected from the network
Creation of valid blocks is rewarded and/or invalid blocks are penalized
Proof-of-work uses computing power to achieve this:
Periodic (15 seconds) random block generation between block proposers
Creating a valid block requires a certain economic cost (thus having the opportunity to get block rewards)
Proof of Stake achieves this by staking ETH (currency):
Every slot (6 seconds) randomly assigns validators (i.e. participants who have pledged ETH)
Verifier
Verifier
Verifier
A validator is an individual address that stakes 32 ETH (via a smart contract on the Ethereum 1.0 main chain) to participate in Ethereum 2.0. Validators are frequently and randomly assigned the task of signing what they believe to be valid blocks in new proposed blocks.
After Ethereum 2.0 gathers a group of verifiers, these verifiers will be pseudo-randomly shuffled and then formed into committees. In each period, one or more committee members are assigned to a time slot to participate in the verification work.

image description
-Validators, Committees, Slots, Periods-
Beacon Chain Node
Beacon Chain Node
In addition to managing the list of validators who have pledged 32 ETH, beacon chain nodes have the following responsibilities:
Guaranteed slot length (6 seconds)
create randomness
Allocate a (validator) committee for each slot
hardware/software
interconnected computer
interconnected computer

A large number of validators (minimum 10,000) need to be assembled for high availability and sufficiently randomized block validation. Ideally, these validators are spread across multiple validator clients connected to one or more beacon chain nodes that make up the Ethereum 2.0 network.catkuro)-
- The beacon chain nodes are connected through the network; the validator client and the beacon chain are connected through the network or locally (source:
Hardware running beacon chain nodes communicates with each other, sharing signed blocks and proofs. A validator client connects to its trusted beacon chain nodes in order to know which slot its validator is assigned to. Additionally, validator clients request data (blocks/proofs) for the validators they manage.
The economic incentives for running a beacon chain node, the ability to run both a beacon chain node and a validator client on the same machine, and trust issues for the beacon chain are beyond the scope of this article. At the time of this writing, these questions remained unresolved.
The simplest configuration is a beacon chain node with a validator client connected to it that manages only one validator. However, given that the requirements to run a beacon chain node are high, while the requirements to run a validator client are much lower, it is likely that validator clients will outnumber beacon chain nodes by a large margin. The verifier client only needs a home PC with better performance or a Raspberry Pi, so there may be only a few verifiers on a verifier client.
From software to data
From software to data
If you want to help develop Ethereum 2.0 clients in the future, it is good to understand how different software connects and communicates with each other. The Phase 0 specification doesn't touch on this, and focuses on the beacon chain as data, which is a layer higher than the "node" concept.
Follow up. . .
Follow up. . .
Hope this article can give you a better understanding of the specification and implementation of Ethereum 2.0.
There are a few more things to explore:How to deposit the validator's deposit into the smart contract of Ethereum 1.0, and let the beacon chain node discover (honest verifier
)of.How accounts are created on Ethereum 2.0, for example, in Lighthouse。
highly recommend thisvideovideo
specification
specification
specificationhttps://github.com/ethereum/eth2.0-specs#ethereum-20-specifications
Ethereum 2.0:https://github.com/sigp/lighthouse/#lighthouse-ethereum-20
Lighthouse implementation:https://github.com/protolambda/eth2-docs#justification-and-finalization
explain
References
Beacon Chain: Vitalik Buterin and Justin Drake (2018.7):video


