Overview
Nerva core v0.2.3.0 is a focused release that resolves a sync-halting crash affecting all users syncing from genesis, delivers measurable performance gains across both P2P and QuickSync, and extends hardware acceleration to ARM64 platforms. If you are syncing a fresh node without QuickSync, this upgrade is essential.
Sync Crash Fix (HF7 / CNA v2 Boundary)
Users syncing from block 0 encountered a fatal crash at block 173,500, the point where the CNA v2 proof-of-work algorithm activates at hard fork 7. The block cache was opening a read-only LMDB transaction that could not see blocks still pending in the current uncommitted write batch, resulting in an MDB_NOTFOUND error, peer disconnection, and a sync loop that could not progress past that boundary. The fix caps the adaptive sync batch size at 256 blocks, guaranteeing that all blocks needed for PoW lookups are committed and visible before the cache reads them.
Performance: Boost 1.89 Mutex Fix
A regression introduced with Boost 1.89 caused sleep_for(milliseconds(0), previously a no-op, to execute a real cond_timedwait costing approximately 1ms per call. Because CRITICAL_REGION_LOCAL invokes this on every mutex acquisition, the penalty accumulated across all lock-heavy code paths.
The fix removes the sleep from the hot path entirely, in line with upstream Monero. Measured impact on Windows:
- QuickSync: ~10% faster
- P2P sync: ~6% faster overall, with up to 16% improvement in the post-HF12 range (blocks 930k–1.2M) where lock contention is highest
- Wallet generation: significantly faster (expanding the default subaddress lookahead previously triggered ~40,000 lock acquisitions, adding ~40 seconds of unnecessary sleeping)
ARM64 Hardware AES Acceleration
Hardware AES intrinsics are now enabled for 64-bit ARM targets, including Apple Silicon (M-series) and ARM64 Linux devices. This brings ARM performance in line with x86_64 for the cryptographic operations at the core of NERVA’s PoW.
Download & Upgrade
The sync crash fix makes this a required upgrade for anyone running a fresh node who wants to sync without QuickSync. All other users are encouraged to upgrade for the performance and wallet improvements.
🔗 https://nerva.one/#downloads
🔗 https://github.com/nerva-project/nerva/releases/tag/v0.2.3.0
