The Genesis Event
A visualisation of the Genesis Event on Ethereum 2.0
Last updated
Was this helpful?
A visualisation of the Genesis Event on Ethereum 2.0
Last updated
Was this helpful?
Seconds_Per_Eth1_Block
= 14 seconds
Eth1_Follow_Distance =
2048 blocks * 14 seconds
Min_Genesis_Time
= 1606824000 (12:00:00 pm UTC | Tuesday, December 1, 2020)
Min_Genesis_Active_Validator_Count
= 16,384
Genesis_Delay
= 7 days
There are two conditions that have to get triggered to get the Ethereum 2.0 chain started!
The threshold of 16,384 validators needs to be hit
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
.
Sources: