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

Orchestration: Checkpointing process #480

Closed
1 task
adlrocha opened this issue Dec 12, 2022 · 0 comments
Closed
1 task

Orchestration: Checkpointing process #480

adlrocha opened this issue Dec 12, 2022 · 0 comments
Assignees
Labels

Comments

@adlrocha
Copy link
Contributor

adlrocha commented Dec 12, 2022

Background

Every check_period epochs, the state of a child subnet C must be checkpointed in its parent subnet P. A checkpoint for some epoch e includes metadata (e.g., subnet ID, epoch, etc.) and a proof of the state of C at epoch e. The form of this proof is an implementation detail of the respective subnet.

The validators of the subnet C are responsible for generating the proof. Its exact form and the number of validators involved in its generation is an implementation detail of the subnet. As of the time of this writing, in our reference implementation, this proof consists of the signatures of more than two-thirds of the validators of C.

The IPC Agent actively acts on behalf of one or more validators to orchestrate the general checkpointing activity. This includes constructing the checkpoint data, collecting proofs from the validators, and submitting the checkpoint to the subnet actor of C deployed on the parent subnet P. At a high level, for every account A on subnet C associated with the agent, the agent conducts the following steps:

  • Monitor subnet C for checkpoint epochs.
  • For every checkpoint epoch e:
  • Check if A is a validator at epoch e.
  • If yes, then build the checkpoint metadata.
  • Request a proof from A for the checkpoint.
  • Submit the checkpoint, consisting of the metadata and the proof, to the subnet actor of C on P.

Subnet manager command

  • checkpoint list: Lists all the checkpoints committed for a range of blocks for a subnet C.
@adlrocha adlrocha transferred this issue from consensus-shipyard/lotus Feb 16, 2023
@adlrocha adlrocha changed the title Checkpoint controller Orchestration: Checkpointing process Feb 16, 2023
@jsoares jsoares closed this as completed Mar 20, 2023
@jsoares jsoares transferred this issue from consensus-shipyard/ipc-libs Dec 19, 2023
@jsoares jsoares added the s:ipc label Dec 19, 2023
@jsoares jsoares closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants