mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-17 04:48:21 +00:00
Block v3 builder boost factor (#5035)
* builder boost factor * default boost factor * revert * deprecate always_prefer_builder_payload, builder-profit-threshold, ignore_builder_override_suggestion_threshold and builder_comparison_factor flags * revert * set deprecated flags to no op, revert should_override_builder * fix test, calc boosted relay value correctly, dont calculate if none * Add deprecation warnings and restore CLI docs
This commit is contained in:
@@ -176,31 +176,6 @@ By default, Lighthouse is strict with these conditions, but we encourage users t
|
||||
- `--builder-fallback-disable-checks` - This flag disables all checks related to chain health. This means the builder
|
||||
API will always be used for payload construction, regardless of recent chain conditions.
|
||||
|
||||
## Builder Profit Threshold
|
||||
|
||||
If you are generally uneasy with the risks associated with outsourced payload production (liveness/censorship) but would
|
||||
consider using it for the chance of out-sized rewards, this flag may be useful:
|
||||
|
||||
`--builder-profit-threshold <WEI_VALUE>`
|
||||
|
||||
The number provided indicates the minimum reward that an external payload must provide the proposer for it to be considered
|
||||
for inclusion in a proposal. For example, if you'd only like to use an external payload for a reward of >= 0.25 ETH, you
|
||||
would provide your beacon node with `--builder-profit-threshold 250000000000000000`. If it's your turn to propose and the
|
||||
most valuable payload offered by builders is only 0.1 ETH, the local execution engine's payload will be used.
|
||||
|
||||
Since the [Capella](https://ethereum.org/en/history/#capella) upgrade, a comparison of the external payload and local payload will be made according to the [engine_getPayloadV2](https://github.com/ethereum/execution-apis/blob/main/src/engine/shanghai.md#engine_getpayloadv2) API. The logic is as follows:
|
||||
|
||||
```
|
||||
if local payload value >= builder payload value:
|
||||
use local payload
|
||||
else if builder payload value >= builder_profit_threshold or builder_profit_threshold == 0:
|
||||
use builder payload
|
||||
else:
|
||||
use local payload
|
||||
```
|
||||
|
||||
If you would like to always use the builder payload, you can add the flag `--always-prefer-builder-payload` to the beacon node.
|
||||
|
||||
## Checking your builder config
|
||||
|
||||
You can check that your builder is configured correctly by looking for these log messages.
|
||||
|
||||
@@ -9,8 +9,7 @@ USAGE:
|
||||
lighthouse beacon_node [FLAGS] [OPTIONS]
|
||||
|
||||
FLAGS:
|
||||
--always-prefer-builder-payload If set, the beacon node always uses the payload from the builder instead
|
||||
of the local payload.
|
||||
--always-prefer-builder-payload This flag is deprecated and has no effect.
|
||||
--always-prepare-payload Send payload attributes with every fork choice update. This is intended
|
||||
for use by block builders, relays and developers. You should set a fee
|
||||
recipient on this BN and also consider adjusting the --prepare-payload-
|
||||
@@ -175,12 +174,8 @@ OPTIONS:
|
||||
`SLOTS_PER_EPOCH`, it will NOT query any connected builders, and will use the local execution engine for
|
||||
payload construction. [default: 8]
|
||||
--builder-profit-threshold <WEI_VALUE>
|
||||
The minimum reward in wei provided to the proposer by a block builder for an external payload to be
|
||||
considered for inclusion in a proposal. If this threshold is not met, the local EE's payload will be used.
|
||||
This is currently *NOT* in comparison to the value of the local EE's payload. It simply checks whether the
|
||||
total proposer reward from an external payload is equal to or greater than this value. In the future, a
|
||||
comparison to a local payload is likely to be added. Example: Use 250000000000000000 to set the threshold to
|
||||
0.25 ETH. [default: 0]
|
||||
This flag is deprecated and has no effect.
|
||||
|
||||
--builder-user-agent <STRING>
|
||||
The HTTP user agent to send alongside requests to the builder URL. The default is Lighthouse's version
|
||||
string.
|
||||
@@ -313,14 +308,6 @@ OPTIONS:
|
||||
--http-tls-key <http-tls-key>
|
||||
The path of the private key to be used when serving the HTTP API server over TLS. Must not be password-
|
||||
protected.
|
||||
--ignore-builder-override-suggestion-threshold <PERCENTAGE>
|
||||
When the EE advises Lighthouse to ignore the builder payload, this flag specifies a percentage threshold for
|
||||
the difference between the reward from the builder payload and the local EE's payload. This threshold must
|
||||
be met for Lighthouse to consider ignoring the EE's suggestion. If the reward from the builder's payload
|
||||
doesn't exceed the local payload by at least this percentage, the local payload will be used. The conditions
|
||||
under which the EE may make this suggestion depend on the EE's implementation, with the primary intent being
|
||||
to safeguard against potential censorship attacks from builders. Setting this flag to 0 will cause
|
||||
Lighthouse to always ignore the EE's suggestion. Default: 10.0 (equivalent to 10%). [default: 10.0]
|
||||
--invalid-gossip-verified-blocks-path <PATH>
|
||||
If a block succeeds gossip validation whilst failing full validation, store the block SSZ as a file at this
|
||||
path. This feature is only recommended for developers. This directory is not pruned, users should be careful
|
||||
|
||||
Reference in New Issue
Block a user