Skip to content

Priest Witherspoon

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Jul 01:47
· 1267 commits to stable since this release
v4.3.0

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 and docker 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