Stealy
Summary
This high-priority release contains important bug fixes, optimizations and a notable change to fork choice which incentivizes the timely production of blocks.
Other interesting changes include:
- Improved logging for debugging payloads from builders (#3725)
- Significantly improved syncing speeds (#3738, #3794)
- New custom Lighthouse API endpoints (#3756, #3760, #3779)
- Reduced log severity for late blocks and unrevealed builder blocks (#3775)
- Reduced log severity for validator monitor logs (#3727)
- Updated Gnosis bootnodes (#3793, #3855)
- Improved validator monitor for high validator counts (#3728)
- A fix for slow VC API performance with Web3Signer validators (#3801)
Proposer Boost Re-Orgs
Lighthouse nodes running this version (or later) will attempt to re-org blocks which arrive late and subsequently receive very few votes from other validators. Lighthouse will not attempt a re-org unless it is confident that its own block will become the head and the action is in the best interests of the Ethereum network.
It is expected that re-orging a late block will be significantly profitable for the entity which performs the re-org. The loss induced by the validator which produced the late block will incentivize performance improvements.
See Late Block Re-orgs in the Lighthouse Book for more information.
Breaking Changes
This release contains two breaking changes regarding the validator monitor on the BN.
1. Aggregate Validator Monitor Metric
A new flag has been added to the Beacon Node: --validator-monitor-individual-tracking-threshold
. The default value is 64
, which means that when the validator monitor is tracking more than 64 validators then it will stop tracking per-validator metrics and only track values via the new total
label. It will also stop logging per-validator logs and only emit aggregated logs (the exception being that exit and slashing logs are always emitted).
The new total
label tracks the aggregated metrics of all validators in the validator monitor (as opposed to each validator being tracking individually using its pubkey as the label). It only tracks values which are easily aggregated (e.g. total count of attestations seen) and omits values which are not easily aggregated (e.g. most recent inclusion distance).
These changes were introduced in #3728 to address issues with untenable Prometheus cardinality and log volume when using the validator monitor with high validator counts (e.g., 1000s of validators). Users with less than 65 validators will see no change in behavior (apart from the added total
metric). Users with more than 65 validators who wish to maintain the previous behavior can set something like --validator-monitor-individual-tracking-threshold 999999
.
2. Reduced Log Severity for Validator Monitor Logs
The validator monitor will no longer emit WARN
and ERRO
logs for sub-optimal attestation performance. The logs will now be emitted at INFO
level. This change was introduced to avoid cluttering the WARN
and ERRO
logs with alerts that are frequently triggered by the actions of other network participants (e.g., a missed block) and require no action from the user.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | High Priority | Medium Priority |
Non-Staking Users | High Priority | --- |
The Beacon Node may be updated without the Validator Client, however we recommend updating both components for completeness.
See Update Priorities more information about this table.
All Changes
- Release v3.4.0 (#3862)
- Update dependencies incl Tokio (#3866)
- Web3 signer validator definitions reloading on any request (#3801)
- Improve validator monitor experience for high validator counts (#3728)
- Add more Gnosis bootnodes (#3855)
- Verify execution block hashes during finalized sync (#3794)
- Upgrade to libp2p v0.50.0 (#3764)
- Restructure code for libp2p upgrade (#3850)
- Various CI fixes (#3813)
- docs: remove mention of phases in voluntary exits (#3776)
- Clippy lints for rust 1.66 (#3810)
- send error answering bbrange requests when an error occurrs (#3800)
- Update Gnosis chain bootnodes (#3793)
- Enable proposer boost re-orging (#2860)
- Make all validator monitor logs
INFO
(#3727) - Adding light_client gossip topics (#3693)
- Reduce log severity for late and unrevealed blocks (#3775)
- Add API endpoint to get VC graffiti (#3779)
- Update book with missing Lighthouse endpoints (#3769)
- Expose certain
validator_monitor
metrics to the HTTP API (#3760) - Delete DB schema migrations for v11 and earlier (#3761)
- Add API endpoint to count statuses of all validators (#3756)
- Prioritise important parts of block processing (#3696)
- Ipv6 bootnodes (#3752)
- Optimize finalized chain sync by skipping newPayload messages (#3738)
- Improve debugging experience for builder proposals (#3725)
- Add Run a Node guide (#3681)
- Gossipsub fast message id change (#3755)
- Add CLI flag for gui requirements (#3731)
- Add CLI flag to opt in to world-readable log files (#3747)
- remove commas from comma-separated kv pairs (#3737)
- Added LightClientBootstrap V1 (#3711)
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | lighthouse-v3.4.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v3.4.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v3.4.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v3.4.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v3.4.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v3.4.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v3.4.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v3.4.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v3.4.0 | sigp/lighthouse |