Hey All! I’m Kody, and we’re building Smoothly, an open source tool for solo stakers to use to pool together tips and MEV from block proposals. We’ve been live on Goerli for a few months now fixing bugs and refining our backend. We’ve recently made a design change where we’re requiring MEV boost to be ran by validators who subscribe to our pool. This change was made due to the added security we get from using the Relay API (get validator_registration) for verifying pool members fee recipient address. Unfortunately, this has been very challenging as relays responses are inconsistent. Again, this is on Goerli, so I understand that the testnet relays are resource constrained. From the spec (and validator logs), it seems that registrations are sent to the appropriate relays once per epoch. The responses timestamp we’re getting from relays is variable. Some are responding with a timestamp from 1 day ago, while others are responding with a timestamp from a week ago.
Additionally, we’re intentionally being malicious in our testing and changing the fee recipient of select validators to test our logic. Upon doing this, the registration response does not seem to reflect the fee_recipient change. Any insight into this would be very helpful as I appreciate the added security guarantees that this implementation could offer, but am hesitant to adopt if the inconsistencies remain on mainnet. Here are some links to our project
https://0xsmoothly.notion.site (docs)
https://goerli-v2.smoothly.money (frontend)
Update:
With the help of the team at the Aestus relay I’ve been able to learn a few things.
- Validator registration is only updated if there is a --fee recipient or --gas limit change
- Although no errors were being thrown, and in fact confirmation of registration was received through my validator logs, my validators were not registering to the relays due to a possible misconfiguration in the --proposer-settings-file.
- Registration works as intended when using the basic --fee recipient flag in the validator client.
Cheers!