Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Genesis epoch for bottom-up checkpoints #87

Open
adlrocha opened this issue Apr 11, 2023 · 0 comments
Open

Genesis epoch for bottom-up checkpoints #87

adlrocha opened this issue Apr 11, 2023 · 0 comments
Labels

Comments

@adlrocha
Copy link
Contributor

Currently we use genesis_epoch = 0 by default in all subnets:

let genesis_epoch = 0;

The reason for this is that we assume that all subnet will be spawned with epoch 0, and thus, new bottom-up checkpoints must be submitted from the subnet's genesis. This is true for now, but once we support the docking of IPC-compatible subnets, or subnets changing parents, we will need to set the genesis epoch to the first epoch where the network docked to the new parent instead of 0. This way, the subnet actor doesn't require the commitment from every checkpoint from genesis to be able to execute from the moment it docked to the new parent.

Having genesis_epoch != 0 will only be needed when we allow a subnet to become a child from an IPC parent when it is already mining blocks to avoid having to submit every checkpoint from zero. This is a consequence of the new design for checkpoint voting, where we don't allow gaps between checkpoints to ensure that all checkpoints (and the underlying cross-net messages included) are executed.

@adlrocha adlrocha added the next label Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant