🏎️

Blockchain Checkpoint

Next Date
March 15, 2022
Assign
Leo Chen
Status
Live on Mainnet
Bounty
Grant-1
Grant-2
Grant-3
Release Date

Goals

To reduce the time and space for a new node to sync the Harmony blockchain.

Proposal

The proposal is using a publicly published checkpoint block while the node sync the blockchain from the checkpoint block. When a fresh new node is started, it was given an option to sync from the checkpoint block or start from the very first genesis block.

Using the checkpoint block, it can greatly reduce the number of blocks and size of data synced by the node. This is applicable to both validators and non-validating nodes.

We can start with shard 0 DB.

Scope of Work

identify the new checkpoint block, dump the state of this block to a binary file (P1)
an option to load the blockchain from checkpoint block, instead of from the original genesis block (P1)
embed the checksum of the checkpoint block into the node binary to make sure the checkpoint file is valid (P1)
publish the checkpoint binary to GitHub/S3 (P1)
automate the process of downloading the checkpoint file (P2)
validate the checkpoint feature on both internal and external nodes; both validator and non-validating nodes (P2)
deploy/release the checkpoint feature (P3)
medium post to explain this feature (P3)
update validator document to enable/use this feature (P3)