v23.3.1
Notes
Nimbus v23.3.1
is a medium-urgency
point release addressing a number of accidental configuration handling breaking changes that were shipped in the v23.3.0
release. It also improves the stability of Nimbus when paired with a Besu execution client and improves the fault-tolerance when driving multiple execution clients.
Fixes
-
Nimbus was performing
eth_getLogs
request with parameters that were exceeding the default--rpc-max-logs-range=1000
limit on Besu. This was a non-fatal issue that resulted in slower deposit syncing speed and the frequent warning message "Connection to EL node degraded". The limit will be increased in the next mainnet release of Besu, but Nimbusv23.3.1
honours the existing limit at the cost of a slightly slower syncing speed with all other execution clients: -
v23.3.0
did not support Engine API URLs which don't specify a protocol in the URL (e.g.http
,https
,ws
orwss
).v23.3.1
is backwards-compatible with all previous Nimbus releases: -
v23.3.0
produced a parsing error on TOML configuration files that specify theweb3-url
parameter as an array of strings.v23.3.1
is backwards-compatible with all previous Nimbus releases and introduces a new more convenient way for specifying the Engine API configuration in TOML:https://nimbus.guide/eth1.html#running-multiple-execution-clients
46f4826 -
v23.3.0
removed the hidden configuration option--web3-force-polling
which remained in use by some users.v23.3.1
restores the option as a deprecated one. Please note that all hidden configuration options are intended for use only by the Nimbus development team for testing purposes: -
The release addresses a potential crash triggered by Engine API connections experiencing frequent error responses:
-
The release addresses a potential issue where a single non-synced execution client may cause the Nimbus sync state to revert to
synced/opt
, even when all validator duties can be performed through the remaining execution clients that are still synced:
Nimbus v23.3.0
was low-urgency
upgrade bringing full support for the upcoming Capella hard-fork on the Goerli testnet. Keep an eye out for future mainnet releases!
Improvements
-
You can increase the resilience of your setup and eliminate any downtime during upgrade procedures of the execution client by allowing your beacon node to manage multiple execution clients. To enable this mode, just specify multiple URLs through the
--el
option (alias of--web3-url
) when starting your beacon node:./run-mainnet-beacon-node.sh \ --el=http://127.0.0.1:8551 \ --el=ws://other:8551 \ --jwt-secret=/tmp/jwtsecret
As long as any of execution clients remains operational and fully synced, Nimbus will keep performing all validator duties. To carry out an upgrade procedure without any downtime, just restart the execution clients one by one, waiting for each instance to re-sync before moving to the next one.
If you use this mode with different execution client implementations, Nimbus will act as an execution layer consensus violation detector, preventing the publishing of blocks that may trigger a catastrophic partitioning in the network.
-
The metrics
engine_api_responses
,engine_api_request_duration_seconds
andengine_api_timeouts
provide statistics about latency and response status codes for all requests sent to each individual execution layer URL: -
Nimbus will now attempt to connect to a locally running execution client even when the options
--el
and--jwt-secret
are not specified. This is made possible by the following proposed standard:Please note that the standard hasn't been implemented in any execution client yet.
-
Nimbus now support the latest version of the Builder API, adding support for the Capella hard-fork:
-
Improved diagnostic messages and more spec-compliant behavior of the Nimbus validator client when being paired with a non-synced or optimistically synced beacon nodes:
-
The Sqlite3 database engine has been upgraded to version 3.40.1:
Fixes
-
The doppelganger detection now acts safer after a period of lost network connectivity
-
The doppelganger detection now acts safer in the presence of out-of-order responses from the beacon node:
-
Nimbus can now export ERA files for the Sepolia network:
-
The
--history=prune
mode will no longer interfere with serving light client data for the full retention period as mandated by the spec: -
Nimbus now downloads a longer range of recent execution blocks in order to avoid potential situations where our
Eth1Data
votes fail to agree with the honest majority in the network: -
Nimbus has addressed a potential interruption of deposit syncing when connected to Geth over WebSocket:
Urgency guidelines
low-urgency
: update at your own convenience, sometime within our normal update cycle of two weeks
medium-urgency
: may contain an important stability fix, it is better to update sooner rather than later
high-urgency
: update as soon as you can, this is a critical update required for Nimbus to function correctly
SHA512 checksums
# Linux AMD64
ecd3fab28cba8d5646df6c03f1f2c40d53ecaf05341d2fdd9089b318d7ecedef1b8943349d44cf5a7338bc7cd37a87626dba0d15b0b799a2ff072b6e98a8b861 nimbus_beacon_node
4fbaa0ecde30ca00cb3b09391f8a3f9a8f60cef9fadccf818c454791e7d8592a537c944df0220bc4cea7874e9fd95b1ae709c00adb3b60434ae95013b5454f08 nimbus_validator_client
# Linux ARM64
ae917453bbc079835b1272603bf5967dfc5a6c327e9898c9b0d6462ee26d84e88f1feb18c03070e26a2f94f0a0e1495a21ecd139d3c90ddacae5d3750670a160 nimbus_beacon_node
527844aff387720be24c07d8201ab12a1f14b3b461e649510a2008a59b905b1f78b24ec753c88fcfd66badc0302d1171e0c3b45f78a3258d2bb28be5d52f8724 nimbus_validator_client
# Linux ARM
4b85fcf2f096a9c62f945e4aa4ff7146726928dffed905bd5a42394270775821dd58509065285606b3387748a95e9212067ecad59eb704092e2505bad9e05c90 nimbus_beacon_node
6b3b65609d0bf990ea79db9b86d824e1c8fc0824c431fb82a5262db3b557bc5f5dcf55883735152024cbb390faf8f22a9cd96f5bb149e70af245338282789ca0 nimbus_validator_client
# Windows AMD64
3f307a52989717e615398f65c92b1b100f6b5aabb6f567acd992600d1bc481d1177a5bee987e7ea47d5578392f917e2b7f27b33de8d6924ab3158be7196936b4 nimbus_beacon_node.exe
1ba7bb62874d91c55ee01e2b71dedfa2c976bf8a35aea78349e6e880ce87471204a9d0db38274b6efa332b7531b30f0ab25476ce0998bf34172e07fc12162663 nimbus_validator_client.exe
# macOS ARM64
90e61d554fb6d057ed388fd5740be8bd6067b9da158dd86c43398e887fd806a52e39f006ac40c575ceabcd5771d0bac03b9327fe072d451173ed05ee8219de36 nimbus_beacon_node
24207c2ecb851339a78cd1be7d84784bac5796a4d7f0ce42c9050ef297cd50abe5dcd76d3b135cdc89bea479ea9bf8ece2b1402a77ec240be862c26d5827f06f nimbus_validator_client