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

Use last_pending_finalizer_policy_start_timestamp instead of last_pending_finalizer_policy_start_num #412

Closed
arhag opened this issue Jul 26, 2024 · 0 comments · Fixed by #414
Assignees
Labels
consensus-protocol Change to the consensus protocol. Impacts light client validation. 👍 lgtm

Comments

@arhag
Copy link
Member

arhag commented Jul 26, 2024

Instead of last_pending_finalizer_policy_start_num we should use last_pending_finalizer_policy_start_timestamp.

Then if last_pending_finalizer_policy_start_timestamp <= latest_qc_claim_timestamp and active_finalizer_policy_generation != last_pending_finalizer_policy_generation for a block (call it block A) that has a strong QC on it, we know that this strong QC, if claimed in a block (call it block B), would prove that the last pending finalizer policy referenced by the last_pending_finalizer_policy_generation in block A would become the active finalizer policy in block B.

With this change latest_qc_claim_block_num might not even be necessary in level_3_commitments_t, but it may be best to not get rid of it yet.

There is no harm in using the timestamp version rather than the number version and it is more consistent with other places in our implementation where we prefer timestamp over block numbers.

Furthermore, committing to the last_pending_finalizer_policy_start_timestamp in the finalizer digest may be useful in proving finality violations in certain cases; however it may not be sufficient (we might require a last_pending_finalizer_policy_finality_digest as well).

@arhag arhag added this to the Savanna: Production-Ready milestone Jul 26, 2024
@arhag arhag added consensus-protocol Change to the consensus protocol. Impacts light client validation. 👍 lgtm and removed triage labels Jul 26, 2024
@enf-ci-bot enf-ci-bot moved this to Todo in Team Backlog Jul 26, 2024
@greg7mdp greg7mdp self-assigned this Jul 26, 2024
@greg7mdp greg7mdp moved this from Todo to In Progress in Team Backlog Jul 26, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in Team Backlog Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus-protocol Change to the consensus protocol. Impacts light client validation. 👍 lgtm
Projects
Archived in project
3 participants