I've been investigating the distinct solved blocks by the pool over 24 hours and see that the pools percent dropped to 17% from approx. 45% two weeks ago, despite having an increase in hashpower and an increase in distinct miner count.
Looking at the mining template that is given to every miner, I came to the conclusion that one possibility is everyone together is trying to solve the same block (since the pool only has one address, and our distinct transaction count in the block is relatively low). I was thinking maybe everyone is doing the same work without realizing it, and that means as we increase the load on the pool, the problem actually gets worse (as diff increases, more miners do exactly the same work).
So to investigate this I analyzed the top 1000 solutions in the last 15 minutes and sure enough, about 15% of the solutions appear to be exactly the same.
So in light of this I am adding two new features to the pool to attempt to "potentially" measure and or solve this problem:
#1: We now require unique solutions for every miner. So any miner who sends the same solution as another miner, the early bird gets the share, the later solution gets marked as SOLUTION_STALE and then the core asks the pool for a new piece of work. (This will probably cause the big dogs in the pool to lose some shares, relatively speaking compared to small dogs, but we'll see).
#2: Since I want to eliminate the possibility of a duplicated block template across the pool, I have requested the pool to have 7 receiving addresses, starting now. Now, the pool will check its receive address list whenever doing block checking. It will also issue a random receiving address in the block template, thereby creating a more unique template per miner. This is now in prod.
Let us monitor the pool for the next 24 hours and see if we have an uptick in pool based solutions.
That sounds like a very possible cause. Right now I'm seeing quite the effect on the shares: overall I think shares dropped a little bit, but the more significant change is that my small miners (genproclimit=1) have completely disappeared from the list (despite still mining and showing hashps>200 in "getmininginfo"). So it seems that the slow machines currently drop out completely from time to time because they don't hit legit shares fast enough? Let's see how it all works out in a couple of hours or tomorrow.
I am having the same problem
Same here...
Look at the work list the small miners are there but looking at the leaderboard, they are gone...
Also shares is indeed a (lot) lower, but if we hit more blocks it should in the end be the same right?