Sigp Lighthouse Versions Save

Ethereum consensus client in Rust

v5.1.3

1 month ago

:fire: Hotfix :fire:

This hotfix release includes several bug fixes related to the handling of blobs. Upgrading to this release should result in less cache misses, lower peak memory usage, reduced bandwidth and greater stability.

This is a medium priority release.

We recommend that all users upgrade at their convenience. We particularly recommend upgrading if you are seeing either of these logs:

Mar 13 10:26:50.229 WARN Peer sent invalid response to parent request., reason: ExtraBlocksReturned, peer_id: ..., service: sync

Mar 24 23:20:56.001 WARN Did not advance head state reason: Err(HeadMissingFromSnapshotCache(...)), service: state_advance

Summary

Duplicate lookup bugfix

Since the release of v5.1.2 we have found a few more cases where Lighthouse could issue an excessive number of lookup requests for the same block. This would manifest as a warning log, followed by a loss of peers due to downscoring:

Mar 13 10:26:50.229 WARN Peer sent invalid response to parent request., reason: ExtraBlocksReturned, peer_id: ..., service: sync

The additional cases were related to concurrent lookups, and have been addressed in pull request #5488.

Blob RPC bugfix

We found that when Lighthouse imported a block after a blob RPC request, it was failing to run fork choice. This had several knock-on effects: the head state would be absent from the snapshot cache, which would lead to cache misses and further errors. In some instances, the cache misses would lead to a spike in memory usage while snapshots were reloaded from disk.

Fork choice now runs after all block imports (implemented in #5475). Some snapshot cache misses may still occur. We are planning to further improve snapshot handling in a future release.

Attestation cache size

The size of the seen-cache for attestation gossip has been updated in pull request #5493 to accomodate the wider validity window for attestations post-Deneb. This should result in reduced load by preventing old duplicate attestations from being reprocessed.

Light client server

The experimental light client server has been updated with Capella and Deneb support in pull request #4946. We do not yet recommend enabling it on mainnet. We will provide an update on the light client server in a future release.

Breaking Changes

None.

:bug: Known Issues :bug:

There is an outstanding bug in Lighthouse's UPnP implementation:

It can be worked around by running with --disable-upnp and manual port forwarding. We are planning another release containing a fix soon.

Update Priority

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

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

See Update Priorities for more information about this table.

Lighthouse BNs and VCs from v5.0.0 and v5.1.0/v5.1.1/v5.1.2/v5.1.3 are intercompatible. However, we recommend that users update both the VC and BN to v5.1.3 if upgrading.

All Changes

  • Release v5.1.3 (#5497)
  • Bump duplicate cache time (#5493)
  • Lookup log improvements (#5491)
  • Single lookup improvements (#5488)
  • Run fork choice after RPC blob import (#5475)
  • Move gossipsub into a separate crate (#5401)
  • Fix double counted metrics (#5476)
  • Add Capella & Deneb light client support (#4946)
  • Delete PRE_CAPELLA_ENGINE_CAPABILITIES (#5406)
  • Built-in documentation text width in Lighthouse book (#5394)
  • Verify whether validators really are unknown during sync committee duty API request (#5174)
  • Make sure all geth processes are killed when stopping a local testnet (#5383)
  • Delete unused incomplete_processing_components (#5418)
  • Fix one and hide all beacon-processor flags (#5397)
  • chore: reduce scope of commitment (#5426)
  • chore: remove stale comment (#5440)
  • fix: tail command typo (#5456)
  • Improve parent lookup logging (#5451)

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

v5.1.2

1 month ago

:fire: Hotfix :fire:

This hotfix release includes a block lookup efficiency fix, a fix to stop propagation of slashings for attesters who have already been slashed, a fix to the --disable-upnp flag, and a couple of metric fixes.

This is a medium priority release.

We recommend you upgrade if you are seeing this log:

Mar 13 10:26:50.229 WARN Peer sent invalid response to parent request., reason: ExtraBlocksReturned, peer_id: ..., service: sync

Summary

We've had a couple reports of users seeing this log:

Mar 13 10:26:50.229 WARN Peer sent invalid response to parent request., reason: ExtraBlocksReturned, peer_id: ..., service: sync

This is a result of Lighthouse making duplicate requests to peers for the same block. This has been fixed in (#5432). If you are seeing this log, we recommend you upgrade.

Other client teams have notified us that Lighthouse propagates slashing messages for validators that have already been slashed. These messages are useless from the network's perspective so should be ignored (thanks @nisdas from Prysm). This has been resolved in (#5385).

The --disable-upnp was inneffective previously, but this has been fixed in (#5449).

Additionally this hotfix includes fixes to some metrics (#5404 and #5427).

Breaking Changes

None.

Update Priority

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

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

See Update Priorities for more information about this table.

Lighthouse BNs and VCs from v5.0.0 and v5.1.0/v5.1.1/v5.1.2 are intercompatible. However, we recommend that users update both the VC and BN to v5.1.2 if upgrading.

All Changes

Changes relative to v5.1.1:

  • Release v5.1.2 (#5453)
  • disable libp2p upnp (#5449)
  • Fix gossip verification of duplicate attester slashings (#5385)
  • fix NAT nat_open metrics report (#5427)
  • Fix peer count metrics (#5404)
  • Improvements and Fixes in Documentation, Including Corrected Command Usage (#4998)
  • Fix Rust beta compiler errors 1.78.0-beta.1 (#5439)
  • Dedup parent blob requests (#5432)
  • Add attestation simulator, blobs info and some updates to Lighthouse Book (#5364)

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

v5.1.1

1 month ago

:fire: Hotfix :fire:

This hotfix release is identical to v5.1.0, with the exception of some build system fixes for macOS.

If you have already updated to v5.1.0 then you can ignore this release.

The rest of the release notes describe the changes relative to v5.0.0.

Summary

This high-priority release includes a fix to ensure validator's messages are published on the network (#5357). Additionally, out-of-memory crashes are prevented by reducing peak memory usage (#5270).

This release (v5.1.1) and the previous v5 releases (v5.1.0 and v5.0.0) support the Deneb upgrade on March 13, 2024 at 13:55 UTC. Users who are already running v5.0.0 are not required to upgrade to v5.1.0/v5.1.1 before Deneb, but it is recommended.

Notable changes in this release:

  • Lighthouse now caches 3 states by default, rather than 4. The value can be modified with --state-cache-size (#5270)
  • The PATCH /lighthouse/validators/{validator_pubkey} VC HTTP API endpoint has been optimised (#5064)
  • A bug that prevented messages from being published to peers has been fixed (#5357)
  • Performance for NAT'd nodes has been improved (#5345)
  • Concurrent block production has been optimised, providing benefits for SSV operators (#5365)
  • A bug in the validator client which resulted in WARN Not enough time for a discovery search has been fixed (#5305)

Breaking Changes

Breaking Change: Milagro BLS is no longer supported

Lighthouse no longer supports the Milagro BLS library (#5298). This library was not recommended for production use and had to be manually enabled at compile time. We do not expect this change to impact users.

Reminder: Minimum Supported Rust Version 1.75.0

The minimum supported Rust version (MSRV) was updated to 1.75.0 in a previous release (v5.0.0). 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 v5.1.0 (/home/sigp/lighthouse/lighthouse) cannot be built because it requires rustc 1.75 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 for more information about this table.

Lighthouse BNs and VCs from v5.0.0 and v5.1.0/v5.1.1 are intercompatible. However, we recommend that users update both the VC and BN to v5.1.0/v5.1.1.

All Changes

Changes relative to v5.0.0:

  • Release v5.1.1 (#5396)
  • Fix macOS build by updating cc (#5393)
  • Release v5.1.0 (#5372)
  • Downgrade rate limited log (#5381)
  • Optimise concurrent block production (#5368)
  • Fix AddrInUse error in cli tests (#5266)
  • Explicit peers (#5333)
  • Improve peer performance for NAT'd nodes (#5345)
  • Reduce load on validator subscription channels (#5311)
  • Update CI actions to alleviate deprecation warnings (#5321)
  • Correct the metrics for topic subscriptions (#5344)
  • Attempt to publish to at least mesh_n peers (#5357)
  • Fix 5288: Doesn't POST if attestations is empty. (#5318)
  • Fix block v3 header decoding (#5366)
  • Delete milagro library (#5298)
  • Update dependency whoami (#5351)
  • Fix duties override bug in VC (#5305)
  • Improve logging around peer scoring (#5325)
  • bump ethereum_serde_utils (#5341)
  • Drop address_change_broadcast (#5287)
  • Optimise no-op PATCH ops in VC HTTP API (#5064)
  • Recognize the Caplin consensus client (#5304)
  • improve libp2p connected peer metrics (#5314)
  • remove exit-future (#5183)
  • remove nat module and use libp2p upnp (#4840)
  • Track multiaddr in connection status (#5308)
  • Fix typos and make block hash calculation public (#5275)
  • Add a cli option for the snapshot cache size (#5270)
  • Delete ancient, unused HTTP docs (#5281)
  • Run apt update before install. (#5295)
  • Add build instructions for Fedora/RHEL/CentOS (#5225)

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

v5.1.222-exp

1 month ago

Disclaimer

:warning: You should not run this alpha release supporting mainnet validators :warning:

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, <200GB 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 all the latest changes from v5.1.0 including Deneb on mainnet and the fixes for attestation performance. Check out the release notes for v5.1.0 for more information. Note that we do not recommend running mainnet validators using tree-states.

There are no substantial tree-states specific changes in this release, as we have been focussed on cleaning up the branch and preparing it for review & merge.

:warning: Backwards Compatibility :warning:

This release is backwards compatible with v5.0.111-exp, v4.6.222-exp, v4.6.111-exp, v4.5.444-exp, 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 stable).

Known Issues

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

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

Building from source

Build the v5.1.222-exp tag.

All Changes

  • Tree states release v5.1.222-exp
  • Fix macOS build by bumping cc (#5392)

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

v5.1.0

1 month ago

Summary

This high-priority release includes a fix to ensure validator's messages are published on the network (#5357). Additionally, out-of-memory crashes are prevented by reducing peak memory usage (#5270).

This release (v5.1.0) and the previous release (v5.0.0) both support the Deneb upgrade on March 13, 2024 at 13:55 UTC. Users who are already running v5.0.0 are not required to upgrade to v5.1.0 before Deneb, but it is recommended.

Notable changes in this release:

  • Lighthouse now caches 3 states by default, rather than 4. The value can be modified with --state-cache-size (#5270)
  • The PATCH /lighthouse/validators/{validator_pubkey} VC HTTP API endpoint has been optimised (#5064)
  • A bug that prevented messages from being published to peers has been fixed (#5357)
  • Performance for NAT'd nodes has been improved (#5345)
  • Concurrent block production has been optimised, providing benefits for SSV operators (#5365)
  • A bug in the validator client which resulted in WARN Not enough time for a discovery search has been fixed (#5305)

Breaking Changes

Breaking Change: Milagro BLS is no longer supported

Lighthouse no longer supports the Milagro BLS library (#5298). This library was not recommended for production use and had to be manually enabled at compile time. We do not expect this change to impact users.

Reminder: Minimum Supported Rust Version 1.75.0

The minimum supported Rust version (MSRV) was updated to 1.75.0 in a previous release (v5.0.0). 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 v5.1.0 (/home/sigp/lighthouse/lighthouse) cannot be built because it requires rustc 1.75 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 for more information about this table.

Lighthouse BNs and VCs from v5.0.0 and v5.1.0 are intercompatible. However, we recommend that users update both the VC and BN to v5.1.0.

All Changes

  • Release v5.1.0 (#5372)
  • Downgrade rate limited log (#5381)
  • Optimise concurrent block production (#5368)
  • Fix AddrInUse error in cli tests (#5266)
  • Explicit peers (#5333)
  • Improve peer performance for NAT'd nodes (#5345)
  • Reduce load on validator subscription channels (#5311)
  • Update CI actions to alleviate deprecation warnings (#5321)
  • Correct the metrics for topic subscriptions (#5344)
  • Attempt to publish to at least mesh_n peers (#5357)
  • Fix 5288: Doesn't POST if attestations is empty. (#5318)
  • Fix block v3 header decoding (#5366)
  • Delete milagro library (#5298)
  • Update dependency whoami (#5351)
  • Fix duties override bug in VC (#5305)
  • Improve logging around peer scoring (#5325)
  • bump ethereum_serde_utils (#5341)
  • Drop address_change_broadcast (#5287)
  • Optimise no-op PATCH ops in VC HTTP API (#5064)
  • Recognize the Caplin consensus client (#5304)
  • improve libp2p connected peer metrics (#5314)
  • remove exit-future (#5183)
  • remove nat module and use libp2p upnp (#4840)
  • Track multiaddr in connection status (#5308)
  • Fix typos and make block hash calculation public (#5275)
  • Add a cli option for the snapshot cache size (#5270)
  • Delete ancient, unused HTTP docs (#5281)
  • Run apt update before install. (#5295)
  • Add build instructions for Fedora/RHEL/CentOS (#5225)

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

v5.0.111-exp

2 months ago

Disclaimer

:warning: You should not run this alpha release supporting mainnet validators :warning:

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, <200GB 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 all the latest changes from v5.0.0 including Deneb on mainnet. Check out the release notes for v5.0.0 for more information. Note that we do not recommend running mainnet validators using tree-states.

There are no substantial tree-states specific changes in this release, as we have been focussed on cleaning up the branch and preparing it for review & merge.

:warning: Backwards Compatibility :warning:

This release is backwards compatible with v4.6.222-exp, v4.6.111-exp, v4.5.444-exp, 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 stable).

Known Issues

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

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

Building from source

Build the v5.0.111-exp tag.

All Changes

  • Tree states release v5.0.111-exp (#5276)
  • Fix tree-states tests (#5277)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Remove progressive balances mode (#5224)
  • Use epoch cache in block packing (#5223)
  • Delete unused epoch processing code (#5170)
  • Delete lighthouse db diff (#5171)

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

v5.0.0

2 months ago

Summary

This release is mandatory for all Mainnet and Gnosis users. It enables the Deneb/Cancun ("Dencun") upgrade on:

  • Mainnet (#5233), which will occur on March 13, 2024, at 01:55:35 pm UTC; and
  • Gnosis (#5242), which will occur on March 11, 2024, at 06:30:20 pm UTC.

Any node which is not updated to a Lighthouse v5.x.x release by this time will stop following the chain and will need to be resynced. For stakers, this would result in missed rewards and penalties.

All Mainnet Lighthouse users must update their BNs and VCs to v5.0.0 by March 13, 2024, 01:55:35pm UTC.

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

  • Improve network parameters and increase target peer count to 100 (#5177)
  • Address high memory usage and out of memory issue (#5175,#5250)
  • Fix bug in --builder-proposals (#5151)
  • Optional slashing protection for remote keys (#4981)
  • Add distributed flag to VC to enable support for DVT (#4867)
  • Fix backfill stalling (#5192)
  • Fix off-by-one in backfill signature verification (#5120)
  • Handle unknown head during attestation publishing (#5010)

There are a few breaking changes. Please see the section on Breaking Changes below.

Mainnet Deneb/Cancun ("Dencun") Upgrade

The Deneb/Cancun ("Dencun") upgrade will occur on mainnet at:

  • Epoch 269568
  • March 13, 2024, 01:55:35pm UTC

All Lighthouse Beacon Nodes and Validator Clients must be upgraded to a v5.x.x release to ensure they follow the correct chain. The following table demonstrates which releases are reliable, Dencun-ready releases:

Release Is Reliable, Dencun-Ready v5.x.x Release
v4.6.0 ❌ No
v5.0.0 ✅ Yes
Any release after v5.0.0 ✅ Yes

To be Dencun ready, user will need to:

  • Upgrade their Lighthouse BN(s) to a v5.x.x release.
  • Upgrade their Lighthouse VC(s) to a v5.x.x release.
  • Upgrade their Execution Engine(s) to a Cancun-ready release:

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

Lighthouse will start periodically emitting the following logs two weeks before the Dencun upgrade (28th of February):

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

Just because Lighthouse is logging Ready for Deneb 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.

Note that with blobs (EIP-4844) being added in Dencun, each node is expected to consume additional disk space, with an expected average of 50 GiB, up to a maximum of 103GiB for blobs.

Fix bug in VC flag --builder-proposals (#5151)

There was a bug in the logic for the --builder-proposals VC flag introduced in Lighthouse v4.6.0. Rather than setting the boost to 0 when builder-propsals was false, it was setting it to 0 when builder-proposals was true. Users have been using --builder-boost-factor 100 as a workaround until now.

This issue has been resolved and the preference can now be enabled with the --builder-proposals.

See https://github.com/sigp/lighthouse/pull/5151.

:warning: Breaking Changes :warning:

This release contains breaking changes, all of which are detailed below.

Validator Liveness endpoint now accepts string encoded indices

The standard liveness endpoint (/eth/v1/validator/liveness) was introduced in the previous version of Lighthouse but did not accept string-encoded validator indices, which is part of the specification. This has been fixed and will require updating both BN and VC to the latest version.

See https://github.com/sigp/lighthouse/pull/5184.

Minimum Supported Rust Version 1.75.0

The minimum supported Rust version (MSRV) has been updated to 1.75.0. 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 v5.0.0 (/home/sigp/lighthouse/lighthouse) cannot be built because it requires rustc 1.75 or newer

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

Deleted custom endpoint lighthouse/beacon/states/{state_id}/ssz

This endpoint is redundant and no longer required, because equivalent endpoints now exist in the standard beacon API.

See https://github.com/sigp/lighthouse/pull/5065.

New mandatory --checkpoint-blobs flag for manual checkpoint syncing

For users checkpoint syncing manually (previously using --checkpoint-block and --checkpoint-state), there is now an additional mandatory --checkpoint-blobs flag for users to supply the checkpoint blobs. Users using the --checkpoint-sync flag are not affected.

See https://github.com/sigp/lighthouse/pull/5252.

Deprecated BN flag --disable-duplicate-warn-logs

This BN flag was introduced in Lighthouse v4.6.0. It has now become the default behaviour in this version, where gossipsub duplicate logs are debug level instead of warn, thus deprecating this flag.

See https://github.com/sigp/lighthouse/pull/5163.

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 v5.0.0 (#5254)
  • Revert libp2p metrics (#4870) (#5265)
  • Deactivate RPC Connection Handler after goodbye message is sent (#5250)
  • Deprecate env_log flag in tracing layer (#5228)
  • Download checkpoint blobs during checkpoint sync (#5252)
  • Add Deneb fork epoch for Gnosis (#5242)
  • check the da cache and the attester cache in responding to RPC requests (#5138)
  • Verify Versioned Hashes During Optimistic Sync (#4832)
  • enable doppelganger tests for deneb (#5137)
  • Handle unknown head during attestation publishing (#5010)
  • Add distributed flag to VC to enable support for DVT (#4867)
  • Schedule Deneb on mainnet (#5233)
  • Quieten gossip republish logs (#5235)
  • Drop gossipsub stale messages when polling ConnectionHandler. (#5175)
  • validator liveness endpoint should accept string encoded indices (#5184)
  • Update to consensus spec v1.4.0-beta.6 (#5094)
  • Update to warp v0.3.6 (#5172)
  • Remove curve25519-dalek patch (#5214)
  • Improve database compaction and prune-states (#5142)
  • chore(docs): amend port guidance to enable QUIC support (#5029)
  • improve libp2p connected peer metrics (#4870)
  • Fix backfill stalling (#5192)
  • Improve network parameters (#5177)
  • increment peer per topic count on graft messages (#5212)
  • Downgrade gossipsub duplicate logs (#5163)
  • Fix failing cargo-udeps (#5203)
  • Update external LLVM version in preparation for Rust 1.76. (#5179)
  • Small typo in testing config (#5178)
  • Optional slashing protection for remote keys (#4981)
  • Remove unused js file in Lighthouse book (#5164)
  • Fix incorrect value set for blobs_by_root_request rpc limit. (#5181)
  • Fix Rust beta compiler errors (1.77) (#5180)
  • Config for web3signer keep-alive (#5007)
  • Re-disable block verification tests in debug (#5155)
  • Update gnosis bootnodes (#4986)
  • feat(config): add chiado bootnodes ENRs (#4727)
  • Properly log panics with slog (#5075)
  • Some updates in Lighthouse Book (#5000)
  • Prevent QUIC logs when quic is disabled (#5071)
  • Test backfill (#5109)
  • Add a note about validator monitoring in Lighthouse book (#5143)
  • Add gossipsub as a Lighthouse behaviour (#5066)
  • Move from igd to igd-next (#5068)
  • Update deterministic subnets upgrade to allow prefix computation (#4959)
  • Fix bug in --builder-proposals (#5151)
  • Compute recent lightclient updates (#4969)
  • Assume Content-Type is json for endpoints that require json (#4575)
  • Delete temporary mitigation for equivocation via RPC (#5037)
  • Make lcli docker image portable (#5069)
  • Update to the docs (#5106)
  • fix: update outdated links to external resources (#5018)
  • Remove custom SSZ beacon states route (#5065)
  • Fix off-by-one in backfill sig verification (#5120)
  • Increase attestation cache sizes (#5135)
  • #5102 Fix load_state_for_block_production metric mapping (#5103)
  • Update Mergify commit message template (#5126)
  • Replace backticks with single quotes (#5121)

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

v4.6.222-exp

3 months ago

Disclaimer

:warning: You should not run this alpha release supporting mainnet validators :warning:

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, <200GB 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 all the latest changes from v4.6.0 including Deneb on Sepolia, Holesky and Chiado. Check out the release notes for v4.6.0 for more information.

In terms of tree-states specific changes, we have:

:warning: Backwards Compatibility :warning:

This release is backwards compatible with v4.6.111-exp, v4.5.444-exp, 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 stable).

Known Issues

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

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

Building from source

Build the v4.6.222-exp tag.

All Changes

  • Tree states v4.6.222-exp (#5147)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • fsync during backfill to prevent DB corruption (#5144)
  • Fix tree-states sub-epoch diffs (#5097)
  • Make lcli docker image portable (#5069)
  • Update to the docs (#5106)
  • fix: update outdated links to external resources (#5018)
  • Remove custom SSZ beacon states route (#5065)
  • Fix off-by-one in backfill sig verification (#5120)
  • Increase attestation cache sizes (#5135)
  • #5102 Fix load_state_for_block_production metric mapping (#5103)
  • Fix new CLI tests for tree-states (#5132)
  • Update Mergify commit message template (#5126)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Replace backticks with single quotes (#5121)
  • Bump versions (#5123)
  • Expose additional builder booster related flags in the vc (#5086)
  • Prevent rolling file appender panic (#5117)
  • Correct multiple dial bug (#5113)
  • Fix indices filter in blobs_sidecar http endpoint (#5118)
  • Backfill blob storage fix (#5119)
  • Correct discovery logic (#5111)
  • Gossipsub fanout correction (#5110)
  • Reduce size of futures in HTTP API to prevent stack overflows (#5104)
  • Small Readability Improvement in Networking Code (#5098)
  • Upgrade shlex to 1.3.0 (#5108)
  • Stop Penalizing Peers in Parent SingleBlobLookup (#5096)
  • set deneb fork on testnets (#5089)
  • Hold HeadTracker lock until persisting to disk (#5084)
  • Fix PublishBlockRequest SSZ decoding (#5078)
  • Bump h2 (#5085)
  • Remove blobs_db when purge-db (#5081)
  • Add Deneb readiness logging (#5074)
  • Critical dependency logging (#4988)
  • add tracing metrics layer for dependency logging (#4979)
  • Fix zero port error (#5021)
  • docs: fix typos (#5059)
  • Update teku's bootnodes (#5052)
  • add content-type octet stream helper fn (#5062)
  • Fix asset paths in release CI upload job (#5056)
  • Don't error on inactive indices in att. rewards

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

v4.6.0

3 months ago

Summary

This medium-priority release provides valuable features, performance improvements and bug fixes for mainnet users. It also enables the Deneb upgrade on the Sepolia, Holesky and Chiado testnets.

The Deneb upgrades are scheduled for:

  • Sepolia: Jan 30 2024 @ 22:51:12 (GMT+0)
  • Chiado: Jan 31 2024 @ 18:15:40 (GMT+0)
  • Holesky: Feb 7 2024 @ 11:34:24 (GMT+0)

All Sepolia, Holesky and Chiado users must upgrade both their testnet VCs and BNs before the respective upgrade time. Failing to upgrade will require the user to manually resync their nodes.

This release also includes a variety of new features and a few breaking changes. Please see the section on Breaking Changes below.

Users who rely exclusively on builder blocks (e.g., RocketPool) should be sure to read the "Standard block V3 endpoint" section.

Standard block V3 endpoint

The new produce block V3 API has been standardized across clients (https://github.com/ethereum/beacon-APIs/pull/339). This endpoint allows us to give validators more control over whether to prefer a local or builder payload during proposals. The validator client will not use this new endpoint by default; it must be enabled by adding --produce-block-v3 to the validator client. This mode will be enabled by default in the future. With the advent of V3, the following BN flags will no longer be supported:

  • --builder-profit-threshold
  • --always-prefer-builder-payload

Please refer to the Breaking Changes section below for detailed information and necessary actions.

Per-validator configuration of whether to use an external builder is still possible via the builder_proposals field. This has been extended to allow each validator to specify one of the following:

  • builder_boost_factor: a percentage multiplier to apply to the builder's payload value when choosing between a builder proposal and a local proposal.
  • prefer_builder_proposals: a boolean flag to indicate preference for blocks constructed by builders, regardless of payload value.

The block V3 endpoint also allows validators working with multiple beacon nodes (e.g. via Vouch) to compare rewards between beacon nodes before selecting payloads. This is done by exposing the consensus rewards of the block, as well as the execution rewards of the payload directly to the validator.

On the block V2 endpoints, if a validator is using the blinded block flow and gets exceptionally unlucky, falling back to another beacon node at an inopportune time, it could miss its proposal. This is no longer possible with the V3 endpoint.

NOTE: If you are using --builder-proposals you must also set --builder-boost-factor 100 to work around a bug, see below.

Known Issues 🐞

There is a bug in the validator client flag --builder-proposals which causes the VC not to use builder proposals when the following conditions are met:

  • The flag --builder-proposals is set, and
  • The --produce-block-v3 flag is set, and
  • No other flags or configuration affecting the builder-boost-factor are set, e.g. --builder-boost-factor, --prefer-builder-proposals, or per-validator builder_boost_factor.

The bug has been identified and fixed in this PR which will part of our next release: https://github.com/sigp/lighthouse/pull/5151.

Until then, the workaround is to add --builder-boost-factor 100 to the validator client flags. The 100% setting is the intended default, and will cause Lighthouse to use the builder payload only when it is more profitable than a local payload. You may also set a different value (see Breaking Changes for more information on this flag).

Execution layer payload selection input

Recent changes in the execution APIs have also provided a new should_override_builder field along with each local payload. Lighthouse will check if this is set to true and return a local payload if it is. This field allows the execution layer to monitor the mempool and look for signs of ongoing censorship from block builders. It can signal its suggestion to use a local payload to combat censorship to the consensus layer to select a local payload in these scenarios.

Validator broadcast

Validator clients can now be configured to publish messages to all connected beacon nodes using the --broadcast flag. This allows users to improve redundancy when publishing messages related to validator duties. The flag can be configured with specific message types (attestations,sync-committee,blocks, subscriptions). It can also be configured to make sure subscriptions are not sent to all beacon nodes (--broadcast none). This replaces the now deprecated --disable-run-on-all flag. Thanks @uvizhe for the contribution!

More information is available in the Redundancy section of the Lighthouse book.

(see https://github.com/sigp/lighthouse/pull/4920)

Networking Improvements

Some extensive changes have been made to the networking components in this release. We have focused on a number of performance and structural changes to the gossipsub protocol and discovery mechanism. Some of the main gossipsub changes are listed in issue (https://github.com/sigp/lighthouse/issues/4918). An overview of the primary changes are:

  • Removed gossipsub flood publishing (https://github.com/sigp/lighthouse/pull/4383) - Aimed to reduce message propagation latency and lighten the memory footprint
  • Upgraded libp2p to v0.53.* (https://github.com/sigp/lighthouse/pull/4935)
  • Enabled concurrent discovery RPC requests
  • Improved handling of slow peers at the gossipsub level
  • Handled memory allocations in message transmission in gossipsub
  • Improved prioritisation of messages in gossipsub

Standard Liveness Endpoint

The validator client now uses the standard liveness endpoint for doppelganger protection (see https://github.com/sigp/lighthouse/pull/4853). This makes the Lighthouse VC's doppelganger protection compatible with any beacon node that implements the standard liveness endpoint.

Major Changes

New HTTP APIs

The Lighthouse BN supports the following new HTTP APIs:

:warning: Breaking Changes :warning:

VC and BN Compatibility

The Lighthouse VC now uses the liveness endpoint from the standard API, rather than a custom Lightouse endpoint (#4853). This only affects the --enable-doppelganger-protection feature.

When Doppelganger protection is enabled, Lighthouse VCs from this version will not work with Lighthouse BNs prior to v4.4.1 (released Sept. 2023).

Database Migration v19

To support Deneb, this release includes an automatic upgrade from v17 to v19.

Some Goerli users might notice a delay of one or two minutes when starting up for the first time after the upgrade. Lighthouse is correcting a issue with blob storage after checkpoint sync, no user intervention is required (see: https://github.com/sigp/lighthouse/pull/5119).

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

Checkpoint sync is required by default

Genesis sync will no longer work without the use of --allow-insecure-genesis-sync. Checkpoint sync should always be preferred to protect yourself from long-range attacks. Additionally, genesis sync is not compatible with data availability checks that are added in Deneb. On chains that have been running for less than ~2 weeks, genesis sync will still work without --allow-insecure-genesis-sync, so this change won't impact local testnets or short-lived testnets.

Removed flags

The following flags have been deprecated in prior releases and are being removed. Lighthouse will not start up if any are included in the startup command.

  • --spec for lighthouse bn
  • --eth1-endpoint for lighthouse bn
  • --eth1-endpoints for lighthouse bn
  • --beacon-node for lighthouse vc
  • --server for lighthouse vc
  • --delete-lockfiles for lighthouse vc
  • --allow-unsynced for lighthouse vc
  • --strict-fee-recipient for lighthouse vc
  • --merge for lighthouse bn
  • --count-unrealized for lighthouse bn
  • --count-unrealized-full for lighthouse bn
  • --http-disable-legacy-spec for lighthouse bn
  • --minify for lighthouse account validator slashing-protection import/export

(see https://github.com/sigp/lighthouse/pull/4906)

Deprecated flags

The following flags should be removed from setups. If they are not removed, they will have no effect.

Deprecated: --builder-profit-threshold BN flag

Prefer using the -min-bid flag in mev-boost. Alternatively, the new --builder-boost-factor VC flag can be used to achieve a similar effect using a percentage multiplier (see https://github.com/sigp/lighthouse/pull/5086). For example, using --builder-boost-factor 120 increases a builder proposal's value by 20% for comparison, effectively making it 120% of its actual value and thereby favoring it over a local payload by this margin. Alternatively, to prefer local payloads, set a value lower than 100. For example --builder-boost-factor 50 will only use the builder payload if it is 2x more profitable than the local payload. To use builder boost flag, --produce-block-v3 must also be enabled.

Deprecated: --always-prefer-builder-payload BN flag

Use the new and equivalent --prefer-builder-proposals VC flag to restore this functionality (see https://github.com/sigp/lighthouse/pull/5086). You must also use the --produce-block-v3 flag.

Deprecated: --disable-run-on-all VC flag

This flag has been superseded by the --broadcast flag. Use --broadcast none to disable broadcast to all nodes (see https://github.com/sigp/lighthouse/pull/4920).

Rust MSRV

The minimum supported Rust version has been updated from 1.69.0 to 1.73.0

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.6.0 (/home/sigp/lighthouse/lighthouse)` cannot be built because it requires rustc 1.73.0 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 Medium Medium
Non-Staking Users Medium ---

See Update Priorities more information about this table.

The Beacon Node must be running v4.4.1 or later to support a VC running this release. We recommend updating both the VC and BN to the same release.

This release is high-priority for Sepolia, Holesky and Chiado users. Those users must update both the VC and BN.

All Changes

A full list of changes can be viewed at: https://github.com/sigp/lighthouse/compare/v4.5.0...v4.6.0.

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

v4.6.111-exp

3 months ago

Disclaimer

:warning: You should not run this alpha release supporting mainnet validators :warning:

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 all the latest changes from v4.6.0-rc.0 including Deneb-on-Goerli and a fix for the networking OOM. Check out the release notes for v4.6.0-rc.0 for more information.

In terms of tree-states specific changes, we have:

  • Bugfix to prevent database corruption caused by non-atomic writes & shutdown (#4975).
  • Optimisations for the HTTP API to better handle concurrent requests for the same data (#4879).
  • Bugfix for the rewards API (#4960).

:warning: Backwards Compatibility :warning:

This release is backwards compatible with v4.5.444-exp, 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 stable).

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.6.111-exp tag.

All Changes

  • Tree states release v4.6.111-exp
  • Add cache for parallel HTTP requests (#4879)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Remove stray println
  • Restore crash safety for database pruning (#4975)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Fix cache initialization in block rewards API (#4960)
  • Merge remote-tracking branch 'origin/unstable' into tree-states
  • Handle out-of-order forks in epoch cache (#4881)

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