0

As I learn about the Stratum protocol, which allows a mining pool to coordinate work with its workers, I was curious what the "clean jobs" param in the mining.notify method means. Per the spec -- https://en.bitcoin.it/wiki/Stratum_mining_protocol , it can be either true or false. What I don't understand is why would it be false. The wiki says if its false, "If false, they can still use the current job but should move to the new one after exhausting the current nonce range". My question is what logical reason would a pool give to a miner to do this? I'm assuming if new work comes in it means someone on the network has hashed the block and therefore there's no more potential for rewards. So why have a worker waste his time continuing with a job that someone else has already completed?

0

My question is what logical reason would a pool give to a miner to do this?

To queue jobs to the miner. The server could tell the miner "here's work for you to do when you finish what you're currently working on". Since jobs are stateless and individualized (i.e. each job is only being worked on by that one user/worker), a server could queue jobs for the miner before it finishes its current job in order to avoid down time. So long as a new block hasn't been found, this is faster than the worker asking for another job when it finishes its current one.

I'm assuming if new work comes in it means someone on the network has hashed the block and therefore there's no more potential for rewards.

That's a bad assumption to make. For a given block, there can be lots of new work. New transactions could be generated, ExtraNonce1 can be incremented to provide new work, etc.

So why have a worker waste his time continuing with a job that someone else has already completed?

IIRC jobs are individualized, so a miner is not doing work that a different miner is doing.

  • Regarding, "For a given block, there can be lots of new work", but if someone has already mined the block, why is the mining pool continuing to mine that block? Shoudl the pool be moving on to blocks that haven't yet been mined? – Dave Mar 14 '18 at 16:04
  • A new block has not necessarily been mined when new work is issued. – Andrew Chow Mar 14 '18 at 18:07

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.