Title: How are `shares` calculated in Pools Post by: twilighvanquisher on August 28, 2025, 08:09:41 PM One thing that I cannot get enough information in the internet is what constitutes as a `share` in pooled mining.
In pooled mining, each miner gets a target difficulty by the pool. This target difficulty varies pool-to-pool. The ASIC miner tries to find a solution ABOVE this target difficulty. Typical log looks like this: Code: ₿ (1320199) asic_result: Ver: 21014000 Nonce D0060406 diff 2914.8 of 1024. Code: ₿ (1336969) asic_result: Ver: 24494000 Nonce 05A6009C diff 1168.5 of 1024. Now from the pools perspective, what are my shares? Are they 1024 + 1024 = 2048 Or 2914.8 + 1168.5 = 4,083.3 I do know that the hashrate is calculated using target difficulty of the shares w.r.t time. But I am confused about the shares that the pool track. Title: Re: How are `shares` calculated in Pools Post by: mikeywith on August 29, 2025, 12:00:37 AM Now from the pools perspective, what are my shares? Are they 1024 + 1024 = 2048 Or 2914.8 + 1168.5 = 4,083.3 It's 2048; in other words, it's 2 valid shares at diff 1024 diff, which would result in 2048 difficulty units or work units. it's up to the pool code and database whether they store just 1 column that says "difficulty units," which in this is going to be 2048, or assign a different row for every share and store difficulty in another column, or override the same exact cell every time your miner submits a share, but all of that is irrelevant; by the end of the day, you are getting rewards based on the number of shares you submitted at x difficulty, which is the total difficulty units you contributed in that round or period. Obviously, this is not related to the Bitcoin protocol or consensus; any pool can still reward you for "over-delivering," which in your case would be 4,083.3 work units, but I am not aware of any pool that does that. Title: Re: How are `shares` calculated in Pools Post by: kano on September 01, 2025, 12:20:21 PM Share value is Proof of Work.
It's a mathematical proof of how much work you have done. You can't fake it. If a pool asks for 1024 difficulty shares, it means it wants any share that is 1024 or higher. Each share that is 1024 or higher means you have done 1024 difficulty of work. If you send 1000 of these shares, it means you have done 1024000 difficulty of work. How far the value of each share is above 1024 means nothing, it is just the fact that the share value is >= 1024 is proof that you have done 1024 difficulty of work. Or as the Help page I have on my pool explains: https://kano.is/index.php?k=workdiff |