According to benchmarks related to encoding and decoding of signed-blinded-beacon-block payloads with SSZ vs JSON
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.
Recently I've worked to support SSZ request bodies in lighthouse in POST beacon/blocks
and POST beacon/blinded_blocks
endpoints via the PRs below:
To support the block proposal flow using SSZ end-to-end, I have added SSZ support to the following block production endpoints:
GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}
via this PR Add SSZ support to validator block production endpoints
Per the benchmarks this should be a nice optimization for the block proposal flow.
There is also a related issue to using SSZ in builder API queries: #3701
If/when that is ready to be worked on I will most likely pick that issue up next.