-
Notifications
You must be signed in to change notification settings - Fork 86
Clarifications on builder spec #165
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
Merged
nflaig
merged 28 commits into
ethereum:main
from
JasonVranek:fix/request-auth-clarifications
Aug 24, 2026
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
3566c77
fix one typo and some inprecise links
JasonVranek d23c708
clarify RequestAuthV1.slot as the proposal slot on both channels
JasonVranek ea472f5
define the canonical byte form of the builder URL in RequestAuthV1.data
JasonVranek bd892d6
Clarify request auth signing/verifying
JasonVranek 3dadb3a
Define canonicalize() and apply it when signing/verifying RequestAuth…
JasonVranek 5078eab
Adopt opaque RequestAuthV1.data, drop URL canonicalization, add
JasonVranek 31712da
SHOULD use builder URL as the default request auth data
JasonVranek e6f34b2
remove Eth-Consensus-Version header requirement if type isn't fork
JasonVranek 4a60214
housekeeping:
JasonVranek 06ac935
add missing example
JasonVranek 51545cf
require and verify the SignedRequestAuthV1, drop explicit proxy support
JasonVranek 8eec2eb
Require Date-Milliseconds and X-Timeout-Ms headers
JasonVranek 07b94de
clarify the request auth signing root
JasonVranek f99faf8
wording nitpicks
JasonVranek e27dfe3
Don't require Eth-Consensus-Version if JSON. Consistent with prior
JasonVranek bc91f6f
Revert "Don't require Eth-Consensus-Version if JSON. Consistent with …
JasonVranek 25fa22b
update wordlist.txt for CI
JasonVranek 36cefe4
fork-version request auth and slim the builder preferences request
JasonVranek 9a58e07
preferences should be stored as (proposer, slot)
JasonVranek 72165af
missing 415 error type; clarity if fork header is missing or unknown
JasonVranek a5552d6
a zero-length auth data is invalid
JasonVranek 82fa559
restore BuilderPreferencesRequest field order to [preferences, auth]
JasonVranek 5a76b7d
Update apis/builder/execution_payload_bid.yaml
JasonVranek ce6251d
drop the encoding note the schema already states
JasonVranek 3979095
clarify min(execution_payment, max_execution_payment) clamp
JasonVranek 6f3058f
Clarify builder SHOULD help disseminate block on 202
JasonVranek 4ad9938
- rename to BuilderRequestAuth, MAX_BUILDER_AUTH_DATA_SIZE,
JasonVranek 0bac999
clean up wordlist
nflaig File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
2 changes: 1 addition & 1 deletion
2
examples/gloas/signed_request_auth.json → ...es/gloas/signed_builder_request_auth.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file renamed
BIN
+139 Bytes
examples/gloas/signed_request_auth.ssz → ...les/gloas/signed_builder_request_auth.ssz
Binary file not shown.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
related to ethereum/beacon-APIs#630 (comment), maybe there was some discussion around this but I don't really understand why we wanna sent a single request per pubkey, maybe someone can explain this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I understood the question the first time. Is the assumption if a node operator has more than one proposer in the lookahead they can save on a call if batching was supported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, you only do a single call no matter how many validators are proposers in the lookahead, that matches how the proposer preferences api works
as far as I am aware all apis support batching, this one seems like an exception that decided to do a request per pubkey, but I don't see why it needs to be
to be clear, I don't feel strongly about this, on mainnet that will not make a large difference, but it would be kinda nice if the builder preferences work alongside the proposer preferences more closely unless there is a good reason to have a different api design
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
after thinking about this more and reading up on the current spec, although I haven't found that mentioned as an explicit argument during the initial spec design, I believe it makes sense due to signed auth requests since we allow pubkeys to sign over different auth, so there can be partial failures, however per the spec here this should return a 401 which is communicated back via http status code which doesn't really allow reporting partial failures. It seems favorable to send individual requests per-pubkey to me.