Skip to content

Relaunch DIG #395

@clemensgg

Description

@clemensgg

In times of differentiating apphashes recent chain-halts have shown one factor to be crucial:

  • to get a chain back on it's feet everybody needs to start from the same state using the same version.

CryptoCrew is proposing to take the following path for relaunching Dig:

Plan alpha

  1. a) Roll back state to height 4407835 and hash 9992D8150EEF051E0385F31389CA56A01DA30634DEDC033726262492E311B2B9 by performing:
sudo systemctl stop digd
digd --home ~/.dig rollback
  1. b) or restore a snapshot created from height 4407835 - need to preserve and restore priv_validator_state when taking this path!
link: https://quicksync.ccvalidators.com/SNAPSHOTS/dig-1_20221029_default.tar.lz4
md5-sum: 7fb412ee169f7e181ad653602a5ac55e
height: 4407835
size: 137MB
  • previously signed rounds of 4407836 must not be signed again - this is why we restore our validator state before starting up the node
  1. compile digd v2.6.0 using go 1.19.3 and move binary to correct folder (~/.dig/cosmovisor/upgrades/v2/bin/ for cosmovisor users)

  2. start nodes at a coordinated date with enough time to prepare. as soon we reach the latest round and have >2/3 VP agreeing the chain will resume. Tests using digd v2.6.0 on the above provided snapshot have shown good results.

Backup plan

Plan alpha could fail in case of the following situations:

  • digd v2.6.0 is unable to produce a deterministic result in block 4407836 due to unforseen reasons
  • the chain is able resume but one or more validators are hardslashed because they didn't preserve and restore their validator state and doublesign by accident

In the case plan alpha fails we have two options:

a) if the chain resumes we could revert any possible hardslashes in an upgrade, like secret network and chihuahua did recently

b) last resort would be to use a state-export of block 4407835 to create a new genesis and relauch dig-1 from this state while accepting the archive problem. CryptoCrew have exported that state and are providing it here: https://quicksync.ccvalidators.com/SNAPSHOTS/dig-export-4407835.json

Metadata

Metadata

Assignees

No one assigned

    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