Skip to content

Keryx-node-v1.5.8-PoM

Latest

Choose a tag to compare

@slashkrx slashkrx released this 01 Sep 17:43

Mandatory upgrade. One consensus activation ships in this release:

  • H12 — production-index snapshots at DAA 91 650 000 (≈ 2026-09-04 16:00 UTC). Every node on v1.5.8.

Nodes that serve miners (pools, solo) must be on v1.5.8 before Wednesday 2026-09-02 ~16:00 UTC. The snapshot H12 requires is written at pruning samples as the chain advances, roughly 48 hours ahead of the gate; a node upgraded after that point still validates normally, but cannot build block templates until its own snapshot coverage catches up (up to ~48 hours after the upgrade). keryx-miner is unaffected — v0.5.3+ keeps working as is.

H12 — production-index snapshots

The ratio production index (the per-producer windowed production sums that coinbase reward verification reads) was the last piece of consensus state a syncing node could not rebuild from its pruning point. Until now a fresh node ran a multi-day post-sync trust window instead: it accepted coinbases unverified while its index refilled, its own blocks paid under-evaluated brackets for the first day (COINBASE MISMATCH logged by everyone else), and when trust windows expired across the network, nodes could disagree about the same block.

From H12 on, the production index is snapshotted at every pruning sample, committed in serviceStateHash (service_commitment_v3, alongside the H11 ledger), transferred verified to a syncing node together with its pruning point (p2p protocol v13), and restored into the store on import.

  • A freshly synced node enforces coinbase verification from its first validated block. The post-sync trust window is gone.
  • Freshly synced producers pay exact brackets immediately — no more under-paid first day after a resync.
  • Headers committing to a pruning point older than any snapshot a node holds are skipped; newer missing ones are an error (MissingProductionIndexSnapshot).
  • With H11 + H12, the complete service state now travels verified with the pruning point.
  • In-place upgrade; no datadir reset. v12/v11/v10 peers are still served.

P2P — header-only request loops

Some blocks exist network-wide as headers without a body — a block rejected for its body but accepted as a header keeps its header status forever. The relay flow treated such a block as unknown and re-requested its body on every relay touching it; the serving peer answered cannot find full block and disconnected, and the requester asked again on the next relay — an endless request/disconnect loop that starved relay on both sides. Every 1.5.7 node runs into it after a pruning-point move; it is the primary cause of the sync incidents of 2026-08-31 / 09-01.

Fixed: a block held header-only at or below the pruning point is no longer requested. (7e964476)

Also in this release

  • P2P health log reports connected peers by their real protocol version (per-version counts instead of a single "v11+" bucket).
  • Testnet: hardfork gates compacted for the fast-pruning bench (H10/H11 from block 1, H12 at 500).
  • New consensus params: production_index_activation, H12_ACTIVATION_DAA; p2p protocol