Author

Topic: how do you calculate the difficulty of a share submitted by a stratum worker? (Read 1085 times)

legendary
Activity: 1540
Merit: 1001
'quickly' - well that's subjective Smiley
The pool has to hash the coinbase transaction that they make up part of, hash the side of the merkle tree to get the merkle root, hash the block header that includes the merkle root, then you have a block hash which of course has a resultant difficulty.

Thank you, ck explained it to me.  What I didn't realize was the pool has to the full calculation as well ... the difference is it only has to verify the share is legit.  The miner's job is the find the legit share.

M
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
'quickly' - well that's subjective Smiley
The pool has to hash the coinbase transaction that they make up part of, hash the side of the merkle tree to get the merkle root, hash the block header that includes the merkle root, then you have a block hash which of course has a resultant difficulty.
legendary
Activity: 1540
Merit: 1001
I'm missing something fundamental.  The work submitted from a worker has 3 pieces of information that are related to the share:

- extranonce2
- ntime
- nonce

Somehow the pool can quickly take those values and the other known values that the pool provided the worker, and determine if it's a valid share and if it meets the required difficulty.  Can someone explain to me how that's done, or point me to some code that shows it? 

I assume this process is extremely simple otherwise the overhead on the pool would be too much.

Thanks.

M
Jump to: