Priest Witherspoon
Summary
This is a low-priority release for Mainnet, Goerli and Sepolia users. However, this release schedules the Capella upgrade for Gnosis (#4433) on UTC Tue 01/08/2023, 11:34:20, therefore this release is high-priority for Gnosis users.
For all networks, this release contains new features, bug-fixes and optimisations including:
- Add Sigma Prime IPv6 boot nodes (#4394)
- Implement
broadcast_validation
APIs (#4316) - Schedule Capella for Gnosis chain (#4433)
- Significantly reduce bandwidth by ignoring "aggregate subsets" (#3493)
- Reduced bandwidth for nodes running multiple validators by subscribing to less subnets (#4304)
- Allow setting validator graffiti via
PATCH lighthouse/validators/{validator_pubkey}
(#4417) - Add a CLI flag for the builder
validator/register_validator
batch size (#4399) - Re-enable maxperf for Windows releases (#4371)
- Enable slasher broadcast by default (#4368)
- Downgrade a CRIT log in the VC for builder timeouts (#4366)
- Switch default slasher backend to LMDB (#4360)
Bandwidth Reductions
There are two major reductions to bandwidth use in this release. The first change in #3493 benefits all nodes, and works by ignoring redundant attestation aggregates received via gossip. This brings Lighthouse to parity with other clients which had already implemented this change.
The second change in #4304 overhauls the handling of attestation subnet subscriptions. Previously Lighthouse would subscribe to 1 attestation subnet for each connected validator, up to the total of 64. Now, every Lighthouse node will subscribe to 2 subnets total. For nodes with 0-2 validators, this is a minor change, while for nodes with multiple validators this represents a significant reduction.
Large staking operators who are accustomed to being subscribed to all subnets may want to opt back in using the --subscribe-all-subnets
flag. Although this increases bandwidth significantly, it also improves block rewards by a few percent, and can provide stability for the node and the network.
Breaking Changes
The breaking changes in this release only apply to users who use the --slasher
flag.
Breaking Change: Enable Slasher Broadcasting by Default
Lighthouse will now set --slasher-broadcast true
by default. This only applies to users who run with the --slasher
flag and means that any slashings detected will be broadcast to the network immediately.
Previously, Lighthouse would store the slashing privately in the hope that it may include it in a block of its own. Whilst this behaviour is profit-maximising, it is only effective if there are no slashers on the network running with --slasher-broadcast true
. In practice we've observed that almost all slashings are immediately broadcast, so the profit-maximising strategy is unlikely to yield any additional rewards. Broadcasting by default prioritises network health and resilience, and we recommend that users switch from profit-maximising to broadcasting.
The old behaviour can be achieved with --slasher-broadcast false
.
Breaking Change: Use LMDB for the Default Slasher Backend
The default slasher backend has been changed back to LMDB. This only applies to users who run with the --slasher
flag.
If an MDBX database exists and the MDBX backend is enabled then MDBX will continue to be used. Our release binaries and Docker images will continue to include MDBX for as long as it is practical, so users of these should not notice any difference.
The main benefit is for users compiling from source. These users no longer have to struggle to compile MDBX and deal with the compatibility issues that arise.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Low | Low |
Non-Staking Users | Low | --- |
See Update Priorities more information about this table.
This release is high-priority for Gnosis users. Gnosis users must update both the Beacon Node and Validator Client.
For mainnet users, the Beacon Node may be updated without also updating the Validator Client. However we recommend upgrading both components for consistency.
All Changes
- Release v4.3.0 (#4452)
- Ipv6 bootnodes update (#4394)
- Cache target attester balances for unrealized FFG progression calculation (#4362)
- Update node health endpoint (#4310)
- added debounce to log (#4269)
- Add broadcast validation routes to Beacon Node HTTP API (#4316)
- avoid relocking head during builder health check (#4323)
- Schedule Capella for Gnosis chain (#4433)
- Tidy formatting of
Reqwest
errors (#4336) - Aggregate subsets (#3493)
- Bump
openssl
deps (#4421) - Add
lint-fix
task to automatically fix some Clippy warnings. (#4419) - Add support for updating validator graffiti (#4417)
- Configure the
validator/register_validator
batch size via the CLI (#4399) - Update Lighthouse book on Doppelganger Protection (#4418)
- Remove legacy
max-skip-slots
checks (#4403) - Improve ENR logic for ipv6 (#4395)
- Correct table formatting in Lighthouse book (#4407)
- Remove
CountUnrealized
(#4357) - Use JSON by default for Deposit Snapshot Sync (#4397)
- Rework internal rpc protocol handling (#4290)
- Re-enable maxperf for Windows releases (#4371)
- Minor revision in Lighthouse book (#4385)
- Use MediaType accept header parser (#4216)
- Update discv5 to expand ipv6 support (#4319)
- Enable slasher broadcast by default (#4368)
- Fix Anvil compilation on Windows (#4381)
- feat: added new info about logs and config features (#4378)
- Downgrade a
CRIT
in the VC for builder timeouts (#4366) - Switch default slasher backend to LMDB (#4360)
- Always log the value of relay and local blocks for comparison (#4352)
- Appease clippy in Rust 1.70 (#4365)
- Update Nethermind (#4361)
- Add an option to disable inbound rate limiter (#4327)
- Expose execution block hash calculation (#4326)
- Update Lighthouse Book API and Advanced Usage section (#4300)
- Addition to Lighthouse Book faq.md (#4273)
- Fix
libpq
typo in beacon.watch README (#4356) - Remove unused crate publishing Github action and script (#4347)
- Add SSH tunneling in Lighthouse UI Siren (#4328)
- Shift subnet backbone structure (attnets revamp) (#4304)
- Add
libpq-dev
anddocker
to the to the list of additional requirements for developers in the Book (#4282) - Fix Rust 1.71.0 warnings (#4348)
- Fix geth scripts (#4342)
- swap unnecessary write lock to read lock in block_verification (#4340)
- Add
db inspect --output values
option to support dumping raw db values (#4324) - Update blog link in README (#4322)
- chore: Bellatrix occurred for Gnosis (#4301)
- Keep payload cache idempotent (#4256)
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-v4.3.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.3.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.3.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.3.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v4.3.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v4.3.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.3.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.3.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v4.3.0 | sigp/lighthouse |