lighthouse icon indicating copy to clipboard operation
lighthouse copied to clipboard

Add builder_registration_pubkey_override to validator_definitions.yml

Open ciaranmcveigh5 opened this issue 2 years ago • 5 comments

Issue Addressed

#3444

Proposed Changes

  • Addition of builder_registration_pubkey_override to validator_definitions.yml
  • if statement on publish_validator_registration_data that checks if builder_registration_pubkey_override is set for that specific validator if it is replace the local pubkey with the builder_registration_pubkey_override value

Additional Info

Required for compatability with distributed validators

ciaranmcveigh5 avatar Aug 09 '22 09:08 ciaranmcveigh5

hey @realbigsean thanks for all the help on the timestamp override for distributed validators https://github.com/sigp/lighthouse/pull/3445/files#diff-79106abede37aa138c12d928354bba4a13c50432e2f60365d34c0595b657b6b0

We discovered we have a similar issue with the pubkey field in the validator registration because each co-validator uses their local pubkey-share rather than the aggregated pubkey so the registration payloads don't match

unlike timestamp which could be a global override this time we'll need overrides for each specific container

thought process is to use validator_definitions.yml and add an optional field "builder_registration_pubkey_override"

if builder_registration_pubkey_override exist for the local pubkey then replace the pubkey field in the builder registration with builder_registration_pubkey_override otherwise continue as normal

I've had a go at drafting a rough PR but think i might be updating areas that don't need to be, some pointers on the PR in regards to which files don't need to be changed and the best way how to get access to the validator_definitions.yml within the preparation_service.rs would be greatly appreciated

Thanks for any help

ciaranmcveigh5 avatar Aug 10 '22 07:08 ciaranmcveigh5

Hey @ciaranmcveigh5, thanks for the contribution!

I pushed to your branch, to resolve some compilation issues and re-work the caching, I hope that's ok!

realbigsean avatar Aug 15 '22 21:08 realbigsean

hey @realbigsean thanks so much for the help!

Once it's merged into unstable we can test it out in our ropsten cluster with the "latest-unstable" image and let you know how it goes!

really appreciate you guys supporting distributed validators!

ciaranmcveigh5 avatar Aug 15 '22 21:08 ciaranmcveigh5

I'm going to let someone else review this one as I've had my paws on it a bit too much

realbigsean avatar Aug 16 '22 13:08 realbigsean

Note this version of lighthouse has been tested using @realbigsean container image

docker.io/seananderson33/lighthouse:builder-override

It was tested with a DV middleware on ropsten with 100 validators and I can confirm with this PR a distributed validator is able to register to the builder network and propose blinded blocks

Thanks for all the help and for supporting distributed validators!

ciaranmcveigh5 avatar Aug 19 '22 16:08 ciaranmcveigh5

Closing in favour of #4306

michaelsproul avatar Jun 06 '23 23:06 michaelsproul