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

Please mark the next release as "required for validators", otherwise it may risk users missing slots when using mev-boost #11717

Closed
metachris opened this issue Dec 2, 2022 · 4 comments
Assignees
Labels
Builder PR or issue that supports builder related work Release Issue Issue that may or may not be a bug but found during release period Validator Client

Comments

@metachris
Copy link

metachris commented Dec 2, 2022

The next Prysm release contains important changes, including a fix for incorrect builder API types encoding:

Until the next release, the way Prysm encodes the builder types is not conforming to the standard, and results in errors when decoding with types that enforce correctness.

In preparation for Capella and EIP4844 upgrades, mev-boost and the mev-boost-relay is being upgraded to use the Attestant types, which enforce a standard-compliant encoding:

If these updates were to be rolled out to mev-boost and the relays, non-conforming payloads fail the decoding step and lead to users missing slots when using the builder API.

We propose that Prysm marks the next release as "required for validators". Doing so would allow us to toll out the changes to mev-boost and the relays after a reasonable wait period without putting Prysm users at risk of missing slots.

@james-prysm james-prysm added Builder PR or issue that supports builder related work Release Issue Issue that may or may not be a bug but found during release period Validator Client labels Dec 5, 2022
@prestonvanloon prestonvanloon self-assigned this Dec 5, 2022
@prestonvanloon
Copy link
Member

prestonvanloon commented Dec 5, 2022

Hi @metachris, thanks for filing this issue. We discussed this a bit in discord and I wanted to summarize the conversation here for record.

We are hesitant to mark the next release as urgent, critical, or anything other than a normal release for prysm users as an elevated release labeling must be used sparingly. However, we will make a call-out in the release notes and issue the next release as a minor release (v3.2.0) rather than a patch release to indicate that there is some change in the API payloads for the builder API requests from prysm.

We ask that your team delays your changes in flashbots/mev-boost#411 until the next hardfork as this be the best approach to releasing breaking changes without deprecating the current API. If that is not possible, then we ask that your team indicates that a Prysm upgrade is a hard requirement for users to use your software since it contains changes that break existing behavior and overly communicate that to your users.

To add some additional context for readers:

@metachris
Copy link
Author

I think it make sense for mev-boost to wait with changes to the types for a while.

We do need to make a new mev-boost release sometime well before the hardfork date to give users a chance to upgrade. This version will need to try to decode the payloads into the Capella/4844 types, and fall back to the Bellatrix types if that fails.

@metachris
Copy link
Author

We are currently exploring a third way - to use the Attestant Capella types, with a fallback to the current Bellatrix(go-boost-utils) types (instead of Bellatrix(Attestant)). This should make the changes backwards-compatible with current and previous Prysm-versions.

@terencechain
Copy link
Member

We are currently exploring a third way - to use the Attestant Capella types, with a fallback to the current Bellatrix(go-boost-utils) types (instead of Bellatrix(Attestant)). This should make the changes backwards-compatible with current and previous Prysm-versions.

That's great to hear. Thanks @metachris !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builder PR or issue that supports builder related work Release Issue Issue that may or may not be a bug but found during release period Validator Client
Projects
None yet
Development

No branches or pull requests

4 participants