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

Implement validator aggregator selection changes for DVT #6851

Closed
2 of 3 tasks
benjaminion opened this issue Feb 22, 2023 · 6 comments
Closed
2 of 3 tasks

Implement validator aggregator selection changes for DVT #6851

benjaminion opened this issue Feb 22, 2023 · 6 comments
Assignees
Labels

Comments

@benjaminion
Copy link
Contributor

benjaminion commented Feb 22, 2023

Link to detailed description

In short, when configured as part of a DVT (distributed validator technology) cluster, validators are unable to work out directly whether they are to perform attestation (or sync committee) aggregation duty for a committee. This is because they do not have access to the entire signing key needed to generate the signature used for aggregator selection.

To support this, some changes to the validator client are needed. At high-level (see the doc for details),

  1. Configure the validator client to know that it is part of a DVT cluster. I have a slight preference for the manual method (--distributed flag on the VC) rather than automatic detection, but happy to discuss.
  2. If distributed mode is active, then modify the control flow after attesting in order to consult the beacon node about whether the validator is an aggregator or not, after supplying a partial signature. Also modify the control flow for sync committee aggregation duty.

These changes use new standard beacon APIs and should be generic across DVT solutions. (This is why I prefer manual configuration via a flag - automatic detection might be solution-specific or fragile.)

Tasks

@rolfyone
Copy link
Contributor

It sounds like the latest DVT solution won't be requiring beacon-api changes, so these suggested changes are going to be fairly specific to this implementation - worth taking into consideration while prioritising...
https://github.com/ethereum/distributed-validator-specs
emerging spec...

@benjaminion
Copy link
Contributor Author

That spec is looking quite old right now, and doesn't deal with aggregators at all afaics (which might be a blind-spot). We should get some clarity on what the current state of play is. There are only two major implementers of DVT that I'm aware of at the moment, so anything we implement is inevitably going to be fairly application specific. Would definitely prefer to be adhering to whatever "standard" emerges, though.

@rolfyone
Copy link
Contributor

rolfyone commented Mar 17, 2023

I was talking to @saltiniroberto , they're working on a fork... He's actively working on it though.

@Digby123
Copy link

Digby123 commented Jan 3, 2024

Is there any update on this?

@Digby123
Copy link

Digby123 commented Jan 3, 2024

As discussed with @paul Harris on Discord understanding 1) the spec is not complete, 2) some are testing on mainnet with Obol and 3) it's a small change, please could I request that this is included and put behind a feature toggle.

@lucassaldanha lucassaldanha self-assigned this Feb 22, 2024
@lucassaldanha
Copy link
Member

lucassaldanha commented Feb 22, 2024

Currently implementing an MVP of this feature.

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

No branches or pull requests

4 participants