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

Harden against old consensus message (attestation & sync) spam #4873

Conversation

jimmygchen
Copy link
Member

@jimmygchen jimmygchen commented Oct 23, 2023

Proposed Changes

  • This PR reintroduces strict late message penalties for peers that send attestation and sync committee messages from a slot that is prior to the earliest permissible slot, after taking MAXIMUM_GOSSIP_CLOCK_DISPARITY into account.
  • Invalid attestation messages due to PastSlot used to be a low-tolerance error (before STRICT_LATE_MESSAGE_PENALTIES was disabled) , however due to the likelihood of racing, this is now set to high-tolerance, allowing the node to be protected against spam without being excessively strict.

Additional Info

@jimmygchen jimmygchen added the low-hanging-fruit Easy to resolve, get it before someone else does! label Oct 23, 2023
@jimmygchen jimmygchen marked this pull request as ready for review October 23, 2023 05:16
@jimmygchen jimmygchen added ready-for-review The code is ready for review work-in-progress PR is a work-in-progress and removed ready-for-review The code is ready for review labels Oct 23, 2023
@jimmygchen
Copy link
Member Author

Marking this as WIP because I’d like to dig a bit deeper to understand why we're seeing a large number of old messages.

@jimmygchen
Copy link
Member Author

Closing this PR as Lighthouse seems to handling large number of messages ok in normal condition, and the slowness / memory issues seems to be related to something else (see #4918).

@jimmygchen jimmygchen closed this Nov 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low-hanging-fruit Easy to resolve, get it before someone else does! work-in-progress PR is a work-in-progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant