⚠️ Pre-Release: Not for Production Use ⚠️
This is a pre-release. It is not production-ready and not recommended for mainnet use.
Whilst we don't recommend this release for critical and/or mainnet use, we do recommend that users upgrade their Pyrmont and Prater nodes to this version. We assume that nothing critical is occurring on these testnets.
For more information on pre-releases, see: https://lighthouse-book.sigmaprime.io/advanced-pre-releases.html
Pyrmont Altair Upgrade
This update is mandatory for all nodes on the Pyrmont testnet. At 2021-08-19 12:00:07Z, Pyrmont will undergo an irregular state transition to upgrade to the Altair specification (i.e., there will be a hard fork).
Users running Lighthouse v1.4.0
or earlier will fail to undergo this state-transition and will be left on the wrong side of history.
The Eth2 developers (including the Lighthouse team) are upgrading Pyrmont in anticipation for the same upgrade on mainnet. Failing to upgrade your Pyrmont nodes will impede their efforts to deliver a smooth upgrade on mainnet. Please upgrade your Pyrmont nodes!
To be clear, mainnet users should not implement this release-candidate version. Prater users may upgrade, but are not required to.
Summary
This is a substantial update to Lighthouse with two important caveats:
- This update involves a change to the Beacon Node database schema which is presently not backwards compatible. After upgrading the Beacon Node (BN), users will need to delete the existing BN database and re-sync in order to revert to a previous version. This does not affect the slasher or validator client. Re-syncing is only required on a downgrade, there is no need to re-sync if upgrading to this release from an earlier version --- the database migration will happen automatically.
- Pyrmont users must upgrade their BN and Validator Client (VC) at the same time. Due to the upcoming Altair upgrade, pre-
v1.5.0-rc.0
VCs and BNs are incompatible. This only applies to Pyrmont, other networks are not affected.
Failing to upgrade both the BN and VC on Pyrmont will result in the VC declaring the BN to be "incompatible". The solution is simple; update and restart both processes.
With the caveats clearly stated, the Lighthouse team is proud to present this release which contains:
- Full support for the upcoming Altair fork on the Pyrmont testnet at 2021-08-19 12:00:07Z.
- A refined and improved networking stack.
- Doppelganger protection (disabled by default).
- The
reorg
event has been added to the HTTP API. - Countless bug/annoyance fixes.
- 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)
Breaking Changes
- The database schema used for
v1.5.0-rc.0
nodes (including freshly-synced nodes and those upgraded from earlier versions) is not compatible with earlier versions of Lighthouse. This was mentioned earlier. - Exclusively for Pyrmont nodes, the VC and BN must both be running
v1.5.0-rc.0
. Earlier versions are not compatible withv1.5.0-rc.0
. - Some Prometheus metrics and the
/lighthouse/validator_inclusion
endpoints have been modified to be Altair-compatible. See #2416 for detail.
All Changes
- 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 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-rc.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-rc.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-rc.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.5.0-rc.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.0-rc.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.5.0-rc.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.5.0-rc.0 | sigp/lighthouse |