Repository navigation
Description
The validator client's defaults were chosen before gloas, and at gloas the most consequential one now differs from every other client: --builder-proposals is off by default, and without it produceBlockV4 gets builder_boost_factor: 0. Pooled p2p bids therefore never win on value, only when the local build fails (#707 documents that case).
What the other validator clients send at gloas by default
| Client | Default at gloas | Read at |
|---|---|---|
| Lighthouse | boost 100, min_bid 0. The builder CLI flags do not reach gloas production; the body comes from builder_definitions.yml |
unstable @ 1a704e58 |
| Prysm | boost 100. --enable-builder "has no effect after the gloas fork" |
develop @ 844d8b8d |
| Teku | p2p boost 100, min bid 0. The builder flag only empties the builder-API entries |
master @ 19b9214c |
| Lodestar | boost 90 when no selection is set. executiononly sends boost 0 with min_bid 2^64-1 and refuses a block that is not self-built |
unstable @ efd56334 |
| Nimbus | boost 100. --payload-builder only adds relay entries |
unstable @ 31bc2459 |
So four of the five let p2p bids compete at par by default, the fifth at 90%, and only Lodestar has a mode that rules them out entirely. All five publish proposer preferences unconditionally, as #707 does.
The likely reason: a gloas p2p bid is paid through the protocol rather than by a relay, so taking one asks less trust of the proposer than a pre-gloas blinded block. That is an inference, not something the clients' code says.
To decide
- Turn
--builder-proposalson by default, or split it. Before gloas the flag means relay registrations and blinded blocks, which need a beacon node with a builder (--builderon ethlambda), so defaulting that half on is a separate question from letting gloas p2p bids compete. Splitting it would match Lighthouse, Teku and Nimbus, whose builder flags no longer gate p2p bids. - The defaults that come with it:
--builder-boost-factor(100, or Lodestar's90) and--builder-min-bid(0). While ethlambda's own local payloads come back empty (getPayloadright afterforkchoiceUpdated, seen on the feat(validator): publish proposer preferences (gloas) #707 devnet), any bid beats a local build at a boost of100. - An opt-out for self-build only, for an operator who must never take a builder's payload, even when the local build fails: Lodestar's
executiononlyshape,min_bid2^64-1plus a client-side refusal of a block whose bid is notBUILDER_INDEX_SELF_BUILD. - The other defaults, in the same pass:
--gas-limit's fixed60000000(validator: take the default target gas limit from GAS_LIMIT_SCHEDULE #795) first.
Raised while addressing the review of #707.
Activity
docs(validator): a gloas builder bid is signed without --builder-prop…