A while back we said sync speed was “only step 1” and that bigger improvements were coming. This is that step. Alongside Hard Fork 13, the upcoming release brings a sync experience that turns days into hours, plus the biggest change to Nerva’s mining algorithm in many years.
We heard you. Sync is now hours, not days
In v0.2.2.0, a full sync from scratch took around 20 hours. With the changes in this upcoming release, the same sync completes in about 71 minutes on our reference machine (a high-end AMD Ryzen 9 7950X).
That’s roughly a 17× improvement. Your exact time will depend on your CPU, disk, and network, but the shape of the improvement holds on any machine.
Where the time goes (and why this works)
The single biggest cost of syncing a Proof-of-Work chain isn’t downloading blocks but recomputing the Proof-of-Work hash for every block to re-verify it. On a chain of 4.28M blocks, almost all of that work re-verifies ancient, long-settled history. Nerva is heavier here than Monero by design: its algorithm derives each block’s hash partly from data scattered across the chain’s own history, so verifying a block means random lookups into many older blocks. That’s what makes Nerva pool-resistant but it also means the work grows as the chain does, since those reads spill out of fast CPU cache.
The last under 1% of the chain took nearly a third of the total time because those are the only blocks whose PoW was fully recomputed. Skip that redundant work on settled history and sync collapses from many hours to a fraction of the time.
That’s exactly what this release does. For blocks below a built-in, hardcoded checkpoint height, the daemon skips recomputing PoW and relies on the checkpoint instead. Everything else: difficulty, timestamps, transaction inputs and outputs, and the chain-linking between blocks is still fully validated for every single block.
“But I want to verify everything myself”
You can and it’s one flag.
The fast path is on by default because it gives the best experience for the vast majority of users. If you’d rather verify every block’s Proof-of-Work from genesis to tip, start the daemon with:
nervad --fast-block-sync 0
This re-runs PoW for the entire chain using the traditional, verify-everything sync. It takes considerably longer (the PoW work is the whole point), but the choice is yours. Fast by default, fully verifiable on demand.
Is the fast path safe?
Yes and the reason is the way a blockchain is built.
The release will ship with hardcoded checkpoints: known-good hashes of specific historical blocks. Because each block’s hash depends on its parent, which depends on its parent, all the way down, a checkpoint cryptographically pins the entire history beneath it.
If anyone tried to feed your node a doctored historical chain, altering even one old block would change every hash above it, and the chain would no longer match the checkpoint. Your node would reject it. The worst an attacker could do is make a not-yet-synced node stall, never accept a fake chain. The block hash is always computed independently by your own node; it’s never trusted from the network.
In short: the fast path trusts the software you’re running, not the peers you’re downloading from, the same trust you already place in the daemon binary.
Hard Fork 13: a fairer algorithm
Sync speed is half the story. HF13 also introduces CryptoNight-Adaptive v6, a reworked Proof-of-Work designed around a simple principle: 1 CPU = 1 Vote.
The new algorithm is memory-bound. Instead of rewarding raw core speed where high-end chips and specialized hardware pull far ahead, it gates each hash on memory latency, which is far more uniform across devices. The result is a per-core hash rate that drifts toward the same number whether you’re on a laptop or a large desktop, compressing the gap between small miners and big ones.
Three design choices make this work:
- A random program every block. Each block runs a unique, unpredictable sequence of operations derived from the chain itself. This defeats fixed-function ASIC circuits. There’s no single pipeline to bake into silicon.
- A large scratchpad. An 8 MB working area per hash starves GPUs of the occupancy they need to excel, while staying practical on ordinary CPUs.
- A chain-rooted seed. The per-block program depends on real data from the blockchain itself, which makes centralized pool mining architecturally difficult, a core part of Nerva’s pool-resistant design.
Together they strengthen Nerva’s promise of CPU mining: open to anyone with an everyday computer, hostile to specialized and centralized hardware.
Keeping the new algorithm fast to sync
A memory-bound algorithm that reads from the blockchain could, in principle, make syncing slower as the chain grows. We designed around that with a sliding window.
When verifying the new algorithm, about 95% of the historical reads are drawn from the most recent ~100,000 blocks, roughly 5.6 MB of data that fits comfortably in a modern CPU’s L3 cache. The remaining ~5% reach into the full history to preserve pool resistance. The effect: verification stays cache-friendly and fast no matter how long the chain gets, so HF13’s stronger algorithm doesn’t come at the cost of sync time.
The bottom line
Hard Fork 13 will bring two things that matter to very different users:
- New users get up and running in a few hours, not days.
- Everyone gets a fairer, more decentralized algorithm, memory-bound, ASIC- and GPU-resistant, that keeps existing pool-resistance without giving up the option to fully validate every block.
Fast by default. Fully verifiable on demand. Fairer for everyone who mines.
That’s what’s coming in Hard Fork 13. Testnet soon.
