# About shares in mining pool

I know that profits are assigned by the shares. But I want to know some details about computing the share.

For example, I get a job with difficulty 25000 to solve:

• Do I need to finish 25000 times of hash computing in a limited time to get a valid share?

or

• Is there a possibility that I just need to finish parts of the 25000 to get a valid share? In extreme cases, do I only need to calculate one hash to get a valid share?

This problem has bothered me for a long time. Can anyone help me solve this problem? Thanks!

First, not all shares are of equal value. A share with a difficulty of 25000 is worth more that a share with a difficulty of 250.

Second, it's worth understanding that difficulty (in PoW terms) is harder the lower the number, but in pools, will often be termed the other way round. I.e. they refer to the same thing but flipped around. With PoW you are trying to find a number smaller than another number. For example, with 0 being the hardest and 10 being the easiest, if you have a difficulty of 3, you are trying to find a number smaller than 3 (so 0, 1 or 2). With a difficulty of 3 (smallest hardest), you can flip that around to say greater than 7, and this is what you'll see with pools when referring to share difficulty. As 7 increases, the work is harder (and worth more), because you're ultimately trying to find a number smaller than max minus difficulty.

The hash function is just giving you a random number between 0 and 2^256-1. In the example above with 0 being hardest and 10 being easiest, that would be equivalent to a hash function returning a random number between 0 and 9.

Do I need to finish 25000 times of hash computing in a limited time to get a valid share?

No, you do not need to hash 25000 times to solve a job with a difficulty (in pool terms) of 25000. You need to find a valid hash* within a certain amount of time. The pool will send you work based on how quickly you solved previous work so you end up submitting work at an approximate rate, typically ~30 seconds per job.

*Note that 25000 is only the top 32 bits of the actual difficulty number. See this answer which explains further.

Is there a possibility that I just need to finish parts of the 25000 to get a valid share? In extreme cases, do I only need to calculate one hash to get a valid share?

You will on average find a valid hash (number) within the timeframe the pool targeted your job difficulty for. Sometimes it will take you longer, others less; extremes included.