Post
Topic
Board Pools (Altcoins)
Re: [ANN][POOL] Profit switching pool - wafflepool.com
by
poolwaffle
on 18/03/2014, 11:44:35 UTC
Alrighty guys.

I spent all of yesterday frantically hacking out a new stratum server.  It looks to be stable, looks to be a TON faster than our existing one, and should allow us to increase profitability overall.

That last part needs some explaining.  And I want to make sure everyone reads this closely and fully understands the reasons behind what is going to change before spewing out the comments that I know will follow.

Our previous (currently running) stratum server had a bit of forgiveness built into the share rejecting algorithm.  This came to be as a way to handle shares that were submitted on the boundary of switching coins.  So when we switched coins, if you submitted a share immediately following a chain switch, we would still accept the share and check against that chain.  This had the unfortunate (but seemingly minimal) effect of allowing shares in split second after seeing a new block on the same coin chain as well.  Didn't seem like a major thing, so it was left (and everyone was happy with the lower reject rates).

While testing the new stratum server, it has become apparent that this may have had a decent bit of effect on our profitability (especially in regards to being able to mine smaller coins).  What this bit of leeway did, was make it so that miners could crank up their intensity on their miners to a point where the miner would be so busy looking for new shares, that it would delay the submitting of found shares by a slight margin ("slight" being undefined here).  However, when a coin switch happened, or when a new block was found, and we sent new work to the miner, the miner would be forced to do a pipeline flush (read "stop working" for a very short bit).  During that time, these jacked up miners would submit the shares they hadn't submitted yet.  We would accept them because they were coming in just after a switch, and we were being forgiving.  However, in most cases (block changes are far more often than coin switches), these shares had a 0% profitability (they were stale).

This became extremely apparent when watching share timings with the new stratum endpoint.  Assuming normal mining, shares should be submitted at a very even rate over time, with slight drops in valid shares immediately following a work restart (new block, coin switch), and a bump in stales during that time.  With the new server (which rejects these stale shares by default), we see a reasonably even amount of shares, and a huge bump (30-40%) of shares submitted immediately following a block change.  On faster coins, these block changes are every few seconds, and that delay makes a huge difference in profitability.

So, while everyone had lower reject rates due to this, miners taking advantage of it were getting more than their fair share of shares, and were dropping our profitability of the whole pool by not submitting shares as soon as they were found, as well as making mining small coins exponentially less profitable.

What does that mean for you?
When the new stratum servers go into production, you will see a bump in rejected shares, however this bump in rejected shares will be across the entire pool.  And in a PPLNS environment, all that matters is your rejected rate compared to everyone else's.  The second part of this is that miners that are currently taking advantage of the pool will either have insane reject rates, or need to configure their miner to actually submit shares on time, causing our overall profitability to go up.

I'm going to bet a lot of the miners doing this don't actually know they're doing it (and neither did I until recently obviously), they've most likely kept pushing their device further and further, and since they never got higher reject rates, everything seemed fine.  If you're one of these miners, when the new servers go live, you'll likely see a decent bump in reject rate (more in line with other pools).  You'll need to re-tune your miner to aim for more accepted shares (rather than just raw number of shares).

This new stratum server is in testing, and will likely be released later today/tomorrow assuming everything goes fine.

Let the hate spewing begin.