0
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. – Nate Eldredge – 2018-01-17T19:13:46.797