⚠️ 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 |