You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In general, the chain history for each block commits to all the blocks between:
the previous network upgrade activation + 1 and
the previous block
So the Canopy activation block commits to all the blocks between Heartwood activation + 1 and Canopy activation - 1.
If we change the mandatory checkpoint to Canopy activation + 1, we will be able to skip calculating all the heartwood chain history.
The ChainVerifier checkpoints all blocks up to and including the Canopy activation maximum height. Zebra chooses the next checkpoint at or after the mandatory height.
So the actual checkpoint does not need to change on either network:
Network
Canopy
Zebra Checkpoint
Mainnet
1028500
1028849
Testnet
1046400
1046400
But we do need to update the finalized state assertion, the documentation, and the checkpoint tests.
Describe the solution you'd like
assert that the canopy activation block is a finalized checkpoint block
clarify the checkpoint test docs - they're already checking that canopy activation is a checkpoint block
update Zebra's checkpoint docs to explicitly include Canopy activation
if the mandatory checkpoint appears in multiple places, turn it into a named constant (optional)
The hard-coded checkpoint lists extend a long way past Canopy, so they don't need to be updated.
Zebra chooses the next checkpoint at or after the mandatory Canopy activation height. And the ChainVerifier checkpoints all blocks up to and including the checkpoint.
So we don't need to change the actual checkpoint - the first non-finalized block is Canopy activation + 1 block.
We should fix the state assertion, the test, the checkpoint documentation though.
teor2345
changed the title
Change the mandatory checkpoint to Canopy activation +1
Make sure the mandatory checkpoint includes the Canopy activation block
Jun 2, 2021
Is your feature request related to a problem? Please describe.
In general, the chain history for each block commits to all the blocks between:
previous network upgrade activation + 1
andSo the
Canopy
activation block commits to all the blocks betweenHeartwood activation + 1
andCanopy activation - 1
.If we change the mandatory checkpoint toCanopy activation + 1
, we will be able to skip calculating all the heartwood chain history.The
ChainVerifier
checkpoints all blocks up to and including theCanopy
activation maximum height. Zebra chooses the next checkpoint at or after the mandatory height.So the actual checkpoint does not need to change on either network:
But we do need to update the finalized state assertion, the documentation, and the checkpoint tests.
Describe the solution you'd like
The hard-coded checkpoint lists extend a long way past Canopy, so they don't need to be updated.
Additional context
See #2091 for more details
The text was updated successfully, but these errors were encountered: