Add route to expose the execution blob mempool to the consensus client.
If a block happens to include well propagated blob transactions, the consensus client can use this route to speed up the time to head. It reduces re-orgs rates and equalizes profitability for stakers with poor bandwidth or latencies.
Should this route return multiple blobs or a single one? I went for multiple since we already have the BlobBundle type and fits better to this use-case, which is all or nothing. But I can see the argument to have engine_getBlob and let the consumer decide what to do if some of the versionHashes are missing.
Add route to expose the execution blob mempool to the consensus client.
If a block happens to include well propagated blob transactions, the consensus client can use this route to speed up the time to head. It reduces re-orgs rates and equalizes profitability for stakers with poor bandwidth or latencies.
Longer rationale: https://hackmd.io/@dapplion/blob_fetch, original idea by @michaelsproul
To batch or not
Should this route return multiple blobs or a single one? I went for multiple since we already have the BlobBundle type and fits better to this use-case, which is all or nothing. But I can see the argument to have
engine_getBlob
and let the consumer decide what to do if some of the versionHashes are missing.