github sigp/lighthouse v3.4.0-tree.1
Tree States v3.4.0 alpha.1

latest releases: v5.3.0, v5.2.1, v5.2.0...
pre-release22 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.

For the adventurous, the main benefits are:

  • Smaller disk footprint for archive nodes, <300GB total. Use checkpoint sync, and set the flags --slots-per-restore-point=32 and --reconstruct-historic-states.
  • Smaller disk footprint for regular nodes, <70GB.
  • 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.

Aside from the experimental tree-states changes this release is up-to-date with Lighthouse v3.4.0 and includes the same features.

⚠️ Backwards Compatibility ⚠️

This release is not backwards compatible with stable Lighthouse. It uses a different database schema (v20) 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 will be required to run future versions of tree-states.

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

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.
  • The JSON serialisation of the BeaconState does not quote integers for some fields. This will be fixed shortly, but SSZ can be used as a workaround.
  • Block processing is a bit slower than stable Lighthouse (see below).

Additional Background

The fundamental change supporting these improvements is a change to the in-memory representation of the BeaconState from flat vectors to copy-on-write trees. This enables many more BeaconStates to be stored in memory, but comes at the cost of increased iteration time. As a result, block and epoch processing times are slower. To mitigate this we are working on new caches and optimisations which bring block processing times back in line with stable Lighthouse. This puts the tree-states branch in a slightly awkward spot, because we cannot responsibly merge it until it is better than stable Lighthouse on every possible metric (a Pareto improvement).

Seeing as tree-states alters the database schema quite drastically, we also decided to roll in a few other improvements. The plan is to get the new schema as close to perfect as possible so that in a future release everyone can upgrade once with minimal fuss.

Building from source

Build the v3.4.0-tree.1 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-v3.4.0-tree.1-x86_64-apple-darwin.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-apple-darwin-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-unknown-linux-gnu-portable.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 lighthouse-v3.4.0-tree.1-aarch64-unknown-linux-gnu-portable.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-windows.tar.gz PGP Signature
x86_64 lighthouse-v3.4.0-tree.1-x86_64-windows-portable.tar.gz PGP Signature
System Option - Resource
Docker v3.4.0-tree.1 sigp/lighthouse

Don't miss a new lighthouse release

NewReleases is sending notifications on new releases.