feat(slasher): slash proposer of descendant-of-invalid checkpoint#23476
Closed
PhilWindle wants to merge 5 commits into
Closed
feat(slasher): slash proposer of descendant-of-invalid checkpoint#23476PhilWindle wants to merge 5 commits into
PhilWindle wants to merge 5 commits into
Conversation
…DESCENDANT_OF_INVALID Rename the slashing offence and its associated config knob, env var, helm value, and terraform variable to reflect that the slash now targets the proposer that publishes a descendant checkpoint to L1, not its attestors. Breaking for operators: SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY -> SLASH_PROPOSE_DESCENDANT_OF_INVALID_PENALTY (see v5.0.0 changelog).
…OINT_WITH_INVALID_ATTESTATIONS Rename the offence (and its config knob, env var, helm value, terraform variable, etc.) from the previous shorter PROPOSED_DESCENDANT_OF_INVALID form to spell out the exact condition: a descendant of a checkpoint that had invalid (or insufficient) attestations.
…id checkpoint When a checkpoint published to L1 builds on a previously-detected invalid checkpoint, slash the descendant's proposer instead of its attestors. Under pipelining, attestors may have already signed before the parent's invalidity became visible on L1, so only the proposer that actually published the descendant to L1 is at fault.
e9965cc to
47a4923
Compare
Base automatically changed from
phil/a-1073-rename-attested-descendant-of-invalid
to
merge-train/spartan
May 22, 2026 10:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes A-1072.
When a checkpoint published to L1 builds on a previously-detected invalid checkpoint, slash the descendant's proposer instead of its attestors. Under pipelining, attestors may have already signed the descendant before the parent's invalidity became visible on L1; only the proposer that actually published the descendant to L1 is at fault.
Stacked on #23468 (A-1073 rename). Rebase onto
merge-train/spartanonce #23468 lands.slashAttestorsOnAncestorInvalid→slashProposerOnAncestorInvalidinAttestationsBlockWatcherPROPOSED_DESCENDANT_OF_INVALIDslash for that addressTest plan
yarn buildyarn workspace @aztec/slasher testyarn format,yarn lint slasher