github status-im/nimbus-eth2 v23.8.0

latest releases: v24.10.0, v24.9.0, nightly...
14 months ago

Notes

Nimbus v23.8.0 is a low-urgency upgrade focusing on performance and stability improvements, aiming to address the increasing number of validators on mainnet and upcoming testnets such as Holesky.

Please note that this version enables the new attestation subnet subscription logic, proposed in the Ethereum 1.4 consensus spec. This will significantly reduce the CPU usage and the consumed network bandwidth on beacon nodes with many validators, but it will slightly increase them on nodes with a single validator. The --subscribe-all-subnets option can still be used on powerful hardware configurations to produce potentially more profitable blocks by processing all attestations directly instead of relying on aggregators.

The upgraded BLST library now identifies your CPU model and selects the most efficient instruction set at run-time which significantly speeds up docker and binary builds. We have tested this on a wide range of hardware, but should the CPU incorrectly advertise extensions it does not have, a downgrade might be necessary while we investigate.

Improvements

  • Optimised algorithms and improved thread scheduling strategy allow Nimbus to process 40% more incoming attestations on typical hardware configurations:
    #5288
    #5176

  • Faster state replays and lower latency Beacon API responses are now possible due to lower overhead when loading any kind of data from the Nimbus database. This was achieved through more efficient SSZ deserialization routines, the elimination of redundant CRC checks during data decompression and more precise cache invalidation:
    #5207
    #5264
    #5282

  • A more optimised SSZ hash tree root implementation brings faster state replays, block processing and other performance-critical operations in Nimbus:
    status-im/nim-ssz-serialization#53
    #5292

  • Nimbus now performs less memory allocations during state transitions, reducing the risk of delays induced by Nim garbage collection:
    #5235

  • The BLST library has been upgraded to its latest version. Nimbus is now using a more optimal approach to aggregate signature verification:
    #5272
    #5268

  • Nimbus now supports the Chiado Gnosis testnet:
    #5208

  • BearSSL has been upgraded to version 0.2.1:
    #5298

Fixes

  • Nimbus was not compliant with the latest Web3Signer specification when requesting block signatures:
    #5294

  • The Nimbus beacon node was frequently crashing immediately after block proposal when using a validator client and an external builder:
    #5295

  • The Nimbus validator client was crashing in certain situations after a request to the beacon node has timed out:
    #5297

  • Nimbus was failing to load a built-in genesis state of a supported network on certain ARM CPUs:
    #5244

  • When optimistically synced, Nimbus was sending unnecessary forkChoiceUpdated notifications for already finalized blocks:
    #5248

Removed functionality

  • The builder API is no longer supported in network simulations and custom testnets, based on the Bellatrix specification:
    #5162
    #5203
    #5251
    #5262
    #5272

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
8a1895410ced10c0a05d1bf8d4b8fda193a397b3d0cce2dfc9c70205a60b9a9add114feac314d4e7ac6d430226c351620e685ffacb0f4aeadff9141a8504a85a  nimbus_beacon_node
61b5e8929cf12cb542126fe1f128353ae3b888669c130766a3929cdf5dd0d8bc668e3c6aa7930acfc0047a05ca0d608db04ab8e6ccf2dd1f521299f3385088a8  nimbus_validator_client
# Linux ARM64
542ceaef146c6e8aa5878dafa95230ed5c43a82b79db9b8e6eaf4abb10bbdc1c062b863d13001c3a1633f702582e7b8bd0c25d4463e8f7168efdf67b6256b3eb  nimbus_beacon_node
7a513c39f735abf349f7f55574277f6d0d8df915c1c9c0ae7df0839d224bbe783f02647bb4d590d87256dabe978cc4a090d8855dce39c98ce162f166c800446e  nimbus_validator_client
# Linux ARM
57c2479109f5702ae78b626f4331e3df49c47620c71ec6cc8bf0499fe6677bd19cc973af103025bd192b88e63396b49e4bb8f4a5186deabfddbf75723549fdd7  nimbus_beacon_node
ca6272f4e0e934a8d32f8981e3a30f12d4b8a14fa8434b1d4ae5a3d47de1dbd6943f6d06849f17767fa2d84457bf8e3b7cdbc2e85876740e576c5aec8e3efdd8  nimbus_validator_client
# Windows AMD64
d2ad068620a1e00dc2a269cfcadc6cca2930a83e3ecbd66e0afb07821dbb6cd63c93b219a2164e69ea26bae0faa25f2899abb21f504c68c50b8b6a488915b15a  nimbus_beacon_node.exe
96c9fcde57647215ab366fd8b0d68576fcdc087af703864fc0c035f0e4c9044b067660862229a7b8fcd726c1d67cd89151572814c990ac7a959de74d99110fe0  nimbus_validator_client.exe
# macOS AMD64
35be189add3b7326b26ad0ab5f8b6e46c797b18cdf62b3fac6be4005c16fd997c9618aa3d5f9e5e7a8f1988ac2fd0f829ff146456f96fe19118559762f855474  nimbus_beacon_node
49f311c058f2b80c5060261502440acd8a74484548a31859b452e3abc61137f84954e35266ed505dec99a59054d020930d0d3aaa37da71f264398107f7853b44  nimbus_validator_client
# macOS ARM64
e449ddec85170273e14ec6f18d8d3c82e56f5160d48b00815b2c209889f34f8bf63e22bd8c8bed38ab5a0867357198676f8223c7445585cb89a920d98da33677  nimbus_beacon_node
699fb534e3afeb7ea5e630d3d0879565ba256942fb1b492efbb14f240eb43ce32d3eea48b580195fdd4632f0f92c95aed3f9f595a5a394ecbe75d057c6ce20d9  nimbus_validator_client

Don't miss a new nimbus-eth2 release

NewReleases is sending notifications on new releases.