Next scheduled rescrape ... in 3 days
Version 1
Last scraped
Edited on 03/05/2025, 17:13:06 UTC
@ -ck

I'm just wondering what metrics are used to calculate the pool's difficulty level set for a given worker, is it purely down to the number of shares returned in a given time?

Also, how is the difficulty set by a miner? Most of my rigs run CGMiner which has a suggested difficulty parameter '--suggested-diff xxx' that allow me to set the difficulty I want.

However, I've recently added a BitAxe Gamma and there appears to be no method for requesting a particular difficulty so it falls back to whatever the pool decides, is there an additional parameter that can be set for example in the password field like -d = 10000?

Thanks

G.
Cgminer was the only mining software that implemented the stratum command for suggesting diff. Bitaxe and others use different mining software these days, without any support for suggesting diff. The pool chooses based on submission rate to maintain 18 shares per minute. Suggesting diff is by and large a waste of time since the pool will find the optimal value for your mining hardware over enough time, unless you want to set it higher than strictly needed (there's no logical reason for this apart from a very tiny drop in internet bandwidth.) The pool will ignore you setting too low a diff as this potentially acts as a DoS on the pool.


So what is the point of only 18 shares per min?  Surly with such a beefy pool we should be able to sumit way more shares.

Something that has puzzled me about the diff and pools for time is why restrict us to such a low value of share per min.

18 is hardly a drop in the ocean compaird to the power of the server.

If there is no serious load then why limit to 18 shares per min?  

Would this not also have some effect on the time expected for a block?
If you are exected to solve a block when your shares are on par with network diff then it would take approximately 13 million years to submit 123 trillion shares at 18 shares per minute.

That cannot be correct.  



Assuming I think you might be confusing shares with the returned hash valueunderstand it correctly:-

Now, assuming I understand it correctly:-

If for example the pool sets a difficulty of 1000 the miner will only return a share once if finds a hash with a value bigger than 1000.

This doesn't mean its not hashing, it just means its not requesting a new block template until it finds a hash share bigger than the pool difficulty.

Now lets say a really fast miner connects to the pool say 200PH or something like that, if the difficulty was set too low the miner would soon overwhelm the pool with get block template requests as it finds lots of hashes of a low difficulty really quickly and the whole thing would look like a DDOS attack and the pool would stop functioning.

So, the pool then issues the miner with a much higher difficulty in order to slow down the number of requests to a manageable level. The managable level is 18 shares per minute.

The returned value of a share i.e. the hash can be anything within the realms of the total difficulty which I believe is something like 2^96

So by the pool telling the miner not to return shares that have a hash below a given difficulty the number of shares the miner has to submit are reduced, hence the pool manages its resources.

Anyway, I think I have that correct.




Original archived Re: [∞ YH] solo.ckpool.org 2% fee solo mining 299 blocks solved!
Scraped on 03/05/2025, 16:43:07 UTC
@ -ck

I'm just wondering what metrics are used to calculate the pool's difficulty level set for a given worker, is it purely down to the number of shares returned in a given time?

Also, how is the difficulty set by a miner? Most of my rigs run CGMiner which has a suggested difficulty parameter '--suggested-diff xxx' that allow me to set the difficulty I want.

However, I've recently added a BitAxe Gamma and there appears to be no method for requesting a particular difficulty so it falls back to whatever the pool decides, is there an additional parameter that can be set for example in the password field like -d = 10000?

Thanks

G.
Cgminer was the only mining software that implemented the stratum command for suggesting diff. Bitaxe and others use different mining software these days, without any support for suggesting diff. The pool chooses based on submission rate to maintain 18 shares per minute. Suggesting diff is by and large a waste of time since the pool will find the optimal value for your mining hardware over enough time, unless you want to set it higher than strictly needed (there's no logical reason for this apart from a very tiny drop in internet bandwidth.) The pool will ignore you setting too low a diff as this potentially acts as a DoS on the pool.


So what is the point of only 18 shares per min?  Surly with such a beefy pool we should be able to sumit way more shares.

Something that has puzzled me about the diff and pools for time is why restrict us to such a low value of share per min.

18 is hardly a drop in the ocean compaird to the power of the server.

If there is no serious load then why limit to 18 shares per min? 

Would this not also have some effect on the time expected for a block?
If you are exected to solve a block when your shares are on par with network diff then it would take approximately 13 million years to submit 123 trillion shares at 18 shares per minute.

That cannot be correct. 



I think you might be confusing shares with the returned hash value

Now, assuming I understand it correctly:-

If for example the pool sets a difficulty of 1000 the miner will only return a share once if finds a hash with a value bigger than 1000.

This doesn't mean its not hashing, it just means its not requesting a new block template until it finds a hash share bigger than the pool difficulty.

Now lets say a really fast miner connects to the pool say 200PH or something like that, if the difficulty was set too low the miner would soon overwhelm the pool with get block template requests as it finds lots of hashes of a low difficulty really quickly and the whole thing would look like a DDOS attack and the pool would stop functioning.

So, the pool then issues the miner with a much higher difficulty in order to slow down the number of requests to a manageable level. The managable level is 18 shares per minute.

The returned value of a share i.e. the hash can be anything within the realms of the total difficulty which I believe is something like 2^96

So by the pool telling the miner not to return shares that have a hash below a given difficulty the number of shares the miner has to submit are reduced, hence the pool manages its resources.

Anyway, I think I have that correct.