github sigp/lighthouse v4.5.444-exp
EXPERIMENTAL Tree States v4.5.444

latest releases: v5.1.3, v5.1.2, v5.1.1...
pre-release7 months ago

Disclaimer

⚠️ You should not run this alpha release supporting mainnet validators ⚠️

If you are looking for the latest Lighthouse release please go to https://github.com/sigp/lighthouse/releases/latest.

Summary

This is an alpha release of upcoming changes to Lighthouse which improve disk usage and state management.

We are making this alpha release so that expert users may help us test these improvements. It is not backwards-compatible and not recommended for mainnet validators. Our current plan is to stabilise these changes shortly after the Deneb hard fork on mainnet.

For the adventurous, the main benefits are:

  • Smaller disk footprint for archive nodes, <150GB total. Use checkpoint sync, and set the flag --reconstruct-historic-states.
  • Smaller disk footprint for regular nodes, <30GB.
  • Faster handling of re-orgs.
  • Faster restarts.
  • Less disk I/O.

We hope that this is useful for running block explorers and supporting other beacon chain analytics. We are using it internally at SigP to run some of our analytics.

This release includes important bugfixes compared to the previous v4.5.222-exp release, and a few new features:

  • Fix for 3 potential consensus faults (d4f87ef). Only one could be triggered on a real network, and to our knowledge it has not yet been triggered. We are rolling out more fuzzing to ensure the new consensus code is bug-free prior to stabilisation.
  • ARM support restored! 🎉
  • Fix for Holesky state reconstruction after checkpoint sync (#4817).
  • Even better state caching, resulting in lower memory usage and less cache misses (#4833).
  • Deneb support (from unstable).

Compared to the v4.2.990-exp release the main changes are:

  • Updates to the freezer database schema. There are now less reads required per historic state, at the cost of greater disk usage. A mainnet archive node with the default configuration is now ~140GB. Historic state loads are around 5x faster in testing: 400ms instead of 2s in the worst case. A re-sync is required due to this change.
  • Configurable storage hierarchy. Diffs can now be stored on a per-slot basis, or less frequently than every epoch. We recommend using the default configuration, and haven't done enough testing of other configurations to provide space/speed estimates. See --hierarchy-exponents in lighthouse bn --help.
  • No historic states stored by default (same as v4.4.1). Please use --reconstruct-historic-states to store historic states, even when syncing from genesis. For more information see the section of the v4.4.1 release notes on State Pruning.
  • Lots of optimisations, particularly to epoch-processing, block-processing and the underlying state library (milhouse). This release should now be on-par or faster than stable Lighthouse when it comes to importing blocks.

This release is based on v4.5.0, and also includes the other features from v4.5.0 (and v4.4.1, and v4.3.0). Please see the v4.5.0 release notes for details of breaking changes: https://github.com/sigp/lighthouse/releases/tag/v4.5.0.

⚠️ Backwards Compatibility ⚠️

This release is backwards compatible with v4.5.222-exp and v4.4.111-exp.

This release is not backwards compatible with stable Lighthouse or tree-states releases prior to v4.4.111-exp. It uses a different database schema (v24) for which no automatic upgrade or downgrade is implemented. We intend to implement an automatic upgrade process once the new schema is finalized. A re-sync might be required to run future versions of tree-states. This release's schema might be the final iteration.

Please only run this release if you are willing to re-sync now, and again in several weeks/months.

There are several breaking changes to CLI flags:

  • The secret dummy flag --unsafe-and-dangerous-mode must be supplied. This is to prevent accidental upgrades to the release by users who don't know what they're getting themselves into. Unfortunately we found that far too many people accidentally ran previous tree-states releases on mainnet.
  • The flags --slots-per-restore-point and --historic-state-cache-size are deprecated and no longer necessary due to the freezer database using hierarchical diffs.
  • The flag --db-migration-period from tree-states v4.2.0-999-exp release is gone and has been replaced by --epochs-per-migration (same name as upstream).

Known Issues

Expect a few sharp edges. Some things you may run into:

  • WARN Parent state is not advanced is logged excessively during sync. This is harmless, albeit annoying.

If you observe any panics, crashes or major performance regressions, please open an issue!

Building from source

Build the v4.5.444-exp tag.

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

Don't miss a new lighthouse release

NewReleases is sending notifications on new releases.