You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pre-fork period: A fixed time period before on-chain fork initiation during which node operators prepare their setup for the hard fork. This includes the following
Migrate Archive DB
Migrate Rosetta DB
Install a client version that triggers the fork upon reaching consensus otherwise reverts to the existing chain
On-chain fork period: A fixed number of slots/network downtime during which nodes execute the hard fork (Fully automated)
Determine the state to fork off
Reach consensus on the state to fork off of, next protocol version (maybe even hash of the protocol constants of the new client), slot number at which the network forks
Upon reaching consensus, export the fork block and ledger corresponding to the block
Migrate the ledger if required (based on what's in the newer version of the client), generate fork constants required to generate blocks in the new fork. Fork constant to include the network start time/slot
Start the new version of client along with the migrated ledger and fork constants. Seeds should also be upgraded to ensure upgraded network resumes.
Wait for slot/time to resume block production in the upgraded network
Post upgrade monitoring (alerting)
Nodes are able to start and have sufficient peers
Blocks are being produced
Transactions resume
Other network health metrics
Security considerations:
Prevention and /or fallback mechanism when consensus is not achieved on the block to fork off due to various reasons such as not enough nodes upgraded, not enough stake participating in consensus, nodes crashing due to bugs in the implementation, chain reorgs/short forks etc
Sufficient window for each phase of the hard fork process to ensure maximum participation
Preventing network partition
Grace period is sufficient to make chain density as good as possible
No description provided.
The text was updated successfully, but these errors were encountered: