feat(slasher): add duplicate attestation slashing#20218
Merged
spalladino merged 1 commit intomerge-train/spartanfrom Feb 9, 2026
Merged
feat(slasher): add duplicate attestation slashing#20218spalladino merged 1 commit intomerge-train/spartanfrom
spalladino merged 1 commit intomerge-train/spartanfrom
Conversation
Base automatically changed from
palla/duplicate-proposal-slashing
to
merge-train/spartan
February 6, 2026 10:50
Implements slashing for validators who send duplicate checkpoint attestations (equivocation). Mirrors the duplicate proposal slashing but for attestations: a validator signing attestations for different proposals at the same slot. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
581c320 to
fdb8424
Compare
PhilWindle
approved these changes
Feb 9, 2026
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 10, 2026
BEGIN_COMMIT_OVERRIDE chore: add new retention policy to cloudflare R2 (#20276) fix: k8s enricher opt-in (#20279) feat(slasher): add duplicate attestation slashing (#20218) chore: improve HA e2e (#20280) chore(test): fix p2p integration test (#20283) chore(claude): minor changes to claude md and rules (#20284) chore(test): fix p2p message propagation test build error (#20289) chore(claude): add actor info to analyze-logs (#20290) feat: tx file store source for tx collector (#20165) chore(test): fix validator integration test (#20288) chore(e2e): remove setup with remote env in e2e tests (#20294) chore: fix test flakes (#20295) chore: user-perceived latency explorer (#20298) fix(p2p): fix flaky file store tx collection tests (#20318) chore(spartan): add mbps-net env definition (#20308) fix(validator): do not process proposals from self (#20314) chore(ci): track history in merge-trains (#20321) fix(e2e): enable broadcastEquivocatedProposals in duplicate proposal slash test (#20320) chore: use respective get endpoints for rollup test instead of only port-forward (#20327) END_COMMIT_OVERRIDE
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
shouldAttestToSlotcheck insidecreateCheckpointAttestationsFromProposalto minimize the race windowSLASH_DUPLICATE_ATTESTATION_PENALTYenv var across all spartan deployment configsTest plan
e2e_p2p_duplicate_attestation_slashverifies offense detection end-to-endFixes A-349
🤖 Generated with Claude Code