Comment on page
The Genesis Event
A visualisation of the Genesis Event on Ethereum 2.0
Seconds_Per_Eth1_Block
= 14 secondsEth1_Follow_Distance =
2048 blocks * 14 secondsMin_Genesis_Time
= 1606824000 (12:00:00 pm UTC | Tuesday, December 1, 2020)Min_Genesis_Active_Validator_Count
= 16,384Genesis_Delay
= 7 days
There are two conditions that have to get triggered to get the Ethereum 2.0 chain started!
- 1.The threshold of 16,384 validators needs to be hit
- 2.The ETH1 block (=Trigger block) which determines the genesis time for ETH2 cannot be earlier than
min_genesis_time.
Trigger ETH1 block =
min_genesis_time - genesis_delay
The required amount of deposits (
Min_Genesis_Active_Validator_Count)
to fulfil the first condition occurs very quickly once the deposit contract has been deployed and before min_genesis_time
.
Once the threshold of 16,384 deposits is met, the network will try to accomplish the second condition by trying to find the trigger block by calculating min_genesis_time - genesis_delay.
The goal of the trigger block
(min_genesis_time - genesis_delay)
is that the chain can never start earlier than min_genesis_time
. The second scenario will make this clearer.
The required amount of deposits (
Min_Genesis_Active_Validator_Count)
to fulfil the first condition occurs after min_genesis_time.
In this case, the second condition is met first and the trigger block becomes whatever min_genesis_time
was set.
The trigger block (second condition) is achieved right after the deposit contract receives 16,384 validator deposits.
Genesis time becomes Trigger-block-timestamp + genesis_delay
.