Shares Explained: How Pools Track Your Work
The Fundamental Problem Shares Solve
Section titled “The Fundamental Problem Shares Solve”Picture this: you and 10,000 other miners join a pool. Someone in the pool finds a block worth 3.125 BTC plus fees. Great — but how does the pool decide who gets what? The miner who found the actual block did the final lucky hash, but everyone else was working just as hard. You can’t just pay the one person who got lucky.
The pool needs a way to measure how much work each miner contributed. That’s what shares are for. They’re proof-of-work receipts — evidence that your miner was genuinely hashing away and not just sitting idle while waiting to claim a portion of the rewards.
Without shares, pools would be impossible. There would be no fair way to distribute rewards.
What Exactly Is a Share?
Section titled “What Exactly Is a Share?”A share is a hash that your miner found that meets the pool’s difficulty threshold — which is much lower than the Bitcoin network’s difficulty threshold.
Remember from the difficulty article: the Bitcoin network requires a hash below an incredibly tiny target (difficulty in the tens of trillions). Your individual ASIC might only find such a hash once every several decades. But the pool sets a much easier target for shares.
Here’s how it works in practice:
- The pool sends your miner a job (a block template to work on).
- Your miner starts hashing — trying billions of variations per second.
- Whenever it finds a hash below the pool’s easier target, it sends that result to the pool as a share.
- The pool records that share as proof you were working.
- On rare occasions, one of those shares also happens to be below the network’s much harder target — that’s a valid block. Jackpot.
Think of it like panning for gold. The pool asks you to show every nugget you find, even the tiny ones (shares). Most of the time, you find small nuggets that prove you’re working. Once in a great while, someone in the pool finds a massive nugget (a block). The reward gets split based on how many small nuggets each person contributed.
Types of Shares: Accepted, Rejected, Stale
Section titled “Types of Shares: Accepted, Rejected, Stale”When your miner submits a share to the pool, one of three things happens:
Accepted Shares
Section titled “Accepted Shares”The share met the pool’s difficulty target and arrived in time. The pool records it, and it counts toward your contribution. This is what you want — every accepted share brings you closer to your payout.
On your dashboard, you want to see accepted shares climbing steadily. A healthy miner with good network connectivity will have an accept rate well above 98%.
Rejected Shares
Section titled “Rejected Shares”The pool looked at the share and said “no thanks.” This can happen for several reasons:
- Invalid hash — The share doesn’t actually meet the pool’s difficulty requirement. This usually indicates a hardware problem (bad hash board, overheating, unstable overclock).
- Duplicate share — Your miner already submitted this exact same share. This can happen with firmware bugs or configuration errors.
- Job not found — The share references a mining job that the pool doesn’t recognize. Often caused by misconfigured software or connection issues.
Rejected shares represent wasted work. Your miner spent electricity computing them, but you get zero credit.
Stale Shares
Section titled “Stale Shares”Stale shares are the most common type of rejected work, and they deserve special attention. A share is “stale” when it’s perfectly valid but arrives too late — the job it was working on has already expired.
Here’s what happens:
- The pool sends your miner Job A.
- Someone on the network finds a block, changing the state of the blockchain.
- The pool creates Job B (based on the new block) and sends it to your miner.
- But your miner was still working on Job A and submits a share for it.
- The pool says “sorry, Job A is done — that share is stale.”
The gap between when the new job is available and when your miner switches over is where stale shares are born. It’s a race condition, and network latency is the biggest factor.
Share Difficulty: Not All Shares Are Equal
Section titled “Share Difficulty: Not All Shares Are Equal”Remember how pools use their own difficulty, separate from the network? The pool’s difficulty determines how “hard” each share is to find and, inversely, how many shares your miner will submit per unit of time.
Low share difficulty = many small shares per minute. Each share proves a small amount of work.
High share difficulty = fewer big shares per minute. Each share proves more work.
Here’s the thing: it doesn’t matter. Whether you submit 100 shares at difficulty 1,000 or 1 share at difficulty 100,000, you’ve proven the same amount of work. The pool accounts for the share difficulty when calculating your contribution.
Most modern pools use variable difficulty (vardiff). They automatically adjust the share difficulty assigned to each miner based on its hashrate:
- A 200 TH/s miner might be assigned difficulty 65,536, submitting a share every few seconds.
- A 50 TH/s miner might get difficulty 16,384, also submitting every few seconds.
The goal is to keep each miner’s share submission rate at a steady, manageable pace — not too frequent (which wastes bandwidth and pool processing power) and not too infrequent (which makes hashrate estimation less accurate).
Share Rate: What Affects It
Section titled “Share Rate: What Affects It”Your share rate (shares per minute or per second) depends on:
- Your hashrate — More hashing power means more chances to find shares.
- Share difficulty — Higher difficulty means fewer shares but each is “worth” more.
- Luck — Yes, even shares are probabilistic. In any given minute, you might find more or fewer shares than average.
The expected share rate can be calculated:
Expected shares per second = Your hashrate / (2^32 x Share difficulty)For a 200 TH/s miner with a share difficulty of 65,536:
200,000,000,000,000 / (4,294,967,296 x 65,536) = ~0.71 shares per secondSo roughly one share every 1.4 seconds. In reality, you’ll see bursts and gaps because it’s a random process, but over time it averages out.
How to Reduce Rejected and Stale Shares
Section titled “How to Reduce Rejected and Stale Shares”Every rejected or stale share is wasted electricity and lost income. Here are practical steps to minimize them:
Reducing Stale Shares
Section titled “Reducing Stale Shares”-
Choose a geographically close pool server. If you’re in Texas, connect to a US server, not one in Singapore. Latency matters — every millisecond of round-trip time increases your stale rate.
-
Use a wired Ethernet connection. Wi-Fi adds latency and is prone to packet loss. Mining should always use a direct Ethernet cable.
-
Check your network quality. Run ping tests to your pool server. Look for high latency (over 100ms) or packet loss (any percentage above 0). Either one increases stale shares.
-
Consider a pool proxy. Some miners run a local proxy (like a Stratum proxy) that manages pool connections more efficiently, especially if you have multiple ASICs.
-
Enable AsicBoost if supported. This doesn’t directly reduce stale shares, but it increases your effective hashrate, improving the ratio of useful work.
Reducing Rejected Shares
Section titled “Reducing Rejected Shares”-
Don’t push overclocks too hard. Aggressive overclocking causes hash errors, which produce invalid shares. If your rejection rate spikes after overclocking, dial it back.
-
Monitor temperatures. Overheating causes hash board errors. Keep your miners within the manufacturer’s recommended temperature range.
-
Check your power supply. An underpowered or failing PSU can cause intermittent hash errors. Make sure your PSU provides clean, stable power with adequate headroom.
-
Update firmware. Manufacturer firmware updates sometimes fix bugs that cause duplicate or invalid shares.
-
Verify your pool configuration. Make sure you’re using the correct stratum URL, port, and worker credentials. Misconfigured settings can cause jobs to be rejected.
Shares and Your Earnings
Section titled “Shares and Your Earnings”Shares are the sole basis for how pools calculate your payout. Every payout method (PPS, FPPS, PPLNS — covered in a later article) uses shares as the input:
- In PPS/FPPS: Each accepted share has a fixed BTC value. You get paid for every share regardless of whether the pool finds blocks.
- In PPLNS: When the pool finds a block, it looks at the last N shares submitted and distributes the reward proportionally to who submitted them.
Either way, more accepted shares = more money. Every stale or rejected share is money directly out of your pocket.
The “Hashrate” on Your Dashboard Is Share-Derived
Section titled “The “Hashrate” on Your Dashboard Is Share-Derived”Here’s something important: the “hashrate” your pool dashboard shows you is not a direct measurement. It’s an estimate based on how many shares you’re submitting and at what difficulty:
Estimated hashrate = (Shares x Share difficulty x 2^32) / Time periodThis is why your dashboard hashrate fluctuates. Over a short window (5 minutes), the variance in share submission causes the estimated hashrate to bounce around. Over a longer window (24 hours), it converges toward your actual hashrate.
If your 24-hour average is consistently lower than your miner’s rated hashrate, you might have a hardware issue. If it’s consistently higher, the pool might be assigning lower difficulty than optimal (unusual but possible).
Quick Recap
Section titled “Quick Recap”- Shares are proof-of-work receipts that mining pools use to track each miner’s contribution.
- A share is a hash that meets the pool’s difficulty threshold (much easier than the network difficulty).
- Accepted shares count toward your payout. Rejected shares are wasted work. Stale shares arrived too late.
- Share difficulty is adjusted by the pool (vardiff) — higher difficulty means fewer but “heavier” shares. Your earnings are the same.
- Stale shares are caused primarily by network latency. Use a nearby pool server and wired connections.
- Rejected shares often indicate hardware problems — overheating, bad overclock, or power supply issues.
- Your pool dashboard hashrate is an estimate derived from your share submission rate.
- Aim for 99%+ acceptance rate. Below 98% warrants investigation.
Next: Nonce and extraNonce — the hidden mechanism that allows miners to search through enough possibilities to find valid hashes.