-
Notifications
You must be signed in to change notification settings - Fork 959
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tunable genesis time #1849
Labels
Comments
So, my personal opinion on this as I brought this up. This is low priority and just a cosmetic change.
|
I don't feel strongly, but would lean towards option 2. If we do this, I would suggest doubling Perhaps this is tangential, but I would even advocate for making |
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently the genesis time is not very tune-able and is instead always at a timestamp where
genesis_time % MIN_GENESIS_DELAY == 0
. Due to the desire to generally configure testnets at "mainnet" config,MIN_GENESIS_DELAY == 24hrs
and thus genesis_time is always at midnight UTC for mainnet configuration.Depending on who is working on the testnet (e.g. @q9f), this can lead undesirable late nights.
Background
The genesis time is computed such that regardless of when
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT
is hit,genesis_time
is always at the exact same time of day.This is so even if the exact day is known the exact time of some day is known so the teams can plan accordingly. (this being a very important feature is probably debatable).
Option 0
Don't change anything and just deal with it.
If @q9f does weekly testnet restarts (under discussion), this will suck for him but be great for our friends in Australia.
Option 1
This option preserves the notion of knowing exactly what time of day genesis will be, but instead allows us to tune that time. It is backwards compatible for networks that use the default configuration values.
It simply takes the previous calculation and adds
GENESIS_TIME_OFFSET
to the result to tune the precise time of day. AGENESIS_TIME_OFFSET
of0
would result in the same genesis time as in current specs.For example, if we use
MIN_GENESIS_DELAY = 86400
andGENESIS_TIME_OFFSET = 21600
(6hrs), then genesis time will be at 6am UTC.Option 2
This option does not preserve knowing exactly what time of day genesis will happen. This instead just uses a fixed offset from the initial eth1 block timestamp at which point genesis conditions were first met.
In cases in which
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT
is hit prior toMIN_GENESIS_TIME - GENESIS_DELAY
, genesis will be approximately atMIN_GENESIS_TIME
(thus highly predictable on most smaller test/devnet scenarios). The time becomes much less predictable in larger testnets and/or mainnet where theMIN_GENESIS_ACTIVE_VALIDATOR_COUNT
is not guaranteed to happen at a certain time.The text was updated successfully, but these errors were encountered: