

So, ultimately you don't want to overload the pool but you want to make sure that you risk as few shares as possible. But if the next block were found in 1 minute and 2 seconds, you would have only lost 2 seconds theoretically cause you would have probably managed to submit a share. So, if you set the difficulty to a value which allows you to generate 1 share per minute -> Utility = 1.0 then when blocks get found under 1 minute, you have lost that minute because the pool will generate new work with the latest new block to mine and the work you were working on that you couldn't complete in time would be useless.

As far as I understand, these submited shares would be marked as Stale or Perhaps Rejected.Ĭurrently a new bitcoin block is found every 10 minutes or so, sometimes under a minute sometimes more than 15 minutes. If the difficulty is very high, you may be working on solving a problem which no longer needs solving and so you will get no credit for the work.you are spending some time waiting for recieving new work from the server and also spending time sending the solutions to the server that could have been used for finding solutions.So some work you have done in solving problems has gone to waste as these solutions have been rejected.If the difficulty is very low, the network and server will be flooded with shares of solutions you have found and may reject some as it can not handle so many packets per second.So back to the initial question / response of the "optimum" difficulty is a balance of how many packages back and forth the network connection between the server and client is comfortable with handling and time to put at risk. You can now check to see which difficulty the pool has automatically assigned to you in the Miner Status Page. LSTime - Time since Last Accepted Share.LSDiff - Last Accepted Share Difficulty.Stale - Number Shares that were sent after a block was already solved.

According to a developer of cgminer, meaningless.
