CivicNet Core v3.0.5 - PoS Staking Fixes + Stake-Target Retarget Redesign
This release fixes two staking bugs reported by the community (a wallet's staking attempts were silently wasted and rejected even when otherwise valid), and separately redesigns how the PoS stake-target difficulty adjusts -- the previous mechanism could freeze indefinitely if no PoS block was found for an extended period, which is what happened on mainnet starting around height 25821.
If you run a full node with an unlocked wallet doing PoS staking, please update to this release before the activation time below to stay in sync with the network and to benefit from the staking fixes.
What's fixed in this release
- Fixed the staking wallet attempting to build and submit a PoS block even when the mandatory anti-clustering gap (minimum 2 PoW blocks since the last PoS block) hadn't been satisfied yet -- it now checks the gap before searching for a kernel, instead of wasting a full build/sign/submit cycle only to have it rejected
- Fixed a mismatch between the kernel value the staking wallet computed (using the UTXO's confirmation depth, a value that changes every block) and the value the network actually validates against (the UTXO's fixed origin block height) -- these were almost never equal, so even a stake that cleared the anti-clustering gap would usually still fail validation
- Redesigned PoS stake-target retargeting with three coordinated changes:
- The target now recomputes periodically every 50 blocks (matching the PoW retarget window), instead of only when a PoS block happens to be found -- it can no longer freeze indefinitely when staking activity drops off
- The retarget signal now averages the last several real PoS intervals instead of reacting to a single one, and the correction size scales with how far off the target actually is, so both ordinary variance and severe, long-standing deviations are handled appropriately
- A one-time reset brings the current mainnet stake-target back to a sane starting point, since the existing freeze had left it roughly 25 million times harder than it should be -- an amount the old mechanism alone would have taken about a week to correct
- Added two dedicated activation gates (
POS_RETARGET_WINDOW_FIX_ACTIVATION_TIME,POS_EMERGENCY_RESET_ACTIVATION_TIME) so none of the retarget changes apply retroactively to already-settled chain history
Activation
2026-08-21 09:00:00 UTC
Upgrading
Stop your node, back up your wallet and datadir, replace the binary with this release, and restart. Your existing blockchain data and wallet remain fully compatible -- no resync required.
Included binaries
- civicnet-node, civicnet-cli (Linux x86_64)