<blockquote>
  <p>If the hashes are not recalculated/checked by the pool independently </p>
</blockquote>

<p>The hashes <em>would</em> be checked by the pool, so you can't just submit random numbers. Pools would most likely ban miners which did that, for wasting their time.</p>

CC BY-SA 3.0
2017-11-12T22:32:03.267Z
But checking is the same amount of work as calculating the hash. They could never keep up with all the miners, if there isn't somewhere a shortcut for the pool, or a way to assign double work between miners to detect fraud (and loose hash power)
Stefan
CC BY-SA 3.0
2017-11-13T03:08:20.473Z
@Stefan: "But checking is the same amount of work as calculating the hash."  No, it's not!
Nate Eldredge
CC BY-SA 3.0
2017-11-13T12:42:53.383Z
@NateEldredge Calculate the hash is same as check the hash, but to find the valid hash (share) miner must check (calculate) trillions of hashes, and the pool server only has to check (calculate) the one submitted by the miner. But I see that by calculate you assume finding the correct hash.
croraf
CC BY-SA 4.0
2021-05-13T10:31:45.637Z
The key is that a *share* is not just any (nounce, hash) pair, it is a (nounce, hash) pair which reach a given difficulty level, but a level which is much easier than the "network difficulty".
olejorgenb
CC BY-SA 3.0
2017-11-12T21:58:02.787Z
2017-11-12T21:58:02.787Z
meshcollider
<p>I had the exact same question and took me a while to find the answer.</p>
<p>TLDR: the pool simulates a smaller difficulty network and if you find a solution to it, the pool considered you did work and can check it in an instant. One of those solutions might be so good that it is the solution to the network.</p>
<p>As a background read:</p>
<ul>
<li>I recommend this <a href="https://ethereum.stackexchange.com/questions/4529/for-pool-mining-what-exactly-is-a-share">answer</a> to the question what is a pool share vs. a network block.</li>
<li>And this <a href="https://braiins.com/blog/bitcoin-mining-pools-luck-shares-estimated-hashrate" rel="nofollow noreferrer">article</a> about Bitcoin Mining Pools, but applicable generally in my opinion.</li>
</ul>
<p>In short, a share does not contain multiple calculations, but just a solution that is easy to verify because is just one.</p>
<p>For the argument, lets say you have 100MH hashing power. It would take you 100 minutes to find the block solution to the network in order to get the reward, because the network difficulty is 50.</p>
<p>A share given by a pool to work on has a difficulty you need to meet or <strong>exceed</strong> that is smaller than the network difficulty, lets say for example 20. With your computational power it would take you 1 minute to find the share the pool requests you. You submit your solution to the pool and it will calculate in a fraction of a second if what you calculated for a minute is valid. Now you have a valid share (hopefully, more details in the recommended links) and you took part in the work for that pool. A special and important thing about your computed solution is that the difficulty it meets <strong>is not necessarily exactly 20</strong> (what the pool asked of you). It might meet a difficulty of 30, or even 50, case in which congrats you found a valid block (but can't steal it because the pool already inserted its information on what gave to you to calculate).</p>

CC BY-SA 4.0
2023-09-21T12:23:33.490Z
2023-09-21T12:23:33.490Z
Robert Lica
<p>Miners calculate share hashes and submit them to the pool for their proof of work. And if the share hashes leads to a correct block hash in terms of difficulty, everybody in the pool gets paid according to their submitted work using different distribution methods.</p>

<p>Question:
Why can't a miner just submit random numbers as fake share hashes (little work) to the pool, instead of doing the actual hard work of hashing?</p>

<p>So for the pool: Is there a way to prevent this without recalculating the hash to find out its fake? Recalculation is hard work, and annihilates the sense of delegating it to miners.</p>

<p>And if there is no control it would only be visible with statistics as the pool is too unlucky on the long term. Ex.: a miner submitting 100THash/s and never finding a match might doesn't even calculated the hashes but just submits random stuff.</p>

<p>Edit: Clarified question to distinguish from similar sounding questions.</p>

CC BY-SA 3.0
2017-11-12T21:58:09.953Z
What makes you think the share hashes are not checked?  But one can check by just computing one hash, rather than the trillions needed to find one that makes a valid share.  That's the whole point of a proof of work - hard to find, easy to verify.
Nate Eldredge
CC BY-SA 3.0
2017-11-13T01:23:31.580Z
Possible duplicate of [What is a share? Can I find it while mining solo, or only when pool mining?](https://bitcoin.stackexchange.com/questions/1505/what-is-a-share-can-i-find-it-while-mining-solo-or-only-when-pool-mining)
Highly Irregular
CC BY-SA 3.0
2017-11-13T19:32:09.710Z
@HighlyIrregular Thats what I read but don't understand. If I submit a trillion random numbers with a simple laptop I will get a large reward portion from the pool as soon somebody else in the pool submits the correct one using expensive ASICs. So I didn't do any work but still am contributed a large portion simply because my hashes were "unlucky" and for the pool it looks as if I contributed.
Stefan
CC BY-SA 3.0
2017-11-13T20:30:29.800Z
No. If you run through a trillion hashes and find, for example, 10 hashes that are good enough to submit as "shares" to the pool, and the ASIC miners submit 100,000,000 shares, then you'll receive a proportion of the reward equal to 10 out of 100,000,010. If the reward is 20BTC, then you'd receive about 200 satoshis, currently worth about $0.01. To earn that much without an ASIC device, you'd probably use $1 or more of electricity. Those numbers are only an example, but it gives you an idea of the situation.
Highly Irregular
CC BY-SA 3.0
2017-11-14T20:14:37.293Z
@HighlyIrregular I meant you submit 100,000,000 shares, which in a extreme context is 100,000,000 times the same number to fake "hashing work". Or does the pool keep a "submitted hashes from all miners database" to prevent this?
Stefan
CC BY-SA 3.0
2017-11-14T20:25:53.483Z
Each share is verified to ensure it meets the target criteria, and yes submitting the same share multiple times would be detected. There isn't a requirement to keep more than a few minutes history of submitted hashes because the inputs used as part of the hash calculation change so frequently (trying to submit a hash of an old input would just fail to verify).
Highly Irregular
<mining-pools><hashpower><mining-pool-shares>
How does the pool know the share hashes are calculated and not cheated?
Stefan
# How does the pool know the share hashes are calculated and not cheated?

(Asked by: username_0 on 2017-11-12)

Miners calculate share hashes and submit them to the pool for their proof of work. And if the share hashes leads to a correct block hash in terms of difficulty, everybody in the pool gets paid according to their submitted work using different distribution methods.

Question:
Why can't a miner just submit random numbers as fake share hashes (little work) to the pool, instead of doing the actual hard work of hashing?

So for the pool: Is there a way to prevent this without recalculating the hash to find out its fake? Recalculation is hard work, and annihilates the sense of delegating it to miners.

And if there is no control it would only be visible with statistics as the pool is too unlucky on the long term. Ex.: a miner submitting 100THash/s and never finding a match might doesn't even calculated the hashes but just submits random stuff.

Edit: Clarified question to distinguish from similar sounding questions.

**Tags:** mining-pools, hashpower, mining-pool-shares

> **Comments:**
> **username_1**: What makes you think the share hashes are not checked?  But one can check by just computing one hash, rather than the trillions needed to find one that makes a valid share.  That's the whole point of a proof of work - hard to find, easy to verify.  
> **username_2**: Possible duplicate of [What is a share? Can I find it while mining solo, or only when pool mining?](https://bitcoin.stackexchange.com/questions/1505/what-is-a-share-can-i-find-it-while-mining-solo-or-only-when-pool-mining)  
> **username_0**: @username_2 Thats what I read but don't understand. If I submit a trillion random numbers with a simple laptop I will get a large reward portion from the pool as soon somebody else in the pool submits the correct one using expensive ASICs. So I didn't do any work but still am contributed a large portion simply because my hashes were "unlucky" and for the pool it looks as if I contributed.  
> **username_2**: No. If you run through a trillion hashes and find, for example, 10 hashes that are good enough to submit as "shares" to the pool, and the ASIC miners submit 100,000,000 shares, then you'll receive a proportion of the reward equal to 10 out of 100,000,010. If the reward is 20BTC, then you'd receive about 200 satoshis, currently worth about $0.01. To earn that much without an ASIC device, you'd probably use $1 or more of electricity. Those numbers are only an example, but it gives you an idea of the situation.  
> **username_0**: @username_2 I meant you submit 100,000,000 shares, which in a extreme context is 100,000,000 times the same number to fake "hashing work". Or does the pool keep a "submitted hashes from all miners database" to prevent this?  
> **username_2**: Each share is verified to ensure it meets the target criteria, and yes submitting the same share multiple times would be detected. There isn't a requirement to keep more than a few minutes history of submitted hashes because the inputs used as part of the hash calculation change so frequently (trying to submit a hash of an old input would just fail to verify).  

---

## 2 answers

### Answer by username_3 on 2017-11-12. Score: 2

> If the hashes are not recalculated/checked by the pool independently

The hashes *would* be checked by the pool, so you can't just submit random numbers. Pools would most likely ban miners which did that, for wasting their time.

> **Comments:**
> **username_0**: But checking is the same amount of work as calculating the hash. They could never keep up with all the miners, if there isn't somewhere a shortcut for the pool, or a way to assign double work between miners to detect fraud (and loose hash power)  
> **username_1**: @username_0: "But checking is the same amount of work as calculating the hash."  No, it's not!  
> **username_4**: @username_1 Calculate the hash is same as check the hash, but to find the valid hash (share) miner must check (calculate) trillions of hashes, and the pool server only has to check (calculate) the one submitted by the miner. But I see that by calculate you assume finding the correct hash.  
> **username_5**: The key is that a *share* is not just any (nounce, hash) pair, it is a (nounce, hash) pair which reach a given difficulty level, but a level which is much easier than the "network difficulty".  

---

### Answer by username_6 on 2023-09-21. Score: 2

I had the exact same question and took me a while to find the answer.

TLDR: the pool simulates a smaller difficulty network and if you find a solution to it, the pool considered you did work and can check it in an instant. One of those solutions might be so good that it is the solution to the network.

As a background read:

* I recommend this [answer](https://ethereum.stackexchange.com/questions/4529/for-pool-mining-what-exactly-is-a-share) to the question what is a pool share vs. a network block.
* And this [article](https://braiins.com/blog/bitcoin-mining-pools-luck-shares-estimated-hashrate) about Bitcoin Mining Pools, but applicable generally in my opinion.

In short, a share does not contain multiple calculations, but just a solution that is easy to verify because is just one.

For the argument, lets say you have 100MH hashing power. It would take you 100 minutes to find the block solution to the network in order to get the reward, because the network difficulty is 50.

A share given by a pool to work on has a difficulty you need to meet or **exceed** that is smaller than the network difficulty, lets say for example 20. With your computational power it would take you 1 minute to find the share the pool requests you. You submit your solution to the pool and it will calculate in a fraction of a second if what you calculated for a minute is valid. Now you have a valid share (hopefully, more details in the recommended links) and you took part in the work for that pool. A special and important thing about your computed solution is that the difficulty it meets **is not necessarily exactly 20** (what the pool asked of you). It might meet a difficulty of 30, or even 50, case in which congrats you found a valid block (but can't steal it because the pool already inserted its information on what gave to you to calculate).


---

