Miles Knightly
Summary
This is a substantial update to Lighthouse which contains many new features, performance improvements and fixes. Importantly, due to added support for the Altair hard-fork, this release is not backwards-compatible with v1.4.0 or earlier. You can safely upgrade to this release without re-syncing the chain, but will need to re-sync to downgrade (see Breaking Changes below).
With this caveat clearly stated, the Lighthouse team is proud to present this release which contains:
- A refined and improved networking stack.
- Doppelganger protection (disabled by default).
- The
reorg
event has been added to the HTTP API. - Caching of attestations for unknown blocks, to improve validator rewards (#2319)
- Hardware-optimized hashing (#2426)
- Faster and more reliable attesting for validators (#2478)
- Support for compiling under the latest version of Rust (#2483)
- Support for Altair on the Pyrmont testnet
- Countless bug/annoyance fixes.
Breaking Changes
- This update involves a change to the Beacon Node database schema which is not backwards compatible. After upgrading, reverting to v1.4.0 or earlier will require users to delete the existing beacon node database and re-sync. This does not affect the slasher or validator client. Re-syncing is only required on a downgrade (reversion), there is no need to re-sync if upgrading to this release from an earlier version – the database migration will happen automatically.
- Changes have been made to the beacon node API which will result in previous versions of the Lighthouse validator client logging warnings about "incompatibility". The solution is simple; update and restart both the beacon node and validator client.
- Some Prometheus metrics and the
/lighthouse/validator_inclusion
endpoints have been modified to be Altair-compatible. See #2416 for detail.
Known Issues
The validator client is incompatible with Teku beacon nodes on Prater due to a difference in how Prater configuration is represented. If you are running a Lighthouse validator client with a Teku beacon node on Prater (including via Infura) we recommend remaining on v1.4.0 until the incompatibility is resolved. Mainnet and Pyrmont are unaffected. More information here.
There are a couple of Altair-related issues that do not affect mainnet, and will be fixed in the next release. Importantly, if you run a Pyrmont node and didn't update to a v1.5.0 release candidate before the Altair fork, then issue #2526 means that upgrading now will be ineffective. We plan to have this fixed in the next release.
- Unable to restart lighthouse if altair fork is missed (#2526)
- Fork schedule API is not updated for Altair (#2524)
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
- 90d5ab1 v1.5.0 (#2535)
- f2a8c62 Metrics and DEBG log for late gossip blocks (#2533)
- 12fe72b Always require auth header in VC (#2517)
- c737983 v1.5.0-rc.1 (#2516)
- bc6a848 Quote integers in sync committee contributions (#2515)
- c0a2f50 Upgrade dependencies (#2513)
- d17350c Lower penalty for past/future slot errors (#2510)
- 4c4ebfb v1.5.0 rc.0 (#2506)
- 4af6fcf Bump libp2p to address inconsistency in mesh peer tracking (#2493)
- 33ff51a Add Altair fork schedule for Pyrmont (#2501)
- 54f92cc Use THC for
state.inactivity_scores
(#2504) - 7b46c4b Add docs for Pre-Releases (#2505)
- ceda273 Ensure doppelganger detects attestations in blocks (#2495)
- ff85b05 Add docs for doppelganger protection (#2496)
- 71ab16e Register vals with doppelganger earlier (#2494)
- 17a2c77 Altair validator client and HTTP API (#2404)
- 350b6f1 Print only unique doppelgangers (#2500)
- fc89693 Update mdbook version in github actions (#2497)
- e8c0d1f Altair networking (#2300)
- 6a620a3 Fix starting-epoch check in doppelganger (#2491)
- 187425c Bump discv5 to v0.1.0-beta.9 (#2479)
- c5786a8 Doppelganger detection (#2230)
- 834ee98 Fix flag in redundancy docs (#2482)
- 303deb9 Rust 1.54.0 lints (#2483)
- 8efd9fc Add
AttesterCache
for attestation production (#2478) - 1d4f90e Bump tests to v1.1.0-beta.2 (#2481)
- 923486f Use bulk verification for sync_aggregate signature (#2415)
- 6e3ca48 Cache participating indices for Altair epoch processing (#2416)
- f5bdca0 Update to spec v1.1.0-beta.1 (#2460)
- 84e6d71 Tree hash caching and optimisations for Altair (#2459)
- 74aa99c Document BN API security considerations (#2470)
- 63923ea Bump discv5 to v0.1.0-beta.8 (#2471)
- 17b6d7c Add
http-address
flag to VC (#2467) - bcf8ba6 Add lcli Dockerfile and auto-build to CI (#2469)
- 9a8320b Merge pull request #2389 from sigp/network-1.5
- 08fedbf (origin/pr/2389) Libp2p Connection Limit (#2455)
- 6818a94 Discovery update (#2458)
- 381befb Ensure disconnecting peers are added to the peerdb (#2451)
- 059d9ec Gossipsub scoring improvements (#2391)
- c62810b Update to Libp2p to 39.1 (#2448)
- 3c0d322 Global Network Behaviour Refactor (#2442)
- 6422632 Relax requirement for enr fork digest predicate (#2433)
- c1d2e35 Bleeding edge discovery (#2435)
- f4bc9db Change the window mode of yamux (#2390)
- 6fb48b4 Discovery patch (#2382)
- 4aa06c9 Network upgrades (#2345)
- b0f5c4c Clarify eth1 error message (#2461)
- a3a7f39 [Altair] Sync committee pools (#2321)
- 8fa6e46 Update direct libsecp256k1 dependencies (#2456)
- fc4c611 Remove msg about longer sync with remote eth1 nodes (#2453)
- 304fb05 Maintain attestations that reference unknown blocks (#2319)
- 9656ffe Metrics for sync aggregate fullness (#2439)
- 27aec19 Add more detail to "Prior attestation known" log (#2447)
- 20fce11 Start a release checklist (#2270)
- 2c691af Use hardware acceleration for SHA256 (#2426)
- a7b7134 Return more detail when invalid data is found in the DB during startup (#2445)
- 371c216 Use read_recursive locks in database (#2417)
- b3c7e59 Adjust beacon node timeouts for validator client HTTP requests (#2352)
- b4689e2 Altair consensus changes and refactors (#2279)
- 8936157 Update testnet-validator.md (#2432)
- 78e5c0c Capture a missed VC error (#2436)
- 406e392 Use forwards iterator for state root lookups (#2422)
- 73d002e Update outdated dependencies (#2425)
- 2064860 Add Lighthouse version and commit hash to Prometheus metrics (#2427)
- 379664a Improve compilation error on 32-bit (#2424)
- 9461ac2 Run apt-get upgrade to get latest security updates (#2418)
- 2357a41 Fix typo in advanced networking docs (#2412)
- 6583ce3 Minify slashing protection interchange data (#2380)
- b84ff9f rust 1.53.0 updates (#2411)
- 3dc1eb5 Ignore inactive validators in validator monitor (#2396)
- 98ab00c Handle Geth pre-EIP-155 block sync error condition (#2304)
- b1657a6 Reorg events (#2090)
- 3261eff split outbound and inbound codecs encoded types (#2410)
- a526145 Fix remote signer test (#2400)
- dffe31c Add an account command to enable/disable validators (#2386)
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.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.5.0 | sigp/lighthouse |