Summary
This high priority release contains important bug-fixes and improvements that we recommend for all users. Importantly, fixes are included for the recent 7-block re-org on mainnet. Fast and widespread adoption of this release will help protect the network from repetition of this event.
This release also contains fixes to increase the chances of getting head votes and producing blocks during degenerate scenarios.
Notable changes include:
- Bug-fix to increase likelihood of block production in degenerate cases (#3188)
- Bug-fix to prevent missed head votes in degenerate cases (#3183)
- Running fork choice before proposing a block (#3168)
- Proposer boost reduced to 40% (#3201)
- Optimisation to lessen impact of backfill resource hogging (#3215)
- Support for the Ropsten Beacon Chain (#3184, #3225)
- Support for the Remote Key Manager API (#3162)
- Various improvements to syncing and networking (#3142, #3153, #3182)
- Bug-fix for HTTP
Accept
header parsing (#3185) - Client authentication for Web3Signer (#3170)
- Smaller intermediate images during Docker builds (#3174)
- Fixes for merge testnets (#3165)
Thanks to external contributors @ackintosh, @huitseeker, @zsluedem and @petertdavies. Special shout-out to @tthebst who contributed two important PRs to this release (#3162, #3188).
Ropsten
Use the --network ropsten
flag to join the Ropsten testnet.
This release introduces support for the Ropsten Beacon Chain with the updated total terminal difficulty (TTD) value of 1e32
. We recommend all Ropsten users running v2.3.0-rc.0
to upgrade to this version before the Ropsten beacon chain genesis (less than 12 hours away, at the time of writing).
Breaking Changes
❗ Database Schema Upgrade ❗
This release contains a backwards-incompatible database schema migration for any network that has undergone "the merge" (see #3157). At the time of writing, this includes Kiln and Kintsugi but excludes Prater and Mainnet. For clarity:
- Prater, Mainnet: users who upgrade to
v2.3.0
are able to downgrade tov2.2.x
andv2.1.x
releases usinglighthouse db
- Kiln, Kinstugi: users who upgrade to
v2.3.0
are not able to downgrade to any prior release
See the Database Migrations documentation for more information on downgrading.
Docker Base Image
The Docker base image has been updated from Ubuntu 20.04 to Ubuntu 22.04 LTS. Older versions of Docker are unable to run the new image due to an incompatibility, so please ensure that you update your Docker engine past version 20.10.10 (released Oct 2021). Please see #3230 for more information.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | High Priority | Medium Priority |
Non-Staking Users | High Priority | --- |
The Beacon Node may be updated without the Validator Client, however we recommend updating both components.
See Update Priorities for more information about this table.
All Changes
- v2.3.0 (#3222)
- Set Ropsten TTD to unrealistically high value (#3225)
- move backfill sync jobs from highest priority to lowest (#3215)
- Add new VC metrics for beacon node availability (#3193)
- v2.3.0-rc.0 (#3218)
- Avoid parallel fork choice runs during sync (#3217)
- Document database migrations (#3203)
- Decrease proposer boost to 40% (#3201)
- Call per_slot_task from a blocking thread (v2) (#3199)
- Remove build status badge from README (#3195)
- Fix Rust 1.61 clippy lints (#3192)
- Add Ropsten configuration (#3184)
- Run fork choice before block proposal (#3168)
- Log out response status when we hit
PayloadIdUnavailable
(#3190) - Tiny improvement: PeerManager and maximum discovery query (#3182)
- Add client authentication to Web3Signer validators (#3170)
- Avoid unnecessary slashing protection when publishing blocks (#3188)
- Fix http header accept parsing problem (#3185)
- Remove DB migrations for legacy database schemas (#3181)
- Prevent attestation to future blocks from early attester cache (#3183)
- Allow
TaskExecutor
to be used inasync
tests (#3178) - [refactor] Refactor Option/Result combinators (#3180)
- Remove lcli block packing analysis (#3179)
- Separate execution payloads in the DB (#3157)
- Exclude EE build dirs from Docker context (#3174)
- Add remotekey API support (#3162)
- Fix: no version info in homebrew package (#3167)
- Don't panic in forkchoiceUpdated handler (#3165)
- Fix Execution Engine integration tests (#3163)
- Change the url of the blog post (#3161)
- Poll shutdown timeout in rpc handler (#3153)
- log upgrades + prevent dialing of disconnecting peers (#3148)
- Disallow attesting to optimistic head (#3140)
- keep failed finalized chains to avoid retries (#3142)
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.3.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.3.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.3.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.3.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.3.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v2.3.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.3.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v2.3.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v2.3.0 | sigp/lighthouse |