Large distributed multi-client blockchain launch events are uncommon. Yesterday (July 30) was the 5th anniversary of the birth of ETH 1.0: it can be seen that such a major birthday event is even rarer.
ETH 2.0 testnet Medalla, which went live on August 4, may be the only preview before the official launch of the beacon chain later this year.
The creation mechanism of ETH 2.0 is a bit complicated, which is what we call the blockchain self-bootstrap process. I'm going to explain it in detail. For the actual technical specification, you can see my comments in "ETH 2.0 Specification Notes".
In the following, "genesis" refers to the moment when the beacon chain goes live and starts processing attestations and blocks, which is the beginning of slot 0 of epoch 0.
(If you don't want to read the long article, you can jump directly to the "Scene" section and start reading.)
Here is a little background first. Anyone can become an ETH 2.0 validator by sending a deposit of 32 ETH and some other data to the ETH 1.0 contract. For example, you can become a validator on the Medalla testnet through the Lanchpad portal. Note that on the Medalla testnet, we are using the Goerli testnet ETH! Do not try to send mainnet ETH to the contract. Of course, when the beacon chain is officially launched, we will use the real mainnet ETH.
Beacon chain ETH2 contract addresses pledged 15.89 million ETH: On January 5th, according to data monitoring on the Tokenview chain, the current beacon chain ETH2 contract address pledge deposit is 15,891,751 ETH, an increase of 72,096 ETH in the past week. [2023/1/5 9:54:09]
Margin contracts will only react to valid deposits, i.e. single deposits of 32 ETH and above, multiple deposits totaling 32 ETH and above (additional data to be checked, e.g. cryptographic signatures). Any invalid or insufficient margin will be ignored.
In the pre-genesis phase, only beacon chain nodes will participate in the ETH 2.0 network; once the creation is complete, validators can immediately participate in the consensus mechanism. Beacon chain nodes maintain system state and communicate with each other on a peer-to-peer network.
Therefore, before genesis, there will be some beacon chain nodes listening to ETH 1.0 and monitoring the effective deposit in the deposit contract. In fact, beacon chain nodes don't need to monitor ETH 1.0 all the time: blocks on ETH 1.0 are timestamped, so nodes can catch up anytime before genesis.
As we all know, the ETH 1.0 chain can be rolled back, and transactions that were already on the chain may also become invalid due to changes in the blockchain. This is why when you transfer ETH to an exchange, you need to wait 30 blocks for the transaction to be confirmed. Rollbacks are usually small — only 1 or 2 blocks — but when the network is under attack, the rollbacks are much larger. In order to avoid a rollback of ETH 2.0, we are very careful to maintain a delay of 14*1024 seconds (about 4 hours) when synchronizing ETH 1.0. I call this the "follow distance" to ETH 1.0.
BNBChain announced to open source its Beacon Chain to achieve further decentralization: On June 17th, BNBChain announced to open source its Beacon Chain (BNB Beacon Chain) and BNBChain DEX, aiming to allow developers to reduce costs and further realize decentralized.
It is reported that the BNB beacon chain is a public chain developed by Binance and its community. It will open its verification node restrictions so that external nodes can become validators and participate in governance. Projects on the BNB Beacon Chain include BNBChain DEX, Binance Wallet, and BNBChain Staking. [2022/6/17 4:35:32]
For creation, the two most important questions are "when" and "who"? Specifically, "When will genesis happen?" and "Who will be the genesis validator?" These two questions determine the genesis state of the beacon chain, and other states are derived from the genesis state.
The general process is as follows:
Monitor margin inflows on ETH 1.0.
After waiting long enough, with enough margin, the creation state is created.
Two days later, ETH 2.0 is launched by triggering the genesis event.
Specifically, in step 2, we want to find the first ETH 1.0 block that satisfies the following two conditions: (a) enough margin is locked; (b) the timestamp in the block is not too old. Genesis state is determined by this block.
Ethereum developer: I personally predict that the ETH 2.0 beacon chain will be launched in October: On July 21, in response to Afri Schoedon’s prediction that the Ethereum 2.0 beacon chain will be released in November, Ethereum developer Evan Van Ness tweeted that , I personally think that the Ethereum 2.0 beacon chain may be launched in October. [2020/7/21]
The three main parameter settings that affect "when" and "who" are as follows:
MIN_GENESIS_TIME, refers to the earliest time when the creation event occurred. As far as Medalla is concerned, it is Unix time 1596546000, that is, Beijing time on August 4th at 9:00 pm (Tuesday).
GENESIS_DELAY is 172800 seconds, or about 48 hours. This is the time interval between the creation of the genesis state and the triggering of the genesis event. Client teams can use this time to burn the genesis state into their beacon chain node software. This way, beacon chain nodes that do not run validator nodes do not need to continue monitoring the ETH 1.0 chain. We also have time to organize genesis streams and parties
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT refers to the minimum number of valid deposits we need to lock in the ETH 1.0 margin contract before the genesis state can be created. For Medalla (and mainnet), a minimum of 16384 validators is required.
Voice | Vitalik: The official launch of the Ethereum 2.0 beacon chain may be slightly delayed: Jinse Finance live report, June 29, at the 2019 Ethereum Technology and Application Conference held in Beijing, Ethereum co-founder Vitalik Buterin and Ethereum Fang core researcher Hsiao-Wei Wang said in an interview that according to the normal development progress, Ethereum 2.0 is planned to be officially launched in early 2020. Vitalik said that the launch time of the Ethereum 2.0 beacon chain may be slightly delayed, and more depends on the community Progress, the Ethereum 2.0 testnet will be launched later this year. [2019/6/29]
Lesson learned from Medalla testnet launch: While we have time to organize the party, 44 hours is a bit of a stretch to ensure that the launch node is in good shape, that the updated client software contains all necessary information, and that it is easy for end users to use rush. We may increase the GENESIS_DELEY for mainnet.
The genesis state is generated on the basis of the first ETH 1.0 block that meets the following two conditions:
When this block is created, the number of validators must be at least 16384 (MIN_GENESIS_ACTIVE_VALIDATOR_COUNT).
Timestamp is not too old (not older than MIN_GENESIS_TIME - GENESIS_DELAY).
Dynamics | Ethereum 2.0 Beacon Beacon chain is online test network, plan to implement v0.6 specification in June: On May 9th, Preston Van Loon, co-founder of blockchain fragmentation development company Prysmatic Labs, announced the development of Ethereum 2.0 The Beacon Beacon chain test network is officially launched. He said that the current test network is publicly accessible and provides an open consensus node community. It is planned to implement the v0.6 specification of Ethereum 2.0 on the test network in June. [2019/5/9]
According to the order in which the above two conditions are satisfied, the genesis process can be completed in the following two ways:
In this case, condition 1 is satisfied first. Before the earliest genesis time, we have obtained enough margin.
According to MIN_GENESIS_TIME - GENESIS_DELAY (earliest genesis time minus genesis delay), the time point of condition 2 of Medalla is 9:00 pm on August 2 (Sunday), Beijing time.
The ETH 1.0 block we used to trigger the genesis event had to be mined after this point in time. Assume that this block was mined at 9:00:05 pm on August 2, Beijing time (5 seconds after 9 o'clock).
If the margin contract has received at least 16384 valid margins (including all margin transactions in this block), then all margins received in the margin contract are also included in the genesis state. Therefore, there are over 16384 Genesis validators on the ETH 2.0 chain. (On the Altona testnet, we set MIN_GENESIS_ACTIVE_VALIDATOR_COUNT to 640 , but the last genesis validators had 685.)
This ETH 1.0 block triggers the calculation of the genesis state. The Medalla genesis event will happen exactly 48 hours after this block's timestamp. Following the above example, it is August 4th at 9:00:05 pm Beijing time.
One thing to note is that considering the ETH 1.0 follow distance, we actually have to wait 4 hours before we get the genesis state. In other words, in the current scenario, we have to wait until 5:00 pm on August 2, Beijing time to obtain the creation status.
Summary
The genesis event will trigger a few seconds after the earliest genesis time if the minimum deposit requirement is met first. Validators who registered 48 hours before the genesis event will be included in the genesis state.
In this case, condition 2 is satisfied first. Due to the slow inflow of margin deposits, the minimum requirements were not met within the specified time.
In this case, the ETH 1.0 block we use to trigger the genesis event must contain the 16384th valid deposit. Suppose this block was mined at 8:34:56 pm on August 5th, Beijing time.
The beacon chain state will now contain 16384 validators and other valid deposits in this block. Therefore, if this block contains multiple deposits, the deposit included in the beacon chain state will be slightly higher than the minimum requirement.
The genesis time is 48 hours after the block's timestamp. Following the above example, it is 8:34:56 pm on August 7th, Beijing time.
Again, considering the following distance of ETH 1.0, we have to wait until 4 hours after this ETH 1.0 block is mined to obtain the genesis state.
Summary
If margin inflows are slow, the genesis event will be triggered 48 hours after the mining of the ETH 1.0 block containing the 16384th valid margin. The genesis state will contain at least 16834 validators, and possibly a slight increase due to the number of margin transactions included in this ETH1.0 block (bringing the total number of validators above 16834).
This article has introduced the basic content-ethexc of the ETH 2.0 creation mechanism.
If you want to become a genesis validator on the Medalla testnet, please be sure to send the deposit to the deposit contract at 9:00 pm on August 2, Beijing time!
If you do not submit a deposit before the genesis status is confirmed, you can only wait in line according to the pledge time, and you can only join the validator set after the genesis. Queues can take hours or days.
Looking forward to seeing you on Medalla!
Tags:
Jinjin Finance, August 20th The market shows that the price of YFI has risen again and exceeded 13,000 US dollars, and the price of a single token once again surpassed BTC. In fact, yearn.finance’s governance token.
As a senior old miner, although he has never dug thousands of coins, he stepped on many pits along the way.
Research report: Overview of supply transparency of mainstream currencies in Q2 2020The profiles of current cryptoassets covered in this report reflect those for which Coin Metrics manages free-floating supply value.
Large distributed multi-client blockchain launch events are uncommon. Yesterday (July 30) was the 5th anniversary of the birth of ETH 1.0: it can be seen that such a major birthday event is even rarer.ETH 2.
What happened to Bitmain? Although these two incidents are not of great news value, there are some interesting points and some points that can clarify doubts.On the 24th.
Can EOS, which unlocks DeFi, take off with it?On August 15th, EOS founder Daniel Larimer (BM) tweeted, I created the first DeFi platform in 2014, and DeFi is a necessary condition to stimulate DPOS.
When ordinary Filecoin investors invest in mining machines, they usually compare the cost performance of each mining machine. However, Filecoin mining needs to refer to many parameters. At this time.