seems the full nonce is controlled by the miner (64 bit) and MWgrinpool delivers the same pre_pow to multiple client connections. I have not checked between pools, but in case two pools deliver the same pre_pow, it will be abused.
a multiworker pool would need to communicate nonces between workers to prevent duplicate solution submission.
Every pre_pow is unique and collisions will not happen on regular basis. Even if two pools issue same pre_pow by some miracle, for 20 seconds, you could make few extra cents, every 100 years or so.
Instead of wasting header space, each pool can simply check that every valid nonce submitted for this node is unique. We are talking about megabytes of data in memory.
I requested a few jobs and they are same. what part of the pre_pow is supposed to change?
Each node will have its own coinbase, different tracactions and different timestamp. Some parts of the header stay the same, but not all. This is also the reason why miners can’t just claim the block reward. Pools would be screwed if it was trivially possible to recreate same pre_pow.
you only need to split nonce between pool and miner. no miner needs a 64 bit nonce. no header space required.
Correct… if a service wants to use this system, why not. However, at this moment, it does not provide any practical benefit for miners as u64 space is too large for collisions to happen. Of course the processing is easier on pool side, that is probably why nicehash wants it.
you can reduce pool traffic by splitting the nonce space, makes sense if you have a farm. and to request a job at higher difficutly the job must be unique.