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

Add SSZ support to validator block production endpoints #4531

Closed
jimmygchen opened this issue Jul 24, 2023 · 4 comments
Closed

Add SSZ support to validator block production endpoints #4531

jimmygchen opened this issue Jul 24, 2023 · 4 comments
Assignees
Labels

Comments

@jimmygchen
Copy link
Member

Description

Recently we've had a few users reporting that the POST beacon/block endpoints in Lighthouse don't support SSZ request bodies, and this is currently being worked on in issue #4457. It seems like some validator clients are now using SSZ for the block proposal flow.

To support the block proposal flow using SSZ end-to-end, we should also add SSZ support to the following block production endpoints:

  • GET /eth/v2/validator/blocks/{slot}
  • GET /eth/v1/validator/blinded_blocks/{slot}

It might be worth getting this implemented soon, looking at the benchmarks from this issue:
ethereum/builder-specs#53

SSZ seems 40-50x faster
Considering 20-40ms per coding on average, that's up to 200-300ms JSON latency (or more).

Sending the data SSZ encoded could reliably shave 200-250ms off each getPayload roundtrip.

There is also a related issue to use SSZ in builder API queries: #3701

@eserilev
Copy link
Collaborator

id be happy to pick this one up

@jimmygchen
Copy link
Member Author

That'd be great, thanks @eserilev! ☺️

@ybstaked
Copy link

ybstaked commented Jul 27, 2023

Would be awesome to add to be able to support running Teku VC with Lighthouse BN to help with client diversity! Thanks guys!

Context: https://discord.com/channels/605577013327167508/605577013331361793/1134130514232623255

Looks like same issue with Prysm VC <> Lighthouse BN, see prysmaticlabs/prysm#12467 (comment) for context

bors bot pushed a commit that referenced this issue Sep 20, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 20, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
bors bot pushed a commit that referenced this issue Sep 21, 2023
## Issue Addressed

#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
@jimmygchen
Copy link
Member Author

Completed in #4534 🎉

Woodpile37 pushed a commit to Woodpile37/lighthouse that referenced this issue Jan 6, 2024
## Issue Addressed

sigp#4531 

## Proposed Changes

add SSZ support to the following block production endpoints:

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

## Additional Info

i updated a few existing tests to use ssz instead of writing completely new tests
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

3 participants