github sigp/lighthouse v4.0.0
Duck Guy

latest releases: v5.1.3, v5.1.2, v5.1.1...
13 months ago

Summary

This release is mandatory for all mainnet users. It enables the Capella/Shanghai ("Shapella") upgrade (#4111), which will occur at April 12, 2023, 10:27:35pm UTC. Any node which is not updated to Lighthouse v4.0.0 or later before 10:27pm on April 12th (UTC) will stop following the chain and will need to be resynced. For stakers, this would result in missed rewards and penalties.

For clarity, all mainnet Lighthouse users must be running v4.0.0 (or later) on their BNs and VCs by April 12, 2023, 10:27:35pm UTC.

This release also contains various bug-fixes, optimisations and new features:

  • Improve the resilience of the fork choice algorithm (#3962)
  • Add a flag to speed up responses to the committees HTTP API (#4081)
  • Improve payload reconstruction by utilising a new execution engine API endpoint (#4028)
  • Reduce false-positive ERRO logs claiming that builder blocks were published late (#4073)
  • Fix a bug that resulted in a harmless ERRO Dialing an already dialing peer log (#4056)
  • Add support for IPv6 (#4046)

Mainnet Capella/Shanghai ("Shapella") Upgrade

The Capella/Shanghai ("Shapella") upgrade will occur on mainnet at:

  • Epoch 194048
  • April 12, 2023, 10:27:35pm UTC

All Lighthouse Beacon Nodes and Validator Clients must be upgraded to v4.0.0 (or later) to ensure they follow the correct chain.

Preparation for the Shapella upgrade is much simpler than the preparation required for "The Merge" (Bellatrix). To be Shapella ready, users just need to:

  • Upgrade their Lighthouse BN(s) to v4.0.0 or later.
  • Upgrade their Lighthouse VC(s) to v4.0.0 or later.
  • Upgrade their Execution Engine(s) to a Shanghai-ready release:
    • Besu: 23.1.2 or later
    • Geth: v1.11.5 or later
    • Nethermind: No Shanghai release at the time of publication.
    • Erigon: No Shanghai release at the time of publication.

If your execution engine does not yet have a Shanghai-ready release then it is safe to upgrade Lighthouse to v4.0.0 without also upgrading the execution engine. An up-to-date execution engine will be required before April 12th, though.

There are no new flags to be added or removed for the Shapella upgrade, simply upgrade and wait.

Lighthouse will start periodically emitting the following logs two weeks before the Shapella upgrade (29th of March):

  • Not ready for Capella if Lighthouse has detected that the execution engine is too outdated to support Shanghai.
  • Ready for Capella if Lighthouse has detected a modern execution engine release.

Just because Lighthouse is logging Ready for Capella does not indicate that your execution engine is on the correct version. There is no way for Lighthouse to determine this exactly and users are responsible for ensuring that their execution engine is using the latest release.

Breaking Changes

Breaking Change: Database Schema V16

To support changes to the fork choice algorithm, the database schema has been upgraded to v16. The schema upgrade will be applied automatically upon upgrading and should not take more than a few seconds.

To downgrade, follow the instructions in the book for Database Migrations.

Users may downgrade anytime before the Capella upgrade. Prior Lighthouse releases are not compatible with Capella, so downgrading is fundamentally impossible after the upgrade occurs.

Breaking Change: Minimum Supported Rust Version 1.66

The minimum supported Rust version has been set to 1.66. Users who compile from source (i.e., not Docker or pre-built binary users) will receive the following error if they are using an earlier version of Rust:

lighthouse v4.0.0 (/home/karlm/lighthouse/lighthouse)` cannot be built because it requires rustc 1.66 or newer

Users can typically obtain the latest version of Rust by running rustup update.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High High
Non-Staking Users High ---

See Update Priorities more information about this table.

All Changes

  • Release v4.0.0 (#4112)
  • Fork choice modifications and cleanup (#3962)
  • Set Capella fork epoch for Mainnet (#4111)
  • Reduce verbosity of reprocess queue logs (#4101)
  • Customisable shuffling cache size (#4081)
  • Improve Lighthouse Connectivity Via ENR TCP Update (#4057)
  • Ignore self as a bootnode (#4110)
  • Reconstruct Payloads using Payload Bodies Methods (#4028)
  • Clarify "Ready for Capella" (#4095)
  • Reduce false positive logging for late builder blocks (#4073)
  • Make more noise when the EL is broken (#3986)
  • Siren Ui Lighthouse Version Requirments (#4093)
  • Correct a race condition when dialing peers (#4056)
  • Remove Router/Processor Code (#4002)
  • Complete match for has_context_bytes (#3972)
  • Add parent_block_number to payload SSE (#4053)
  • Support for Ipv6 (#4046)
  • Correct /lighthouse/nat implementation (#4069)
  • Added warning when new jwt is generated (#4000)
  • Appease Clippy 1.68 and refactor http_api (#4068)
  • Fix order of arguments to log_count (#4060)

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.0.0-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v4.0.0-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v4.0.0-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v4.0.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v4.0.0-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v4.0.0-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v4.0.0-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v4.0.0 sigp/lighthouse

Don't miss a new lighthouse release

NewReleases is sending notifications on new releases.