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

Rethink getting duties for all participants in the network for message validation #1660

Open
olegshmuelov opened this issue Aug 26, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@olegshmuelov
Copy link
Contributor

Currently, the duty scheduler contains logic specifically for message validation, such as retrieving all duties for all participants in the network for proposal and sync committee duties. This logic should be separated to keep the duty scheduler focused solely on scheduling tasks.

Proposed Enhancement:

  • Add a Message Validation Handler: Introduce a new handler within the duty scheduler dedicated to message validation. This handler would:
    • Determine all sync committee participants for each epoch using the Beacon Node API endpoint: /eth/v1/beacon/states/{state_id}/sync_committees.
    • Research and handle additional logic related to proposers as needed.
@olegshmuelov olegshmuelov added the enhancement New feature or request label Aug 26, 2024
@y0sher
Copy link
Contributor

y0sher commented Aug 27, 2024

Great Idea!

I understand your need to separate the message validation handling logic from the regular scheduler. But wouldn't that mean we have some duplication in our calls to the beacon node?

What do you think about splitting the logic of the scheduler to fetcher and executor. then both the duty task executor and the message validator executor could consume the same data previously fetched by the fetcher?
Actually it's pretty similar to how it works now with the attester/sync committee and committee consensus handler.

Unless you think the extra calls to bn and memory management is negligible..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants