User-defined (choosable) difficulty released!I just made probably the biggest update of Stratum pool since stratum mining has been introduced. Now all Stratum miners can define their own difficulty for each worker. Until now, miners were generating difficulty-1 shares and they had been credited by one share in pool database. Now miners can work on higher difficulty, say 5, which means that it is 5x harder to find a share, but pool will credit the worker for five shares in database for every share submission.
This feature is aimed to ASIC miners and big mining operations, because it
drastically optimized communication overhead. You can have 1Thash/s miner connected to the pool and network communication will consume less than 10kB/minute...
Downside of this feature is that it
slightly increases variance in share submissions, which may increase variance in block rewards. However, it definitely
doesn't affect overall mining income in longer timeframe like one day. It is still important to don't set the difficulty too high. Thanks to my calculations, having 10-20 share submissions per minute will give you very low variance.
How to change worker difficulty:There's a new option on worker edit form (web profile -> edit worker). You have two options. First is to put difficulty to input box manually. This is aimed mostly to advanced users, who want fine-tune their settings. For most of others there's simple dropdown list. Just select hashrate range which fits your mining rig and pool automatically converts your selection to appropriate difficulty number. Once you change the settings, pool will apply this difficulty in two minutes even on existing stratum connections (no need of miner restart).
If you're using more miners behind
stratum mining proxy, then all miners will use the highest difficulty of connected workers. It's not a bug, it's a feature :-). Please consider model case of one very slow (difficulty 1) and one very fast (difficulty 10) miner behind the proxy: the difficulty will be set to 10, which means that the slow one will need quite a long time to generate share. But when it happen (it happen with 10x lower probability than on difficulty 1), the submission will be still credited for 10 shares! For getting stable block reward, the important is the rate of submissions, not *which* miner generated it. Actually I encourage users to use stratum mining proxies if they have more miners on the same location, because it help optimize network overhead (because all miners re-use the single connection).
I'm also sorry that introducing such important feature took me too much time, but I'm currently busy with more Bitcoin projects (like Trezor). I'm still happy that I finished the project before #1 batch of Avalon ASIC miners come to their owners...
P.S. During the update I also changed block size limits on stratum servers (as Gavin and Mike asked me). Pool now creates blocks up to 500kB instead of previous limit of 250kB to help the network with increased traffic.