Skip to content

Commit

Permalink
Version 23.4.0 (#4857)
Browse files Browse the repository at this point in the history
* Draft release notes for version 23.4.0

* Drop the reference to the Builder API failsafe spec PR
  • Loading branch information
zah authored Apr 25, 2023
1 parent da6169b commit 55ae7d3
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 2 deletions.
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,82 @@
2023-04-25 v23.4.0
==================

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.

### Improvements

* 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:

https://github.com/status-im/nimbus-eth2/pull/4749
https://github.com/status-im/nimbus-eth2/pull/4795
https://github.com/status-im/nimbus-eth2/pull/4847

* Nimbus now supports the standardized Builder API liveness failsafe mechanism:

https://github.com/status-im/nimbus-eth2/pull/4746

* The `--sync-light-client` option is now enabled by default, providing significant speedups in beacon chain syncing and re-syncing:

https://github.com/status-im/nimbus-eth2/pull/4805

* 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.

https://github.com/status-im/nimbus-eth2/pull/4736

* Improved scheduling mechanisms in the Nimbus validator client deliver stability and performance improvements:

https://github.com/status-im/nimbus-eth2/pull/4743

* The `deposits exit` command can now be used to perform voluntary exits for multiple validators at once:

https://github.com/status-im/nimbus-eth2/pull/4855
https://nimbus.guide/voluntary-exit.html

* 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:

https://github.com/status-im/nimbus-eth2/pull/4799

* Nimbus now uses only the Capella-enabled `engine_forkchoiceUpdatedV2` endpoint in all communication with the execution layer:

https://github.com/status-im/nimbus-eth2/pull/4817

### Fixes

* Nimbus has addressed a risk of missed block proposal due to incorrectly computed withdrawals at epoch boundaries:

https://github.com/status-im/nimbus-eth2/pull/4820

* Nimbus has addressed a low probability risk of missed block proposals when the configured builder doesn't respond in time:

https://github.com/status-im/nimbus-eth2/pull/4764/

* 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:

https://github.com/status-im/nimbus-eth2/pull/4800

* 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):

https://github.com/status-im/nim-presto/pull/44
https://github.com/status-im/nim-chronos/pull/324
https://github.com/status-im/nimbus-eth2/pull/4779

* The Nimbus validator client will no longer crash on start-up when supplied with incorrect beacon node configuration:

https://github.com/status-im/nimbus-eth2/pull/4765

* Nimbus will no longer crash when there is a network mismatch between the imported slashing protection database and the specified data directory:

https://github.com/status-im/nimbus-eth2/pull/4791

* Inactive validators will no longer affect the initial GossipSub topic subscriptions:

https://github.com/status-im/nimbus-eth2/pull/4793

* Failed or timed out request to `engine_exchangeTransitionConfigurationV1` will no longer degrade the status of the connection to the execution layer:

https://github.com/status-im/nimbus-eth2/pull/4831


2023-03-22 v23.3.2
==================

Expand Down
4 changes: 2 additions & 2 deletions beacon_chain/version.nim
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ when not defined(nimscript):

const
versionMajor* = 23
versionMinor* = 3
versionBuild* = 2
versionMinor* = 4
versionBuild* = 0

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

Expand Down
5 changes: 5 additions & 0 deletions docs/the_nimbus_book/src/external-block-builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ Setting up external block building typically involves running an additional serv

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

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.

!!! tip
Setting this flag to a non-zero value is recommended due to the additional risk introduced by the usage of an external block builder.

Additionally, the URL of the service exposing the [builder API](https://ethereum.github.io/builder-specs/) must be provided to the beacon node:

=== "Mainnet Beacon Node"
Expand Down
7 changes: 7 additions & 0 deletions docs/the_nimbus_book/src/trusted-node-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ The `head` root is also printed in the log output at regular intervals.

## Advanced

### Verify the downloaded state through the Nimbus light client

!!! note ""
This feature is available from `v23.4.0` onwards.

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.

### Sync deposit history

!!! note ""
Expand Down

0 comments on commit 55ae7d3

Please sign in to comment.