Skip to content

Commit 55ae7d3

Browse files
authored
Version 23.4.0 (#4857)
* Draft release notes for version 23.4.0 * Drop the reference to the Builder API failsafe spec PR
1 parent da6169b commit 55ae7d3

File tree

4 files changed

+93
-2
lines changed

4 files changed

+93
-2
lines changed

CHANGELOG.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,82 @@
1+
2023-04-25 v23.4.0
2+
==================
3+
4+
Nimbus `v23.4.0` is a `medium-urgency` upgrade addressing a number of low probability risks for missed block proposals, bringing performance improvements in setups relying on the Nimbus validator client, and introducing some exciting new capabilities of the Nimbus light client and Builder API implementations.
5+
6+
### Improvements
7+
8+
* Nimbus now obtains blocks from the configured builder and execution layer nodes without providing timing advantage to any source. You can use the newly added `--local-block-value-boost` option to give preference to the best block provided by an execution layer node, as long as its value is within the specified percentage of the value advertised by the best external builder. Setting this flag to a non-zero value is recommended because the usage of an external builder introduces an additional risk that the advertised block won't be published by the builder:
9+
10+
https://github.com/status-im/nimbus-eth2/pull/4749
11+
https://github.com/status-im/nimbus-eth2/pull/4795
12+
https://github.com/status-im/nimbus-eth2/pull/4847
13+
14+
* Nimbus now supports the standardized Builder API liveness failsafe mechanism:
15+
16+
https://github.com/status-im/nimbus-eth2/pull/4746
17+
18+
* The `--sync-light-client` option is now enabled by default, providing significant speedups in beacon chain syncing and re-syncing:
19+
20+
https://github.com/status-im/nimbus-eth2/pull/4805
21+
22+
* The `trustedNodeSync` command features a new `--trusted-block-root` option that leverages the Nimbus light client in order to minimize the required trust in the specified Beacon API endpoint. After downloading the state snapshot, the light client will verify that it conforms to the established consensus in the network. Note that the provided `--trusted-block-root` should be somewhat recent, and that additional security precautions such as comparing the state root against block explorers are still recommended.
23+
24+
https://github.com/status-im/nimbus-eth2/pull/4736
25+
26+
* Improved scheduling mechanisms in the Nimbus validator client deliver stability and performance improvements:
27+
28+
https://github.com/status-im/nimbus-eth2/pull/4743
29+
30+
* The `deposits exit` command can now be used to perform voluntary exits for multiple validators at once:
31+
32+
https://github.com/status-im/nimbus-eth2/pull/4855
33+
https://nimbus.guide/voluntary-exit.html
34+
35+
* Nimbus now supports the [`/eth/v1/beacon/states/{state_id}/randao`](https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getStateRandao) REST API endpoint:
36+
37+
https://github.com/status-im/nimbus-eth2/pull/4799
38+
39+
* Nimbus now uses only the Capella-enabled `engine_forkchoiceUpdatedV2` endpoint in all communication with the execution layer:
40+
41+
https://github.com/status-im/nimbus-eth2/pull/4817
42+
43+
### Fixes
44+
45+
* Nimbus has addressed a risk of missed block proposal due to incorrectly computed withdrawals at epoch boundaries:
46+
47+
https://github.com/status-im/nimbus-eth2/pull/4820
48+
49+
* Nimbus has addressed a low probability risk of missed block proposals when the configured builder doesn't respond in time:
50+
51+
https://github.com/status-im/nimbus-eth2/pull/4764/
52+
53+
* Nimbus has addressed a low probability risk of missed block proposals when a late block triggers a chain re-org while an `engine_forkchoiceUpdated` request to the execution layer is in flight:
54+
55+
https://github.com/status-im/nimbus-eth2/pull/4800
56+
57+
* Nimbus will no longer experience occasional response timeouts when performing a large number of concurrent HTTP requests (e.g. when configured to operate with a large number of remote keystores):
58+
59+
https://github.com/status-im/nim-presto/pull/44
60+
https://github.com/status-im/nim-chronos/pull/324
61+
https://github.com/status-im/nimbus-eth2/pull/4779
62+
63+
* The Nimbus validator client will no longer crash on start-up when supplied with incorrect beacon node configuration:
64+
65+
https://github.com/status-im/nimbus-eth2/pull/4765
66+
67+
* Nimbus will no longer crash when there is a network mismatch between the imported slashing protection database and the specified data directory:
68+
69+
https://github.com/status-im/nimbus-eth2/pull/4791
70+
71+
* Inactive validators will no longer affect the initial GossipSub topic subscriptions:
72+
73+
https://github.com/status-im/nimbus-eth2/pull/4793
74+
75+
* Failed or timed out request to `engine_exchangeTransitionConfigurationV1` will no longer degrade the status of the connection to the execution layer:
76+
77+
https://github.com/status-im/nimbus-eth2/pull/4831
78+
79+
180
2023-03-22 v23.3.2
281
==================
382

beacon_chain/version.nim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ when not defined(nimscript):
1717

1818
const
1919
versionMajor* = 23
20-
versionMinor* = 3
21-
versionBuild* = 2
20+
versionMinor* = 4
21+
versionBuild* = 0
2222

2323
versionBlob* = "stateofus" # Single word - ends up in the default graffiti
2424

docs/the_nimbus_book/src/external-block-builder.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ Setting up external block building typically involves running an additional serv
2121

2222
External block building is must be enabled on both beacon node and [validator client](./validator-client.md) using the `--payload-builder=true` flag.
2323

24+
You can use the `--local-block-value-boost` option to give preference to the best block provided by an execution client, as long as its value is within the specified percentage of the value advertised by the best external builder.
25+
26+
!!! tip
27+
Setting this flag to a non-zero value is recommended due to the additional risk introduced by the usage of an external block builder.
28+
2429
Additionally, the URL of the service exposing the [builder API](https://ethereum.github.io/builder-specs/) must be provided to the beacon node:
2530

2631
=== "Mainnet Beacon Node"

docs/the_nimbus_book/src/trusted-node-sync.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,13 @@ The `head` root is also printed in the log output at regular intervals.
8383

8484
## Advanced
8585

86+
### Verify the downloaded state through the Nimbus light client
87+
88+
!!! note ""
89+
This feature is available from `v23.4.0` onwards.
90+
91+
The `--trusted-block-root` option enables you to leverage the Nimbus light client in order to minimize the required trust in the specified Beacon API endpoint. After downloading a state snapshot, the light client will verify that it conforms to the established consensus on the network. Note that the provided `--trusted-block-root` should be somewhat recent, and that additional security precautions such as comparing the state root against block explorers is still recommended.
92+
8693
### Sync deposit history
8794

8895
!!! note ""

0 commit comments

Comments
 (0)