Notes
Nimbus v22.8.1
is a high-urgency
upgrade, improving the stability and performance of Nimbus in post-merge networks. Upgrading is highly recommended due to improved timing of the interactions with the execution engine which may lead to higher profitability from block production, especially for users running Nethermind.
Improvements
-
More timely block proposals in the presence of a non-responsive builder node:
#4012 -
More timely delivery of fork-choice update information to the execution client, enabling the production of more profitable blocks:
#4012 -
Improved SHA256 hashing performance resulting in a minor overall CPU usage reduction:
#4017 -
Reduced latency in the light client when following the head of the chain optimistically:
#4002 -
Spec-compliant delivery of the "safe block hash" property of the "fork-choice update" messages sent to the Engine API:
#4010 -
Relax overly aggressive gossip filtering conditions for incoming blocks:
#4044 -
New metrics
beacon_block_production_errors
andbeacon_block_payload_errors
for detecting non-healthy operation of the Engine API:
#4036
Fixes
-
Sporadic loss of connectivity to the execution engine in the presence of large payloads:
#4028 -
Inappropriate loss of connectivity to honest peers in the presence of a non-responding execution client:
#4020 -
A loophole allowing the inclusion of very old and invalid slashing and exit messages within blocks:
#4013 -
Confusing error message when trusted node sync is executed with an invalid REST URL:
#4024
Nimbus v22.8.0
is a medium
urgency release, featuring full support for the upcoming mainnet merge! All users should upgrade at their earliest convenience, but no later than 5th of September.
Since the network will go through the Bellatrix hard-fork on Sept 6, 2022, 11:34:47am UTC, failure to upgrade in time will result in inactivity penalties.
Please note that once the network reaches the terminal total difficulty (currently estimated to happen between 13th and 15th of September), it will no longer be possible to operate a beacon node without pairing it with a single non-shared merge-ready execution client. Nimbus is fully compatible will all execution clients and the required configuration steps for all of them are the same. Please refer to our merge guide for more details:
https://nimbus.guide/merge.html
To raise awareness of the required configuration changes, once the Bellatrix fork is activated on 6th of September, Nimbus will refuse to start unless a properly configured and authenticated Engine API end-point is provided through the command-line options --web3-url
and --jwt-secret
. If you need more time to complete the transition, you can temporarily run the beacon node with the command-line option --require-engine-api-in-bellatrix=no
, but please note that such a setup will stop working once the network TTD is reached!
We would like to say a huge THANK YOU to all of our users who provided immensely valuable feedback in the many months of hard work leading to the merge and to all the fellow research and implementation teams who made this historic release possible!
Onwards and happy merging!
Breaking changes (v22.8.0
)
-
Nimbus will refuse to start unless connected to a properly configured execution client in Bellatrix-enabled networks:
#4006 -
The custom error code returned by Nimbus when a validator doppelganger is detected has been changed from 1031 to 129 to improve compatibility with
systemd
:
#3977
Improvements (v22.8.0
)
-
Support for external block builders (a.k.a. MEV):
#3883 -
Beta release for the Nimbus stand-alone light client, which can be used to drive any execution client without requiring a full-blown beacon node:
https://nimbus.guide/light-client-data.html -
The first spec-compliant implementation of the LibP2P protocols for serving light client data:
https://nimbus.guide/light-client-data.html -
Keystore locking prevents accidentally loading the same validator keys in multiple instances of the Nimbus beacon node and the Nimbus validator client, thus eliminating a potential slashing risk:
#3907 -
Debian and RPM packages for the Nimbus beacon node and the Nimbus validator client are now available as part of the release. In the near future, Status will also provide a package repository, offering a more convenient installation:
#3974
status-im/infra-nimbus#79 -
Improved performance on networks with heavy forking activity through a reduction of the required state replays:
#3990 -
The Nimbus validator client now supports validator activity metrics such as
beacon_attestations_sent
,beacon_aggregates_sent
,beacon_attestation_sent_delay
,beacon_blocks_sent
,beacon_blocks_sent_delay
,beacon_sync_committee_messages_sent
,beacon_sync_committee_message_sent_delay
,beacon_sync_committee_contributions_sent
:
#3915 -
The sync status displayed in the Nimbus status bar and certain log messages now describes the state of the client more accurately (optimistically synced vs fully synced):
#3987
Fixes (v22.8.0
)
-
Spec violation in the expected payload of the
/eth/v1/validator/prepare_beacon_proposer
Beacon API end-point:
#3938 -
Invalid empty execution payloads being produced when the execution client is not responding:
#3991 -
Potentially incorrect Eth1 block votes, disagreeing with the forming majority:
#3944 -
More resilient deposit synchronization when Nimbus is paired with a highly loaded execution client:
#3943
#3957 -
A potential delay in detecting the terminal total difficulty block:
#3956 -
Missing Gossip filtering rule for sync committee contributions resulting in unnecessary traffic:
#3941 -
Compatibility issue preventing trusted node sync from Lodestar nodes:
#3934 -
A potential crash while processing rare gossip messages such as slashings and exits:
#3965 -
Inappropriate attestations sent by the validator client when the connected beacon node is only optimistically synced:
#3968
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
70b794b83184deb9830bef5f418cec4553153331f9644fd634ecfe1e9898892a91bee225988372e1dbfbe99c65b4b263005585a20480a53aad72e1fb0cc28b00 nimbus_beacon_node
851ebb942f3fe69800ecbeb7b417765708cff69d8152a63486ba3adf2eaa6492ee637ff1c0db09bd690ed2433d35da8d6fe9135dfea7a49c1e750fd956c67aa1 nimbus_validator_client
# Linux ARM64
64c2f34e4ae1a2cb7a974f389f31ca7ad3cb5c9df8c9a2d8a76d651f94c8beb37bc41b68e66a2b59abcf8dfba4e2b9b37efe14212e5f08d1e9de02ec2c34d8d6 nimbus_beacon_node
6942e0f74361a5051f19beedae93e65e805841c87a93b2c62393c76e9794263253d21896f9e1c0a56a65ef148063112085234a66a6de7dd613af740c49f9f4bb nimbus_validator_client
# Linux ARM
f7f902adc1f3cbcbeba79dc74fa5ff98d295c4cc727721143ae4e7a6eff3823faa7481646ccb1d3f1fd15b0a07dd073a1c5acada8f34c7a63152a9ed31135fcc nimbus_beacon_node
ffea8b15da5ab6ab8e7d50ca65fdf20e6bf566d0592c411f3843998ba44a9227e5b81a676ffcf9909395b0f52a38c2ff939de9470673544fe9187da33e61c064 nimbus_validator_client
# Windows AMD64
3015038e7a76dd9db4b38ca4ab07014921d97c6a7a23361ace1a9a6ed8ff36a6693c17ead1db921660f4d6cddec2d117272b8734aed9517d7c8affd21669f289 nimbus_beacon_node.exe
624701ba5d4fcb6b65e71b981cc2eb3c9d4dc492c93c4c64079b48aa431f40e064341fdd512f5a9d20ba6ca59ec1e2a9cd706dba927a49361dee6cb686e16f01 nimbus_validator_client.exe
# macOS AMD64
810c850c3639db51547a2886c094c9399a4317f7f9c2e7453130371125188a1a6f2a7cbf5c912400eca0868ddb0394d7b9a4c404536042cf7be9572eb0a23c23 nimbus_beacon_node
920467ee9ce77e9746126118e8717cf13230c6b76fbffbc597aa87494a2e662efab9444f879c088f1fddede5b97dd73515edc060ba68df72579f8f5bde3154b1 nimbus_validator_client
# macOS ARM64
dcb111d93f0f06769aa6e6d9ee8b589a10267ad328dfddaed0fb95e849c1309c787fd6b217d2c6fac63f34a366ba1ffece7558f1d46254ee09d379be4be3cbd6 nimbus_beacon_node
276c71d160011c0a748cba878804bfcd57f27039b88755d209073d0a3cd7d05743bca2fcf7b6f3909cdcdab5b5f14ac759f0a6f3dbf9e2518b4dba435af530b6 nimbus_validator_client