Release notes
⚠️ This is an experimental version, and we don't recommend running it on your main validator infrastructure. It brings major improvements but we're still unsure about its downsides and long-term effects.
Major highlights
- This experimental version brings many performance improvements, the most important being a major StateDB optimization called "HalfPath".
- This new optimization is not a full "PathBased" storage but the way it arranges data helps with the performance of block processing and StateDB size.
- Key data points:
- Block Processing faster by about 40-50%
- Block Processing during historical data sync faster by about 80-100%
- Initial StateDB size on SnapSynced mainnet nodes reduced by about 25% (archive node still to be measured)
- Initial StateDB growth in the first two weeks seems to be halved and continues to decrease over time. Preliminary testing shows a reduction in database growth to 3GB per month following the first two weeks which greatly reduces the need for node maintenance and FullPruning.
- More details about Halfpath in our blog post: https://medium.com/nethermind-eth/nethermind-client-3-experimental-approaches-to-state-database-change-8498e3d89771
❗ BACKWARD COMPATIBILITY
-
To fully benefit from this new approach, you need to resync your node from scratch.
-
HalfPath now is the default sync mode for new nodes. If you start this version on a node with an old database schema, it will continue using the old schema without improvements. This is not recommended!
❗ KNOWN ISSUES
-
Full Pruning does not work properly - We're working on improvements, but be aware that using this version requires a database resync from scratch.
-
Unusual BlockProcessing spikes are still happening but very rarely - we noticed some unusually high spikes when InMemory Pruning interferes with BlockProcessing. A fix is already in the testing phase but not included in this release.
Full Changelog: 1.25.1...1.26.0-exp