Share Difficulty
Learn what share difficulty means in mining pools and how it differs from network difficulty.
Key Takeaways
- A share is a partial proof of work that meets a lower difficulty target than the network requires, allowing mining pools to measure each miner's contribution between blocks.
- Pools dynamically adjust share difficulty per worker using a technique called vardiff (variable difficulty), targeting a steady submission rate of roughly one share every few seconds regardless of the miner's hashrate.
- Share difficulty affects reporting granularity, not total earnings: each submitted share is weighted by its difficulty in payout calculations under schemes like FPPS and PPLNS, so higher difficulty shares are worth proportionally more credit.
What Is Share Difficulty?
Share difficulty is the threshold a mining pool sets for accepting proof-of-work submissions from individual miners. In Bitcoin mining, finding a valid block requires producing a hash below an extremely low target set by the network's difficulty target. At current network difficulty levels, even a powerful ASIC miner may run for minutes or hours without producing a hash that meets this threshold. Without intermediate proof of work, a pool would have no way to verify that miners are actually contributing computational effort.
Share difficulty solves this by setting a much easier target. A "share" is any hash that falls below this lower threshold. Most shares will not meet the full network difficulty, but they serve as statistical proof that the miner performed a certain amount of hashing work. Occasionally, a share will also satisfy the network target, in which case the pool submits it as a valid block and earns the block reward.
How It Works
Bitcoin's proof of work involves repeatedly hashing a block header with different nonce values using SHA-256. Each hash output is effectively a random 256-bit number. The network target is a 256-bit threshold: if your hash is numerically below it, the block is valid. The share target works identically but is set to a higher (easier) value.
- The pool assigns each connected worker a share difficulty via the Stratum protocol
- The miner hashes block header candidates, checking each result against the share target
- When a hash meets the share target, the miner submits it to the pool as a valid share
- The pool verifies the share is valid and credits the miner's account
- If the share also meets the network difficulty target, the pool broadcasts it as a new block
The Difficulty and Target Relationship
Difficulty is inversely proportional to the target value. A higher difficulty means a lower (harder to reach) target. The relationship can be expressed as:
difficulty = reference_target / current_target
# Where reference_target is the "difficulty 1" target:
# 0x00000000FFFF0000000000000000000000000000000000000000000000000000
# Example: if share difficulty is 1,000,000
# and network difficulty is 100,000,000,000,000 (100 T)
# then shares per block (on average) = network_diff / share_diff
# = 100,000,000,000,000 / 1,000,000
# = 100,000,000 sharesThe probability of any single hash meeting the share target is approximately 1 / (share_difficulty × 2³²). A miner with a known hashrate will produce shares at a predictable average rate, which is exactly what allows the pool to estimate individual contributions.
Variable Difficulty (Vardiff)
Most modern pools use variable difficulty (vardiff) rather than assigning a fixed share difficulty to all miners. Vardiff dynamically adjusts each worker's share difficulty based on their observed submission rate. The goal is to keep every miner submitting shares at a consistent pace, typically one share every 1 to 60 seconds depending on the pool.
When a miner's hashrate increases (adding more hardware, for instance), they begin finding shares faster than the target rate. The pool detects this and raises their share difficulty to bring submissions back to the desired frequency. Conversely, if hashrate drops, the pool lowers difficulty so shares keep arriving at a steady clip.
This mechanism provides several benefits:
- Reduced network overhead: high-hashrate miners submit fewer, higher-weighted shares instead of flooding the pool with millions of low-difficulty submissions
- Lower stale share rate: when difficulty is tuned correctly, shares are submitted before the current block template becomes outdated
- More accurate hashrate estimation: a steady share rate gives the pool better statistical confidence in each miner's actual hashrate
The Stratum V2 protocol further improves this process by allowing encrypted, binary-encoded communication between miners and pools, reducing bandwidth and latency for share submissions.
Shares That Become Blocks
Every share has a chance of also satisfying the network difficulty. The probability is simply share_difficulty / network_difficulty. When this happens, the pool submits the share as a valid block to the Bitcoin network. The miner who found it typically receives no special bonus under most payout schemes: the share is credited at its normal difficulty-weighted value, and the block reward is distributed according to the pool's payout model.
Share Difficulty in Payout Calculations
How shares translate into miner earnings depends on the pool's payout scheme. In all major schemes, shares are weighted by their difficulty so that a share at difficulty 2,000 is worth twice as much credit as a share at difficulty 1,000. This ensures that vardiff adjustments do not affect total earnings. For a detailed comparison of payout methods, see Mining Pool Payouts Compared: FPPS, PPLNS, PPS+, and the Economics of Each Model.
Pay Per Share (PPS)
Under PPS, the pool pays a fixed amount per unit of share difficulty. Each share's value is calculated as:
share_value = (block_reward × share_difficulty) / network_difficulty
# Example at current values:
# block_reward = 3.125 BTC
# share_diff = 1,000,000
# network_diff = 100,000,000,000,000
# share_value = (3.125 × 1,000,000) / 100,000,000,000,000
# = 0.00000003125 BTC per shareThe pool absorbs all variance: miners earn steadily regardless of whether the pool finds blocks. PPS+ extends this by adding a share of transaction fees on top.
Full Pay Per Share (FPPS)
FPPS includes both the block subsidy and an estimate of average transaction fees in the per-share payout. The pool uses a rolling average of recent block fees to calculate the expected total block value, then distributes that proportionally across shares.
Pay Per Last N Shares (PPLNS)
Under PPLNS, when the pool finds a block, the reward is divided among miners who contributed the last N difficulty-weighted shares. A miner's payout is proportional to the share difficulty they contributed within the window. This exposes miners to variance (you only earn when the pool finds blocks) but typically carries lower pool fees.
Why Share Difficulty Matters
For individual miners, understanding share difficulty clarifies several aspects of pool mining:
- Hashrate reporting accuracy: pools estimate your hashrate from your share submission rate and the assigned difficulty. Short-term fluctuations in reported hashrate are normal statistical noise, not hardware problems.
- Earnings consistency: because shares are difficulty-weighted, a vardiff increase does not reduce your earnings. You submit fewer shares, but each is worth proportionally more.
- Stale and rejected shares: if your share difficulty is too low relative to your hashrate, you may submit shares after the pool has already moved to a new block template, resulting in stale shares that earn no credit.
For a broader analysis of how difficulty, hashrate, and energy costs interact to determine mining profitability, see Bitcoin Mining Economics in 2026.
Use Cases
Pool Mining
The primary use case for share difficulty is enabling pooled mining. Without shares, a pool would need to trust that miners are working honestly. Shares provide cryptographic proof of work performed, allowing the pool to distribute rewards fairly among thousands of participants. This is what makes mining pools viable as a way for smaller miners to earn consistent income rather than waiting months or years to find a solo block.
Hashrate Estimation
Pools use share submission rates to estimate each miner's hashrate. If a worker is assigned a share difficulty of d, and they submit s shares in time period t, the estimated hashrate is:
estimated_hashrate = (shares × share_difficulty × 2^32) / time_seconds
# Example:
# 10 shares at difficulty 1,000,000 in 60 seconds
# hashrate = (10 × 1,000,000 × 4,294,967,296) / 60
# ≈ 715.8 TH/sThis estimate converges toward the true hashrate over longer observation windows. Short-term variance is inherent to the random nature of hashing.
Audit and Transparency
Share logs allow miners to independently verify that the pool is crediting their work correctly. Each share is a verifiable proof-of-work artifact. Under the Stratum V2 protocol, miners can also construct their own block templates, making it harder for pools to censor transactions or misrepresent work.
Risks and Considerations
Block Withholding Attacks
A malicious miner can submit regular shares to collect pool credit but intentionally withhold any shares that also meet the network difficulty, preventing the pool from earning block rewards. This block withholding attack is difficult to detect because the attacker's share submission rate appears normal. The expected cost to the pool is proportional to the attacker's hashrate share.
Share Difficulty Manipulation
If a pool sets share difficulty too high for a given miner, that miner may go long periods without submitting any shares. This increases variance in hashrate estimation and can delay payout under PPLNS schemes. Conversely, setting difficulty too low floods the pool server with submissions, wasting bandwidth and processing power.
Stale Shares
A share becomes stale when it references a block template that the pool has already abandoned (because a new block was found on the network). Stale shares represent real work but earn no credit. Higher share difficulty reduces stale rates by lowering submission frequency, but it also increases the time between data points for hashrate estimation.
Mining Centralization
Share difficulty mechanics are one reason mining centralization remains a concern. Pools that optimize vardiff algorithms, minimize stale rates, and offer favorable payout terms attract more hashrate, creating a feedback loop. Understanding how share difficulty interacts with pool selection is important for miners evaluating where to point their hardware. For more on this dynamic, see Bitcoin Mining Centralization and Pool Risks.
This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.