If I do pool mining at difficulty=1000 and I find a share with difficulty=2000, I can tell the pool that I was mining at difficulty=2000 and then submit the share. I can earn more in this way.

Does the pool allow me to change difficulty whenever I want? If not, assume that it let me change difficulty every 30 minutes, then I can use a high difficulty which makes every share more than 30 minutes.

Even if this cannot be done, when I find a share with difficulty=2000, I can connect to the pool as a new worker with a static difficulty=2000 and submit the share.

What is preventing me from doing this?

  • I don't know what pools actually do, but an easy way to prevent this would be that when you change difficulty, or when you join as a new worker, you're given fresh work: say, with a different set of transactions, or some new magic cookie in the coinbase transaction. Then if you later submit a share that has the old cookie, it gets rejected. Jan 17, 2018 at 19:13

1 Answer 1


The work you were given is associated with a difficulty that the server decided upon before giving you that work.

Any work results you send in must be associated with work data known by the server.

When you submit work results, the work is looked up, and voila, there is the difficulty.

You may be given new work that has a different difficulty associated with it at a later time, but the old work still has the old difficulty.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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