Skip to content
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

Relaunch DIG #395

Open
clemensgg opened this issue Nov 7, 2022 · 1 comment
Open

Relaunch DIG #395

clemensgg opened this issue Nov 7, 2022 · 1 comment

Comments

@clemensgg
Copy link

clemensgg commented Nov 7, 2022

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

@faddat
Copy link
Collaborator

faddat commented Nov 7, 2022

We have an absolute winner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants