Thanks for your well-written input Bitlane. We have to admit that since introducing timerolling at ABCPool, invalid rates have gone up. While initial results looked promising they has not kept up, as you have witnessed. We are working on getting this ironed out by applying extra instrumentation in our backend so we can pinpoint where things go awry.
I hate to say it, but your Pool is anything BUT predictable....yet extremely predictable all at the same time.
To be clear: The predictability claim is about the reward scheme. Whereas somewhere else you don't know what a share will earn you, at ABCPool you know in advance (barring invalid shares).
My .. setup is .. able to maintain .. 99.50% .. VALID shares on all of the current 'TOP POOLS', yet on ABC .. could barely maintain a 96%+ VALID Share percentage yesterday.
For pools with PPLNS, Prop, or other non-*PPS reward schemes it is easy to report inflated counts of valid shares. For example, by allowing late submissions to count as valid for a couple of seconds. This does not improve earnings in any way
, but will look better to the untrained eye. I remember reading one pool even admitting as much, using it as an advertising gimmick. This is of course only a cosmetic advantage: the same block reward simply has to be distributed among more shares, and everyone will still earn roughly the same. Bottomline: valid/stale rates for non-*PPS pools can never be fully trusted.
Conversely, *PPS pools cannot inflate valid share counts without taking a huge hit on their buffer, because there is no amortization going on: Every share is payed equally. Inflating valid count would mean increasing payouts without increasing income from solved blocks.
So what metric should a pool miner use then? Earnings! The earnings in the long run tell you what the best pool is. Sadly, the 'long' in long run really means long: a couple of days of data is surely not enough, due to wildly varying pool luck.
shares ... being ABC-classified as UNPAID INVALIDS - most of which appeared following a long-polling notification.
What you saw is normal behavior. It has to do with how we distinguish between stales and invalids. Let me explain, It's quite simple, and fair (we think). When a new block comes in, we need to tell our miners as soon as possible so they won't waste any cycles on solving the old block. Our stance is that our miners should not be penalized for doing useless work, but only as long as we've not yet notified them of the new block
. That's what Long Polling is for, so of course we'll trigger all LP waiters as soon as a new block comes in. That usually takes some time, and all shares that come in during that time are registered as 'stale'. Once all LP's are triggered however, it now becomes the responsibility of your mining software to act on it as soon as possible. Any old solutions that come in after we've notified *everyone* are classified as invalid. In addition there are some other types of submissions that are treated as invalid: shares for work older than 120 seconds, duplicates, and those with invalid timestamps are among those.
Factors contributing to high invalid rates are network latency and aggressively re-submitting miners such as cgminer, which will cause spurious duplicates. Therefore you shouldn't put too much emphasis on the invalid rate, and more on your valid+stale rate, reflected in your hashrate. You can have a 300MH/s rig and 50% invalids, but as long as the 50% valid+stale shares count up to a hashrate of 300MH/s, the invalid rate does not matter.
We actually had a bug way back in august that caused such a scenario, without impacting earning; for details: https://bitcointalk.org/index.php?topic=33586.msg457441#msg457441
The Pool's stats are however quite impressive to say the least (298++ GH/s) and are left to speak for themselves.....
It was another type of learning experience on the Bitcoin Road for me. The introduction to the "The ABC Invalid"
Sorry your experience with ABCPool was not all it could be; I honestly think more pools should be distinguishing between stale and invalid work, as it can model the division responsibility between miner and pool more accurately.
That being said, we think that there's some issues on our side that may sometimes negatively affect the invalid rate. Although it can never reach zero, we think it can be below 0.5% again. Please bear with us!