Skip to content

preserve monotonic weak-head weight - #17453

Draft
james-prysm wants to merge 1 commit into
alpha13from
monotonic-weak-head-weight
Draft

preserve monotonic weak-head weight#17453
james-prysm wants to merge 1 commit into
alpha13from
monotonic-weak-head-weight

Conversation

@james-prysm

@james-prysm james-prysm commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

Uncomment one line below and remove others.

Bug fix
Feature
Documentation
Other

What does this PR do? Why is it needed?

Prysm removes equivocators from ordinary LMD vote accounting. The weak head predicate reused that filtered weight so detecting an equivocation could make a previously strong head become weak

Which issue(s) does this PR fix?

Fixes #

Other notes for review

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have included a uniquely named changelog fragment file.
  • I have added a description with sufficient context for reviewers to understand this PR.
  • I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).

Count head-slot equivocators using justified effective balances only in weak-head checks. Keep ordinary fork-choice votes filtered, exclude proposer boost from the attestation score, and use the inclusive active-balance threshold.

Capture committees from the supplied post-state during normal imports, expire snapshots outside the two-slot window, and keep lazy head-time lookup cache-only. Add regressions for equivocation, threshold boundaries, checkpoint refresh, cache eviction, retention, and no replay.

Review caveat: recent nodes restored through InsertChain or startup without cached committee state conservatively remain strong for weak-head checks. This fallback avoids state replay under the fork-choice lock; eager snapshots cover normal imports.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant