With ePBS, builders don't have to relay their bids through relayers and can directly connect to proposers.
The builder-specs currently specifies the proposer to sign a per-builder unique RequestAuth.
Having a per-builder unique RequestAuth can make sidecar consolidation trickier if we want to make sidecars optional with ePBS.
With ePBS, clients can absorb MEV-Boost functionality and make the need of a sidecar like MEV-Boost redundant. It would be ideal to make sidecars optional rather than a requirement like today so that innovation and experimentation can happen externally without requiring CL changes.
A per-builder unique RequestAuth will require the sidecars to access validator keys and sign the requests to get the bid.
If instead we have a per-slot RequestAuth which is unique across slots but common across builders, which can be defined like the following:
class RequestAuth(Container):
parent_hash: Hash32
parent_root: Root
pubkey: BLSPubkey
slot: Slot
The CL can just proxy the signature as a header to the sidecar and the sidecar can send requests to builders with the signature as needed.
A per-slot unique RequestAuth might be a reasonable tradeoff given the below 2 angles as to why we would want an auth:
- Builder wants to query other builder's valuations: In this case, A builder gets a request for an ExecutionPayloadBid, the builder takes the signature and queries other builders. Now the builder needs to update their latest bid if they find a bid with a higher valuation than the ones they have, they would have to update the payment tx, recompute state root etc which seems to be generally high latency and the proposer will just timeout their request by then. So IMO it doesn't seem like a very harmful situation?
- Builders want to cause DOS to reduce quality of service of a builder: I think Builders should have general DOS protection in this case.
With ePBS, builders don't have to relay their bids through relayers and can directly connect to proposers.
The builder-specs currently specifies the proposer to sign a per-builder unique RequestAuth.
Having a per-builder unique
RequestAuthcan make sidecar consolidation trickier if we want to make sidecars optional with ePBS.With ePBS, clients can absorb MEV-Boost functionality and make the need of a sidecar like MEV-Boost redundant. It would be ideal to make sidecars optional rather than a requirement like today so that innovation and experimentation can happen externally without requiring CL changes.
A per-builder unique
RequestAuthwill require the sidecars to access validator keys and sign the requests to get the bid.If instead we have a per-slot
RequestAuthwhich is unique across slots but common across builders, which can be defined like the following:The CL can just proxy the signature as a header to the sidecar and the sidecar can send requests to builders with the signature as needed.
A per-slot unique
RequestAuthmight be a reasonable tradeoff given the below 2 angles as to why we would want an auth: