A different approach to difficulty adjustment Bitcoin recalculates mining difficulty every 2,016 blocks, which works out to roughly once every two weeks. In the gaps between adjustments, swin
A different approach to difficulty adjustment
Bitcoin recalculates mining difficulty every 2,016 blocks, which works out to roughly once every two weeks. In the gaps between adjustments, swings in hashrate can push block times above or below target with no correction until the next cycle.
Kaspa ($KAS) has taken the opposite approach since its launch. According to the Kaspa developer wiki, the network uses a moving window-based Difficulty Adjustment Algorithm (DAA) that retargets on every single block. Each new block inherits a window of recent history from its parent, measured in seconds rather than a fixed block count, so the network can respond to hashrate changes continuously rather than in periodic steps.
Kaspa Notes documents that prior to the Crescendo hard fork, this full sliding window approach inspected approximately 2,641 blocks every second to recalculate the mining target, covering roughly 44 minutes of network history.
Crescendo and the shift to block sampling
Kaspalytics notes that the Crescendo hard fork activated on May 5, 2025, at a DAA score of 110,165,000. Its primary change was scaling block production from 1 block per second (BPS) to 10 BPS, a tenfold increase in throughput.
Reading the full 2,641-block window every second becomes increasingly expensive as the block rate rises. To address this, the Crescendo upgrade introduced a block sampling approach under KIP-4, a native protocol proposal. Rather than reading every block in the window, the algorithm samples a representative subset, keeping the calculation lightweight while preserving accuracy. The KIP-14 specification on GitHub details the full set of consensus changes bundled into Crescendo, with the block rate increase as the primary driver.
As Kaspalytics records, difficulty was divided by a factor of 10 at the moment of activation to recalibrate mining targets for the new 10 BPS regime, producing the sharp drop visible in historical difficulty charts from that date.
The result is a difficulty mechanism designed to scale alongside block throughput without imposing proportionally higher computational costs on nodes.
Sources:Kaspa Developer Wiki: Difficulty Adjustment AlgorithmKIP-14: The Crescendo Hardfork (GitHub)Kaspalytics: Mining Difficulty Chart