In mining, what is "a share"? When mining solo, do I "find shares"?

up vote 45 down vote accepted

A share is a hash smaller than the target for difficulty of 1* (see clarification at end). Every hash created has a 1 in ~4 billion (2^32) chance of being a valid share. In comparison if the difficulty of network is 2,000,000 then a share is 2 million times "easier" to find than a valid hash for the block, and on average it will take 2 million shares (8 quadrillion hashes) to find a valid hash for the block.

Shares have no actual "value". To the bitcoin network they are worthless. The only hash with any value is the one that is smaller than the target (determined by difficulty).

Since a miner has no control over when he will generate a share (they occur randomly roughly once per 2^32 hashes) he can't cheat the pool. When one miner in the pool finds the solution hash (the only hash worth anything) rewards can then be split by number of shares submitted. There are multiple reward methods (Proportional, PPLNS, SMPSS, PPS, etc) that calculate the "fair share" of the reward but all use a share as a proxy for work completed by the miner.

It is important to emphasize that a share has no actual value. The only hash with value is the one that solves a block. A share is merely an accounting method to keep the miners honest and fairly divide any rewards earned by the pool.

There is no need to keep track of shares in solo mining because you will not split the reward and can't cheat yourself.

  • Usually pools use a difficulty of 1 as the target for a share. Technically any difficulty (less than network difficulty) could be used. Each miner's share of the reward would remain the same regardless of what difficulty is used.
  • 1
    Why do pools use a different difficulty than 'the' difficulty? – Kinnard Hockenhull Jul 10 '13 at 7:35
  • 5
    Because the goal is to track work attempted in a verifable manner. If a pool used a difficulty equal to the block difficulty then only one share would be found per block and it would be found by the miner who solves the block. All rewards would go to the single share holder and essentially you invented a long complex round about way of solo mining. Another way to look at it is lets say block difficulty is 20 million if a pool uses difficulty 1 shares then on average 20 million pool shares will be found per block found. The reward of the block is divided up among the 20 million shares. – DeathAndTaxes Jul 13 '13 at 5:01
  • Who validates the share? That would also require significant computational resources right? – Raunak Thomas Jul 17 '17 at 4:16
  • Doesn't the pool just keep a count of the accepted shares you submit? If my accepted shares are 1% of all accepted shares, then I should get 1% of the reward less pool fees. If the block reward is 12.5 BTC, then I should get 1.25 BTC or split based on the agreed upon reward share system. – Sun Sep 27 '17 at 19:36
  • @RaunakThomas: No, validating a share, just like validating a block, is a very easy straightforward operation that involves a few hashes and basic math. The hard part is finding a share. – abelenky Feb 12 at 4:19

1% of 12.5BTC is not 1.25BTC 12.5 × .01 = .125BTC. But yes, your reward would be proportional to the total amount of work done. If you only did 1% of the shares, you get 1% of the reward.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.