Skip to content

genesis.json hash check before making consensus for the genesis block #4113

@Hyung-bharvest

Description

@Hyung-bharvest
  1. observation
  • we observed that the genesis block can reach consensus even if no majority with +2/3 power has same genesis
  • it is very easy to mistakenly having wrong genesis file, so the situation can happen with quite high probability
  1. case example
  • 3 validators(20% power) having genesis file A, others(55% power) having genesis file B
  • the genesis block has reached consensus and block height 1 is produced
  • the chain stucked at height 2, complaining app hash mismatch
  1. suggestion
  • it is safer for the validators to have identical genesis file on genesis to prevent trouble launch
  • kava launch experience shows that no-check of genesis file hash leads to chaos launch
    (https://link.medium.com/Vo6es9XPn1)
  • the state machine should gather hash of each validator's genesis file and get a consensus hash before proceeding to create a genesis block

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions