1

On Traditional Pooled Mining:

To solve the problem of high variance, the mining pools were created. In a traditional mining pool, many people all agree to combine their mining efforts and split the rewards according to their contributions.

Based on that:

For example: There is 500 miners on the same pool. As I understand they all trying different nonce to come up with a solution which is less than the difficulty.

Based on this answer:

mining is doing the work of finding nonce so that sha256(sha256(data+nonce)) < difficulty

[Q] Overall, Do all miners in the same pool create solutions with different nonce between each other, or is there any possibility that multiple miners may create same solution by using same nonce being unaware.

If yes, How miners on the same pool search non-overlapping sets of nonce candidates already tried by other miners to find a solution?

  • 1
    The hash needs to be below the target, not below the difficulty. The target goes down as the difficulty goes up. – Dr.Haribo Dec 25 '17 at 13:14
1

The pool gives a different template for a block to each miner. Each miner then generates lots of different blocks from their template. For each of these blocks they try all the possible nonce values, or at least some of them. They could even use a fixed nonce value and only change the other parts of the block - that would be just fine too, although less efficient as the nonce is a quick thing to change that won't require a new merkle root.

Trying all possible nonce values for a block only takes a split second and has almost zero chance of finding a block below target.

Duplicate work is avoided by the pool never giving out the same block template twice.

So a miner cannot do the same work as another miner, because it never has the same block template. It can still do its own work twice if it is very badly designed. But in that case the duplicate work results get rejected by the pool.

What's happening with mining is that you try billions upon billions of different blocks to find one with a hash below the current target. Changing the nonce value is only one (very limited) way of generating more blocks. If you only change the nonce then you'll only have a few blocks to try and it is extremely unlikely that any of them will have a hash value below the target.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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