Releases: sigp/lighthouse
Garbage Goober
Summary
This release addresses a bug in rust-libp2p
which has been causing the Lighthouse networking stack to perform poorly since the v2.1.0 release.
This bug-fix significantly improves peer stability and is recommended for any user who is seeing an erratic peer-count and/or missing attestations due to InsufficientPeers
.
Fix to rust-libp2p
Since the v2.1.0 release, users have been reporting issues with peer stability manifesting as missed attestations.
After months of developer hours investigating this issue and making peer stability improvements via other methods, we are relieved to have identified an obscure but impactful bug in rust-libp2p
.
Whilst user feedback will be the ultimate indicator of success, we are confident that this release will represent a major improvement in peer stability.
Lighthouse relies on a regular "heartbeat" from rust-libp2p
in order to perform many critical tasks. An unfortunate regression in rust-libp2p
caused the heartbeat to become irregular and stretch from a 700ms interval to several minutes. We have raised this issue with the rust-libp2p
developers who have been receptive and are working on a fix. To provide relief to our users, Lighthouse is using a Sigma Prime fork of rust-libp2p
with a hot-fix applied.
Breaking Changes
The Pyrmont network is no longer natively supported by Lighthouse (#2543). This means that the --network pyrmont
flag will no longer work.
Since the Pyrmont testnet is abandoned and in a state of disarray, we do not expect this to be of concern to our users. The Prater testnet has superseded the Pyrmont testnet.
Users can still opt to use the --testnet-dir
flag to manually sync the Prymont network, if desired.
VC and BN Update Procedure
The VC and BN between this release and the previous are compatible. You may update them independently.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Low Priority |
Non-Staking Users | Medium Priority | --- |
See Update Priorities for more information about this table.
All Changes
- v2.1.3 (#3017)
- Remove Pyrmont testnet (#2543)
- libp2p upgrade + gossipsub interval fix (#3012)
- Add "update priority" (#2988)
- Allow per validator fee recipient via flag or file in validator client (similar to graffiti / graffiti-file) (#2924)
- Bump crossbeam-utils to fix cargo-audit CI failure (#3004)
- Fix Docker run -p for both TCP and UDP (#2998)
- Gossip cache timeout adjustments (#2997)
- Correct a dial race condition (#2992)
- upgrade libp2p (#2933)
- Retry gossipsub messages when insufficient peers (#2964)
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-v2.1.3-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.3-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.3-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.3-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.3-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.3-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.3-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.3-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.1.3 | sigp/lighthouse |
Heistotron
Summary
This release significantly improves peer stability and is recommended for any user who is seeing an erratic peer-count and/or missing attestations due to InsufficientPeers
.
In addition to peer stability improvements, this release also contains:
- Eth2 Key Manager API support for the validator client (#2736)
- Docker Hub images with CPU-optimized "modern" BLST (#2966)
- Support for
--network gnosis
(#2931)
Peer Scoring Stability
There appears to be a significant portion of peers which are transmitting late messages on the p2p gossip network. The cause is yet to be determined and it's clear that more time will be required to investigate. The late messages are not likely to consume a significant amount of system or network resources, so it seems beneficial to network stability to temporarily tolerate peers who exhibit this behaviour (see (#2976). Once the cause(s) of the late messages is/are determined, we will revisit the peer-scoring parameters.
Optimized Docker Images
If you are running Lighthouse under Docker on a modern CPU then you can probably upgrade to the latest-modern
tag for a 20-30% speed-up on signature verification.
If you are running the Lighthouse image manually, use latest-modern
or v2.1.2-modern
in your docker
commands, e.g.
docker run sigp/lighthouse:latest-modern
If you are using lighthouse-docker then you can upgrade by setting LIGHTHOUSE_VERSION=latest-modern
in your .env
file.
To check whether your CPU is compatible with the optimized image, see Portability in the book. For more information on all the available images, see Available Docker Images.
VC and BN Update Procedure
The VC and BN between this release and the previous are compatible. You may update them independently.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Low Priority |
Non-Staking Users | Low Priority | --- |
User Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
- v2.1.2 (#2980)
- Add checks to prevent fwding old messages (#2978)
- Add strict penalties const bool (#2976)
- Fix small typo in error log (#2975)
- local testnet: Fix an error on startup (#2973)
- Run setup.sh foreground in order to avoid timing issues (#2970)
- Optimized Docker images (#2966)
- Reduce gossip history (#2969)
- Parse uint256 as decimal string (#2957)
- Implement standard keystore API (#2736)
- Native support for Gnosis Beacon Chain network (#2931)
- Avoid looking up pre-finalization blocks (#2909)
- Add API to compute discrete validator attestation performance (#2874)
- Outaded flag in lighthouse book (#2965)
- Implement API for block rewards (#2628)
- Add flag to disable confirmation when performing voluntary exits (#2955)
- Set mmap threshold to 128KB in malloc utils (#2937)
- Code quality improvents to the network service (#2932)
- Document why we hash downloaded blocks for both sync algs (#2927)
- Fix errors from local testnet scripts on MacOS (#2919)
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-v2.1.2-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.2-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.2-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.2-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.2-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.2-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.2-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.2-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.1.2 | sigp/lighthouse |
Poñeta
Summary
This update addresses a bug that can cause missed attestations accompanied by a Could not publish message error: InsufficientPeers
log. We recommend all users update to this release, at their convenience. Even users who are not affected by the bug immediately will likely experience it to some degree, eventually.
The bug fix is relevant to the BN and users are not strictly required to update the VC as well. However, we still recommend updating the VC to this version.
Notable changes include:
- Fix for increased frequency of missed attestations accompanied by a
Could not publish message error: InsufficientPeers
log (#2948). - Compatibility between Lighthouse VCs and Nimbus beacon nodes (#2940, #2943, #2952).
- Fix to HTTP query string parsing (#2908).
Known Issues
The validator client compatibility changes inadvertently introduced a bug that results in a panic when a Lighthouse v2.1.1 validator client (VC) connects to a Lighthouse beacon node (BN) of version v2.0.1 or earlier. If you update your beacon node(s) and validator client(s) to v2.1.1 then your setup will be unaffected, the panic will only occur if a beacon node is kept back on v2.0.1 or earlier. We have confirmed that Infura beacon nodes are also unaffected. For more information please see #2957.
Breaking Changes
There are no breaking changes between v2.1.0 and v2.1.1.
Users upgrading from a version prior to v2.1.0 should be sure to read the v2.1.0 release notes and understand the breaking changes involved.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Low Priority |
Non-Staking Users | Low Priority | --- |
User Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
- 5f628a7 v2.1.1 (#2951)
- 69288f6 VC: don't warn if BN config doesn't match exactly (#2952)
- b9b3ea7 Fix metric name for monitoring (#2950)
- ca29b58 Increase target subnet peers (#2948)
- f35a337 Quote validator indices when posting duties (#2943)
- 799aedd Add default config options for transition constants (#2940)
- f0f327a Removed all disable_forks (#2925)
- fc7a1a7 Allow disconnected states to introduce new peers without warning (#2922)
- a8ae9c8 Add linkcheck workflow (#2918)
- 0116c8d Change type of extra fields in ConfigAndPreset (#2913)
- d06f874 Support duplicate keys in HTTP API query strings (#2908)
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-v2.1.1-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.1-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.1-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.1-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.1-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.1.1-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.1-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.1.1-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.1.1 | sigp/lighthouse |
Diane Sanchez
Summary
This update provides significant optimisations and bug-fixes for mainnet users.
We recommend all users update to this release, at their convenience. Users
need to update both their Beacon Node (BN) and Validator Client (VC) when
updating.
Notable changes include:
- Adds a mechanism to improve attestation performance during heavy disk I/O (#2872).
- Improves cache performance during skip slots and late-blocks (#2849, #2832).
- Fixes cases where peers are excessively penalized and disconnected, resulting in
sharp drops in peer counts (#2903, #2894). - Switches the slasher database to MDBX, resulting in a smaller disk footprint (#2776).
- Changes default behaviour when using a relative
--datadir
(#2682, #2846). - Introduces support for running merge testnets (e.g. Kintsugi) (#2768).
Users should expect this release candidate to provide more stability, reduced resource consumption
and better validator performance.
Known Issues
Increased Memory Footprint
During testing, some nodes exhibited a temporarily increased beacon node memory
footprint of about 150% (~3GB) after upgrading from v2.0.1
to v2.1.0
. The memory usage returns to normal after the first restart.
This increased footprint occurs during a recent database migration. The
migration causes memory fragmentation which increases the overall memory
footprint.
Users who observe an increased memory footprint can choose to restart their
beacon node to get the "normal" footprint again. Users who don't mind the
increased footprint can leave their node running with no harm.
Since the migration only happens once (i.e. the first time running v2.1.0
or
later) and the memory usage is within reasonable bounds, the developers have
opted to leave the migration as-is.
Teku/Infura Compatibility
Connecting a Lighthouse validator client to a Teku (or Infura) beacon node produces a warning:
WARN Beacon node config does not match exactly, advice: check that the BN is updated and configured for any upcoming forks
This is due to some minor differences in how the two clients serve data on the /config/spec
endpoint when new hard forks are defined. The warning is cosmetic (if annoying), and the two clients will continue to function in its presence.
Breaking Changes
The VC from this release (v2.1.0
) is not compatible with Lighthouse BNs from prior versions.
Users MUST update both Lighthouse BNs and VCs to v2.1.0
.
New dependencies
Lighthouse now requires libclang
when building from source. For details on the packages to install for different platforms please see the updated Building from Source section of the book.
❗ Database Schema Upgrade ❗
Some changes have been made to Lighthouse's database schema to support "the merge", proposer
boosting, and other optimisations. The database schema upgrade will be applied automatically upon
upgrading. Once a beacon node's database has been upgraded by Lighthouse v2.1.0 it will no longer be
compatible with any v2.0.x release, meaning that if you want to revert to a previous version of
Lighthouse you will have to re-sync. We anticipate that this will not be necessary, but Checkpoint
Sync is a good way to re-sync quickly if required.
Slasher Database Changed from LMDB to MDBX
The following section is relevant only to users running a slasher.
The slasher's underlying database has been upgraded to MDBX in
order to address disk usage issues with LMDB (#2538).
Combined with more efficient attestation storage, this should result in around 5-10x less disk space
being used over a long period.
The upgrade to MDBX will happen automatically and destructively upon running v2.1.0. Any previous
LMDB database will be deleted and replaced with a fresh MDBX database. We made the decision to
delete the database rather than copy it, in order to reduce complexity and to avoid running out of
space while copying hundreds of gigabytes of data. Although some LMDB slasher databases had
ballooned to 800GB+ they still only contained data from the last 18 days (4096 epochs) and will be
rebuilt to an equivalent smaller database after running the new release for 18 days.
If you are concerned about everyone upgrading at the same time you could choose to wait a random
number of days between 1 and 18 before upgrading. However we suspect that this is not necessary due
to the presence of Prysm slashers on the network, and the natural staggering of upgrades amongst
users.
Relative Paths in Data Directory
In this release, a bug with parsing the --datadir
flag resulted in relative paths being relative
to the users home directory, rather than to the present working directory. This has been fixed in
#2682 and #2846.
Backwards compatibility is maintained by opening the path relative to the home directory, if it
exists. If that path does not exist, the path is assumed to be relative to the present working
directory.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Medium Priority |
Non-Staking Users | Medium Priority | --- |
Users Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
- v2.1.0 (#2928)
- Make /config/spec backwards compat for VC (#2934)
- Update to spec v1.1.8 (#2893)
- Use "release candidate" in book (#2920)
- v2.1.0-rc.1
- v2.1.0-rc.0
- Remove grandparents from snapshot cache (#2917)
- Lazy hashing for SignedBeaconBlock in sync (#2916)
- PeerDB Status unknown bug fix (#2907)
- Network performance tuning (#2608)
- Remove gitter from readme (#2914)
- Fix broken links in book (#2912)
- Rust 1.58 lints (#2906)
- Remove penalty for attesting to unknown head (#2903)
- Antithesis docker workflow (#2877)
- Add peer score adjustment msgs (#2901)
- Avoid penalizing peers for delays during processing (#2894)
- Skip serializing proposer boost if null (#2899)
- Avoid peer penalties on internal errors for batch block import (#2898)
- Update dependencies including
sha2
(#2896) - Add early attester cache (#2872)
- Document Homebrew package (#2885)
- Adjusting ARCHIVE_URL (#2892)
- Add tests for flags
enable-enr-auto-update
anddisable-packet-filter
(#2887) - Fix off-by-one in block packing lcli (#2878)
- Allow value for beacon_node fee-recipient argument (#2884)
- Use
?
debug formatting for block roots in beacon_chain.rs (#2890) - Update to superstruct v0.4.1 (#2886)
- Fix assert in slashing protection import (#2881)
- Update rust version in
lcli
Dockerfile (#2876) - Only import blocks with valid execution payloads (#2869)
- Additional networking metrics (#2549)
- Allow to set validator password via reimport (#2868)
- Optimise slasher DB layout and switch to MDBX (#2776)
- Add configurable block replayer (#2863)
- Unban peers at the swarm level when purged (#2855)
- Minor Edit on Port Forward Reference (#2867)
- Downgrade AttestationStateIsFinalized error to debug (#2866)
- Enable
mallinfo2
behind feature flag (#2864) - Update docker images to Ubuntu latest (#2862)
- do not count dialing peers in the connection limit (#2856)
- Update OpenSSL (#2865)
- Optimise balances cache in case of skipped slots (#2849)
- v1.1.6 Fork Choice changes (#2822)
- Merge devnet 3 (#2859)
- Update rusqlite from yanked version (#2861)
- Remove wrong duplicated comment (#2751)
- Optimise snapshot cache for late blocks (#2832)
- fix cache miss justified balances calculation (#2852)
- 1.57.0 lints (#2850)
- Restrict network limits based on merge fork epoch (#2839)
- Remove duplicate slot_clock method (#2842)
- Support legacy data directories (#2846)
- Kintsugi Diva comments (#2836)
- Cleanup Comments & Fix get_pow_block_hash_at_ttd() (#2835)
- Kintsugi review comments (#2831)
- Bump crate versions (#2829)
- Removed PowBlock struct that never got used (#2813)
- Kintsugi on_merge_block tests (#2811)
- Increase network limits (#2796)
- Ensure difficulty/hash/epoch overrides change the
ChainSpec
(#2798) - Implement engine API v1.0.0-alpha.4 (#2810)
- Skip memory intensive engine test (#2809)
- Fixes after rebasing Kintsugi onto unstable (#2799)
- Remove old uses of testnet
- Fix Uint256 deserialization (#2786)
- 1.1.5 merge spec tests (#2781)
- Fix arbitrary check kintsugi (#2777)
- Move merge-f2f docker to kintsugi (#2774)
- Kintsugi rebase patches (#2769)
- Accept TTD override as decimal (#2676)
- v1.1.1 spec updates (#2684)
- [Merge] Optimistic Sync: Stage 1 (#2686)
- Fix db paths when datadir is relative (#2682)
- [Merge] Optimistic EL verification (#2683)
- [Merge] Block validator duties when EL is not ready (#2672)
- Disable notifier logging from dummy eth1 backend (#2680)
- Update lcli pubkey replace command (#2677)
- Fixed bugs for m3 readiness (#2669)
- Misc changes for merge testnets (#2667)
- Add
BeaconChainHarness
tests for The Merge (#2661) - Disable autotests for beacon_chain (#2658)
- Add merge fork_epoch and fork_version to Config (#2663)
- add automated docker build for merge-f2f branch (#2654)
- [Merge] Add execution API test vector...
Japheth
🧑🔧 Release Candidate: Not for Production Use 🧑🔧
This is a release candidate. It is not production-ready and not recommended for mainnet use.
Whilst we do not recommend this release for critical and/or mainnet use, we would appreciate help testing this release on testnets.
For more information on release candidates, see: https://lighthouse-book.sigmaprime.io/advanced-release-candidates.html
Summary
Users need to update both their Beacon Node (BN) and Validator Client (VC) when updating.
Notable changes include:
- Adds a mechanism to improve attestation performance during heavy disk I/O (#2872).
- Improves cache performance during skip slots and late-blocks (#2849, #2832).
- Fixes cases where peers are excessively penalized and disconnected, resulting in
sharp drops in peer counts (#2903, #2894). - Switches the slasher database to MDBX, resulting in a smaller disk footprint (#2776).
- Changes default behaviour when using a relative
--datadir
(#2682, #2846). - Introduces support for running merge testnets (e.g. Kintsugi) (#2768).
Users should expect this release candidate to provide more stability, reduced resource consumption
and better validator performance.
Note: the v2.1.0-rc.0
version was not released due to CI failures. Use v2.1.0-rc.1
instead.
Breaking Changes
The VC from this release (v2.1.0-rc.1
) is not compatible with Lighthouse BNs from prior versions.
Users MUST update both Lighthouse BNs and VCs to v2.1.0
.
❗ Database Schema Upgrade ❗
Some changes have been made to Lighthouse's database schema to support "the merge", proposer
boosting, and other optimisations. The database schema upgrade will be applied automatically upon
upgrading. Once a beacon node's database has been upgraded by Lighthouse v2.1.0 it will no longer be
compatible with any v2.0.x release, meaning that if you want to revert to a previous version of
Lighthouse you will have to re-sync. We anticipate that this will not be necessary, but Checkpoint
Sync is a good way to re-sync quickly if required.
Beacon Node API Changes
The GET eth/v1/config/spec
endpoint has been modified to support new constants introduced in
Bellatrix (a.k.a. "the merge"). Since v2.1.0-rc.1
, VCs will expect some Bellatrix constants to be
present in the spec endpoint. Using a v2.1.0-rc.1
VC with an earlier version BN will produce
errors logs similar to "missing field `TERMINAL_TOTAL_DIFFICULTY`".
Slasher Database Changed from LMDB to MDBX
The following section is relevant only to users running a slasher.
The slasher's underlying database has been upgraded to MDBX in
order to address disk usage issues with LMDB (#2538).
Combined with more efficient attestation storage, this should result in around 5-10x less disk space
being used over a long period.
The upgrade to MDBX will happen automatically and destructively upon running v2.1.0. Any previous
LMDB database will be deleted and replaced with a fresh MDBX database. We made the decision to
delete the database rather than copy it, in order to reduce complexity and to avoid running out of
space while copying hundreds of gigabytes of data. Although some LMDB slasher databases had
ballooned to 800GB+ they still only contained data from the last 18 days (4096 epochs) and will be
rebuilt to an equivalent smaller database after running the new release for 18 days.
If you are concerned about everyone upgrading at the same time you could choose to wait a random
number of days between 1 and 18 before upgrading. However we suspect that this is not necessary due
to the presence of Prysm slashers on the network, and the natural staggering of upgrades amongst
users.
Relative Paths in Data Directory
In this release, a bug with parsing the --datadir
flag resulted in relative paths being relative
to the users home directory, rather than to the present working directory. This has been fixed in
#2682 and #2846.
Backwards compatibility is maintained by opening the path relative to the home directory, if it
exists. If that path does not exist, the path is assumed to be relative to the present working
directory.
All Changes
- v2.1.0-rc.1
- v2.1.0-rc.0
- Remove grandparents from snapshot cache (#2917)
- Lazy hashing for SignedBeaconBlock in sync (#2916)
- PeerDB Status unknown bug fix (#2907)
- Network performance tuning (#2608)
- Remove gitter from readme (#2914)
- Fix broken links in book (#2912)
- Rust 1.58 lints (#2906)
- Remove penalty for attesting to unknown head (#2903)
- Antithesis docker workflow (#2877)
- Add peer score adjustment msgs (#2901)
- Avoid penalizing peers for delays during processing (#2894)
- Skip serializing proposer boost if null (#2899)
- Avoid peer penalties on internal errors for batch block import (#2898)
- Update dependencies including
sha2
(#2896) - Add early attester cache (#2872)
- Document Homebrew package (#2885)
- Adjusting ARCHIVE_URL (#2892)
- Add tests for flags
enable-enr-auto-update
anddisable-packet-filter
(#2887) - Fix off-by-one in block packing lcli (#2878)
- Allow value for beacon_node fee-recipient argument (#2884)
- Use
?
debug formatting for block roots in beacon_chain.rs (#2890) - Update to superstruct v0.4.1 (#2886)
- Fix assert in slashing protection import (#2881)
- Update rust version in
lcli
Dockerfile (#2876) - Only import blocks with valid execution payloads (#2869)
- Additional networking metrics (#2549)
- Allow to set validator password via reimport (#2868)
- Optimise slasher DB layout and switch to MDBX (#2776)
- Add configurable block replayer (#2863)
- Unban peers at the swarm level when purged (#2855)
- Minor Edit on Port Forward Reference (#2867)
- Downgrade AttestationStateIsFinalized error to debug (#2866)
- Enable
mallinfo2
behind feature flag (#2864) - Update docker images to Ubuntu latest (#2862)
- do not count dialing peers in the connection limit (#2856)
- Update OpenSSL (#2865)
- Optimise balances cache in case of skipped slots (#2849)
- v1.1.6 Fork Choice changes (#2822)
- Merge devnet 3 (#2859)
- Update rusqlite from yanked version (#2861)
- Remove wrong duplicated comment (#2751)
- Optimise snapshot cache for late blocks (#2832)
- fix cache miss justified balances calculation (#2852)
- 1.57.0 lints (#2850)
- Restrict network limits based on merge fork epoch (#2839)
- Remove duplicate slot_clock method (#2842)
- Support legacy data directories (#2846)
- Kintsugi Diva comments (#2836)
- Cleanup Comments & Fix get_pow_block_hash_at_ttd() (#2835)
- Kintsugi review comments (#2831)
- Bump crate versions (#2829)
- Removed PowBlock struct that never got used (#2813)
- Kintsugi on_merge_block tests (#2811)
- Increase network limits (#2796)
- Ensure difficulty/hash/epoch overrides change the
ChainSpec
(#2798) - Implement engine API v1.0.0-alpha.4 (#2810)
- Skip memory intensive engine test (#2809)
- Fixes after rebasing Kintsugi onto unstable (#2799)
- Remove old uses of testnet
- Fix Uint256 deserialization (#2786)
- 1.1.5 merge spec tests (#2781)
- Fix arbitrary check kintsugi (#2777)
- Move merge-f2f docker to kintsugi (#2774)
- Kintsugi rebase patches (#2769)
- Accept TTD override as decimal (#2676)
- v1.1.1 spec updates (#2684)
- [Merge] Optimistic Sync: Stage 1 (#2686)
- Fix db paths when datadir is relative (#2682)
- [Merge] Optimistic EL verification (#2683)
- [Merge] Block validator duties when EL is not ready (#2672)
- Disable notifier logging from dummy eth1 backend (#2680)
- Update lcli pubkey replace command (#2677)
- Fixed bugs for m3 readiness (#2669)
- Misc changes for merge testnets (#2667)
- Add
BeaconChainHarness
tests for The Merge (#2661) - Disable autotests for beacon_chain (#2658)
- Add merge fork_epoch and fork_version to Config (#2663)
- add automated docker build for merge-f2f branch (#2654)
- [Merge] Add execution API test vectors from Geth (#2651)
- [Merge] Add serde impls for
Transactions
type (#2649) - [Merge] Implement
execution_layer
(#2635) - Finished Gossip Block Validation Conditions (#2640)
- Fork boundary fix (#2646)
- Store execution block hash in fork choice (#2643)
- Update test vectors to v1.1.0 (#2642)
- Handle merge fork in web3signer (#2631)
- Update merge consensus to v1.1.0-beta.5 (#2630)
- Fix clippy lints on merge-f2f (#2626)
- Fix consensus, SSZ, tree hash & run merge EF tests (#2622)
- Initial merge changes
- Add background file logging (#2762)
- Status'd Peer Not Found (#2761)
- Correctly update range status when outdated chains are removed (#2827)
- Allow additional subnet peers (#2823)
- Revert peer DB changes from #2724 (#2828)
- Use published ssz/tree_hash (#2825)
- Ensure consistent log formatting (#2819)
- Inform dialing via the behaviour (#2814)
- Move peer db writes to eth2 libp2p (#2724)
- Sync wrong dbg assertion (#2821)
- Update Lighthouse Dependencies (#2818)
- Fix decoding max length (#2816)
- Investigate and correct RPC Response Timeouts (#2804)
- Fix simulator issues (#2802)
- Add a section on using infura as the checkpoint sync provider (#2797)
- Add fork choice EF tests (#2737)
- Add regression tests for boot_node (#2749)
- Move the peer manager to be a behaviour (#2773)
- De-duplicate attestations in the slasher (#2767)
- Add minimum supported version for checkpoint sync in book (#2779)
- Add cargo vendor test (#2076)
- Peer manager cfg (#2766)
- Do not compute metrics in the network service if the cli flag is not set (#2765)
- Ensure dependent root consistency in head events (#2753)
- Fix linting error on Windows (#2759)
- Check proposer index during block production (#2740)
- Add op pool metrics for attestations (#2758)
- Update prometheus ...
Planetina
Summary
This release contains a fix for a runtime panic in peer discovery that can cause Lighthouse to shutdown unexpectedly (#2711). It is recommended for all users.
Any user that is running a version prior to v2.0.0
must update before the Altair upgrade on the 27th of October. Nodes running v2.0.0
are fully Altair-ready. However, nodes running any release prior to v2.0.1
will not be patched against the panic fixed in #2711.
Other notable features in this release include:
- Fixes to the standard API (#2712)
- More resilient slashing protection imports (#2598)
- A reduction in validator monitor logging verbosity (#2606)
We recommend updating both the Beacon Node (BN) and Validator Client (VC), however there are no known incompatibilities between v2.0.0
and v2.0.1
. Users upgrading from a release prior to v2.0.0
must update both the BN and VC together.
Users upgrading from a release prior to v2.0.0
are advised to read the v2.0.0
Release Notes as they contain important information about breaking changes.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Low Priority |
Non-Staking Users | Low Priority | --- |
Users Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
- Release v2.0.1 (#2726)
- Correct peer connection transition logic (#2725)
- Add Altair tests to op pool (#2723)
- Update to consensus-spec-tests v1.1.3 (#2722)
- Reduce lock contention in backfill sync (#2716)
- Change "too many resources" to "insufficient resources" in eth2_libp2p (#2713)
- Allow custom certificates when connecting to BN (#2703)
- Update discovery (#2711)
- Quoted altair fields (2.0) (#2712)
- Get arbitrary check passing (2.0) (#2710)
- Add
BeaconChainHarness::builder
(#2707) - Make slashing protection import more resilient (#2598)
- Reduce validator monitor logging verbosity (#2606)
- Add TLS capability to the beacon node HTTP API (#2668)
- Refactor Peerdb and PeerManager (#2660)
- Fix cargo audit warns for nix, psutil, time (#2699)
- Avoid negative values in malloc_utils metrics (#2692)
- Update broken api links (#2665)
- Don't log errors on resubscription of gossip topics (#2613)
- Add test_logger as feature to logging (#2586)
- Fix name collision in script (#2678)
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-v2.0.1-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.1-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.1-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.1-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.1-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.1-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.1-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.1-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.0.1 | sigp/lighthouse |
Birdperson
Summary
Lighthouse v2.0.0 is a mandatory upgrade release for all mainnet users. It contains the activation schedule for the beacon chain's first hard-fork: Altair, occurring in around 3 weeks on the 27th of October.
In addition, Lighthouse v2.0.0 includes several new features and optimisations which are described below.
Altair on Mainnet
The v2.0.0 series sets the fork epoch for the Altair upgrade on mainnet, which is scheduled for epoch 74240, i.e. Oct 27, 2021, 10:56:23am UTC. All mainnet users must upgrade to v2.0.0 before this date. Any validators that do not upgrade will cease to follow the chain, will miss 100% of their assigned attestations and blocks, and will be penalised for inactivity.
You must update both the beacon node and validator client together, so that both are aware of the fork.
Checkpoint Sync
Lighthouse beacon nodes can now be synced in a matter of minutes using the new Checkpoint Sync feature. Checkpoint sync accelerates sync by downloading a finalized checkpoint state from an existing beacon node via HTTP, and syncing forward from that point. Checkpoint sync is a first-class Lighthouse feature, and can be used for both staking and archive nodes.
See the docs in the Lighthouse book for more details: https://lighthouse-book.sigmaprime.io/checkpoint-sync.html
⚠️ Database Schema Upgrade ⚠️
The checkpoint sync feature required a small change to Lighthouse's database schema, which will be applied automatically upon upgrading. Once a beacon node's database has been upgraded by Lighthouse v2.0.0 it will no longer be compatible with any v1.x release, meaning that if you want to revert to a previous version of Lighthouse you will have to re-sync from genesis.
Batch BLS Verification for Attestations
An optimisation providing a substantial speed-up to attestation verification has been merged in PR #2399 and is enabled by default. We have observed significant reductions in CPU usage and attestation processing times on both Prater and mainnet.
The optimisation works by grouping the signatures of up to 64 attestations for verification in bulk, which is faster than verifying each signature individually. The batching is opportunistic and will take effect only when 2 or more attestations are queued. In the case of invalid signatures it degrades gracefully to verifying signatures individually, as before. You can read more about this optimisation in the implementation pull request: #2399.
Web3Signer Support
Lighthouse's validator client has been extended with support for the Web3Signer remote signer from Consensys. Using a remote signer allows the validator client to defer responsibility for signing to an external service, which can be administered and audited independently. This is mostly of interest to validators operating at scale, and we are looking forward to seeing the integrations that will be built on top of this feature in the coming weeks and months.
Documentation for using Web3Signer with Lighthouse can be found here: https://lighthouse-book.sigmaprime.io/validator-web3signer.html
Peering and Discovery Improvements
Several improvements have been made to Lighthouse's networking stack, including an upgrade to a more efficient version of discv5
(#2577), and changes to make Lighthouse's peering more robust and resilient (#2530, #2604, #2650).
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Medium Priority |
Non-Staking Users | Medium Priority | --- |
Users Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
The full list of changes since v1.5.2 is:
- Release v2.0.0 (#2673)
- Fix I/O atomicity issues with checkpoint sync (#2671)
- Fix chain_id value in config/deposit_contract RPC method (#2659)
- Create a local testnet (#2614)
- Release v2.0.0-rc.0 (#2634)
- Consistent tracking of disconnected peers (#2650)
- Remove unused deps (#2592)
- Add
BlockTimesCache
to allow additional block delay metrics (#2546) - Improve valmon inclusion delay calculation (#2618)
- Add interop metrics (#2645)
- Refine VC->BN config check (#2636)
- Activate Altair on mainnet at epoch 74240 (#2632)
- Add contribution and proof event (#2527)
- Provide lcli tooling for attestation packing analysis (#2480)
- Update zeroize_derive (#2625)
- Implement SSZ union type (#2579)
- Update spec tests to v1.1.0-beta.4 (#2548)
- Correct bug in sync (#2615)
- Batch BLS verification for attestations (#2399)
- Implement checkpoint sync (#2244)
- Increase connection limits and allow priority connections (#2604)
- Add a note about doppelganger protection interoperability to the docs (#2607)
- Improved handling of IP Banning (#2530)
- Subscribe to altair gossip topics 2 slots before fork (#2532)
- Update mainnet bootnodes (#2594)
- Experimental discovery (#2577)
- Web3Signer support for VC (#2522)
- Shutdown gracefully on panic (#2596)
- Reduce network debug noise (#2593)
- Update sloggers to v2.0.2 (#2588)
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-v2.0.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.0.0 | sigp/lighthouse |
Phoenixperson [PRE-RELEASE]
⚠️ Pre-Release: Not for Production Use ⚠️
This is a pre-release. It is not production-ready and not recommended for mainnet use.
Whilst we do not recommend this release for critical and/or mainnet use, we would appreciate help testing this release on testnets.
For more information on pre-releases, see: https://lighthouse-book.sigmaprime.io/advanced-pre-releases.html
Summary
This is the first pre-release for Lighthouse v2.0.0, which includes several new major features. Please read the following sections closely, as this release includes a database schema migration that prevents downgrading after upgrading.
Altair on Mainnet
The v2.0.0 series sets the fork epoch for the Altair upgrade on mainnet, which is scheduled for epoch 74240, i.e. Oct 27, 2021, 10:56:23am UTC. All mainnet users will have to upgrade to the final v2.0.0 release before this date, but should not upgrade to this pre-release right now. The final v2.0.0 release is scheduled for the week after this pre-release, allowing at least 3 weeks for all stakers to upgrade.
Checkpoint Sync
Lighthouse beacon nodes can now be synced in a matter of minutes using the new Checkpoint Sync feature. Checkpoint sync accelerates sync by downloading a finalized checkpoint state from an existing beacon node via HTTP, and syncing forward from that point. Checkpoint sync is a first-class Lighthouse feature, and can be used for both staking and archive nodes.
See the docs in the Lighthouse book for more details: https://lighthouse-book.sigmaprime.io/checkpoint-sync.html
⚠️ Database Schema Upgrade ⚠️
The checkpoint sync feature required a small change to Lighthouse's database schema, which will be applied automatically upon upgrading. Once a beacon node's database has been upgraded by Lighthouse v2.0.0 it will no longer be compatible with any v1.x release, meaning that if you want to revert to a previous version of Lighthouse you will have to re-sync.
Batch BLS Verification for Attestations
An optimisation providing a substantial speed-up to attestation verification has been merged in PR #2399 and is enabled by default. We have observed significant reductions in CPU usage and attestation processing times on both Prater and mainnet.
The optimisation works by grouping the signatures of up to 64 attestations for verification in bulk, which is faster than verifying each signature individually. The batching is opportunistic and will take effect only when 2 or more attestations are queued. In the case of invalid signatures it degrades gracefully to verifying signatures individually, as before. You can read more about this optimisation in the implementation pull request: #2399.
Web3Signer Support
Lighthouse's validator client has been extended with support for the Web3Signer remote signer from Consensys. Using a remote signer allows the validator client to defer responsibility for signing to an external service, which can be administered and audited independently. This is mostly of interest to validators operating at scale, and we are looking forward to seeing the integrations that will be built on top of this feature in the coming weeks and months.
Documentation for using Web3Signer with Lighthouse can be found here: https://lighthouse-book.sigmaprime.io/validator-web3signer.html
Peering and Discovery Improvements
Several improvements have been made to Lighthouse's networking stack, including an upgrade to a more efficient version of discv5
(#2577), and changes to make Lighthouse's peering more robust and resilient (#2530, #2604, #2650).
All Changes
The full list of changes, including some not covered above is below:
- Release v2.0.0-rc.0 (#2634)
- Consistent tracking of disconnected peers (#2650)
- Remove unused deps (#2592)
- Add
BlockTimesCache
to allow additional block delay metrics (#2546) - Improve valmon inclusion delay calculation (#2618)
- Add interop metrics (#2645)
- Refine VC->BN config check (#2636)
- Activate Altair on mainnet at epoch 74240 (#2632)
- Add contribution and proof event (#2527)
- Provide lcli tooling for attestation packing analysis (#2480)
- Update zeroize_derive (#2625)
- Implement SSZ union type (#2579)
- Update spec tests to v1.1.0-beta.4 (#2548)
- Correct bug in sync (#2615)
- Batch BLS verification for attestations (#2399)
- Implement checkpoint sync (#2244)
- Increase connection limits and allow priority connections (#2604)
- Add a note about doppelganger protection interoperability to the docs (#2607)
- Improved handling of IP Banning (#2530)
- Subscribe to altair gossip topics 2 slots before fork (#2532)
- Update mainnet bootnodes (#2594)
- Experimental discovery (#2577)
- Web3Signer support for VC (#2522)
- Shutdown gracefully on panic (#2596)
- Reduce network debug noise (#2593)
- Update sloggers to v2.0.2 (#2588)
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-v2.0.0-rc.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-rc.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-rc.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.0-rc.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.0.0-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-rc.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.0.0-rc.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.0.0-rc.0 | sigp/lighthouse |
Two Crows
Summary
This release contains useful optimizations for mainnet and testnet users. It also contains improvements to logging, tightened file permissions and usability improvements.
Mainnet users will benefit from #2547, which reduces the time it takes to set a block as the canonical head. This reduces the likelihood of late-to-arrive blocks causing missed head votes for attesters. This should see a marginal increase in validator rewards.
Prater and Prymont users will benefit from #2560 which greatly reduces the load during block processing. This will help overloaded nodes run more smoothly. Any Prater or Pyrmont user running v1.5.1 or earlier should update at their next convenience. This optimization was included in v1.5.2-rc.0, so there is no pressing need to update testnet nodes running that release-candidate.
Cross-compatibility between Lighthouse and Teku has been improved by #2587. This will benefit Infura users across mainnet and testnets.
Breaking Changes
The breaking changes listed here are introduced between v1.5.1 and this this release. No breaking changes have been introduced since v1.5.2-rc.0.
Tighter File Permissions
The log file generated with the --logfile
flag will now have tighter file permissions (600
). Previously, all users had read permissions. Now, read permissions are only granted to the user running the lighthouse
binary. Since the log file is created anew on each restart, these permissions will take affect immediately after updating.
The API token files generated by the lighthouse vc
will also be created with the same restricted file permissions (600
). If the API token files already exist, no changes will be made to their permissions.
Restricting access to log files and API tokens is a security best-practice.
Remote Signer
The lighthouse remote_signer
command has been removed. This feature was incomplete and has been archived. At present, there are no plans to reinstate it. Once #2522 is complete, Lighthouse will support remote signing via Web3Signer.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Medium Priority | Medium Priority |
Non-Staking Users | Medium Priority | --- |
Users Classes and Priorities
Staking users are those who use lighthouse bn
and lighthouse vc
to stake on the Beacon Chain. Non-staking users are those who run a lighthouse bn
for non-staking purposes (e.g., data analysis or applications).
High priority updates should be completed as soon as possible (e.g., hours or days). Medium priority updates should be completed at the next convenience (e.g., days or a week). Low priority updates should be completed in the next routine update cycle (e.g., two weeks).
All Changes
Changes are since the v1.5.1 release.
- f9bba92 v1.5.2 (#2595)
- e4ed42a Fix nightly bump num bigint (#2591)
- f7dd24c Add quoted u64/u64_vec to SyncCommitteeSubscription (#2589)
- 46cd67d Case insensitive match for ForkName (#2587)
- 8d2650f Make local-testnet setup more discoverable (#2572)
- 3b0f324 Fix typo of vars.env (#2574)
- 1eefd6d Add how users should report security vulnerabilities for this repository (#2562)
- ddbd4e6 v1.5.2-rc.0 (#2565)
- 9c785a9 Optimize
process_attestation
with active balance cache (#2560) - f4aa1d8 Archive
remote_signer
code (#2559) - d9910f9 Remove SIGPIPE handler (#2558)
- ac27422 Run altair specific checks with the simulator (#2556)
- 6f18f95 Update file permissions (#2499)
- 50321c6 Updates to make crates publishable (#2472)
- 5a3bcd2 Validator monitor support for sync committees (#2476)
- 44fa540 Persist to DB after setting canonical head (#2547)
- 1031f79 Improve ergonomics of adding a new network config (#2489)
- b4dd98b Shutdown after sync (#2519)
- 10945e0 Revert bad blocks on missed fork (#2529)
- 6b65b6f removed verify_exit_time_independent_only function (#2509)
- bc14d1d Add more unix signal handlers (#2486)
- 99737c5 Improve eth1 fallback logging (#2490)
- beab306 Fix log output for INFO Found no doppelganger (#2551)
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-v1.5.2-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.2-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.2-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.5.2 | sigp/lighthouse |
Crocubot
⚠️ Pre-Release: Not for Production Use ⚠️
This is a pre-release. It is not production-ready and not recommended for mainnet use.
Whilst we do not recommend this release for critical and/or mainnet use, we do recommend that users upgrade their Prater nodes to this version.
For more information on pre-releases, see: https://lighthouse-book.sigmaprime.io/advanced-pre-releases.html
Summary
The motivation for this release candidate is to apply an optimization to Prater nodes (#2560). Without this optimization, a significant increase in block import and API response times will be observed for all blocks since the Altair fork on Prymont (2020/09/02). Whilst this does not represent a consensus bug, it may cause increased CPU load and decreased performance for attesters and API consumers.
Updating to this release (or later) will be required for all Prater users. However, since Prater is a testnet, we do not consider this an urgent priority. We kindly request that users update their Prater nodes at their next convenience.
There is no action required for mainnet users. Do not use this release candidate on mainnet.
Breaking Changes
Tighter File Permissions
The log file generated with the --logfile
flag will now have tighter file permissions (600
). Previously, all users had read permissions. Now, read permissions are only granted to the user running the lighthouse
binary. Since the log file is created anew on each restart, these permissions will take affect immediately after updating.
The API token files generated by the lighthouse vc
will also be created with the same restricted file permissions (600
). If the API token files already exist, no changes will be made to their permissions.
Restricting access to log files and API tokens is a security best-practice.
Remote Signer
The lighthouse remote_signer
command has been removed. This feature was incomplete and has been archived. At present, there are no plans to reinstate it. Once #2522 is complete, Lighthouse will support remote signing via Web3Signer.
All Changes
- ddbd4e6 v1.5.2-rc.0 (#2565)
- 9c785a9 Optimize
process_attestation
with active balance cache (#2560) - f4aa1d8 Archive
remote_signer
code (#2559) - d9910f9 Remove SIGPIPE handler (#2558)
- ac27422 Run altair specific checks with the simulator (#2556)
- 6f18f95 Update file permissions (#2499)
- 50321c6 Updates to make crates publishable (#2472)
- 5a3bcd2 Validator monitor support for sync committees (#2476)
- 44fa540 Persist to DB after setting canonical head (#2547)
- 1031f79 Improve ergonomics of adding a new network config (#2489)
- b4dd98b Shutdown after sync (#2519)
- 10945e0 Revert bad blocks on missed fork (#2529)
- 6b65b6f removed verify_exit_time_independent_only function (#2509)
- bc14d1d Add more unix signal handlers (#2486)
- 99737c5 Improve eth1 fallback logging (#2490)
- beab306 Fix log output for INFO Found no doppelganger (#2551)
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-v1.5.2-rc.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-rc.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-rc.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.2-rc.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.2-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-rc.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.2-rc.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.5.2-rc.0 | sigp/lighthouse |