A Network Cold Start
A genesis.json file is the starting part for the consensus process of a Cosmos blockchain.
The genesis file sets the initial parameters of any new Cosmos network. Establishing a robust social consensus over the genesis file is critical to starting a network.
Each genesis state starts with a list of account balances. Social consensus on these account balances must be bootstrapped from some external process be it events on another blockchain to a token generation event.
The Cosmos SDK provides robust tools for bootstrapping the identities that will start chain via the gen-tx
process. gen-tx
or a Genesis Transaction are cryptographically signed transactions that are executed during chain initialization that generate a starting set of validators.
The gen-txs
are artifacts that prove that the holders of accounts consent in launching the network and that they putting capital at risk in the process.
A Network Upgrade.
The social process of a network upgrade is a bit different. It typically means that existing chain has been halted either due to a flaw in the state machine or because of an agreement by the operators.
The core semantics of a network upgrade is that operators of the previous network are willing to operate the new network and that there will be as minimal as possible state modification between the two networks.
The expectation is that all validators will have a human inspect the export file for modifications. Theres is a great and detailed description of the procedure for inspecting a new genesis file here for the first Game of Stakes upgrade here