First off, thanks for providing this. I am not trying any of my major rigs with this free cloud based proxy as i am running MinePeon at home on a RasPi that supports stratum. However, i decided to test this with a couple of mobile devices. Yes, i know its not ideal, just wanted to play around with it. DroidMiner is a mobile android cpu miner and it works in the khash range but it does not support stratum, so i decided to give your cloud based proxy a shot. For the most part this seems to work, however when i do get a few hashes they never show up on btcguild. i have racked up at least 20 from my N7 but btcguild had showed nothing. Nothing accepted or rejected. Not sure what the deal is. My mobile devices work if i am at my home network running the proxy on one of my machines though.
My guess: The miner you're trying to use on the proxy only supports diff=1, but the stratum connection to BTC Guild is actually running at a higher difficulty. When that happens, the Stratum proxy will send the "accepted" to your miner and not bother sending it to the pool unless it actually is enough to match the difficulty of the stratum connection.
Right. This took me quite a while to figure out by myself
. Baffled me there for a while.
Anyway, since I already typed this whole thing out while you posted - might as well also post...
What happens is that when you connect with a slow machine to one of these faster proxies, it will ignore all share submissions you have that's lower than the current setting on the proxy.
So e.g. in the example below, if the endpoint difficulty (VARDIFF set by the pool) is currently 16, only the 4th submission is accepted (even though BFGMINER think they're all 'Accepted').
Accepted 85a38f7f ICA 0 Diff 1/1
Accepted 6ec85868 ICA 0 Diff 2/1
Accepted c180534c ICA 0 Diff 1/1
Accepted 0f8bc425 ICA 0 Diff 16/1
Accepted c6854677 ICA 0 Diff 1/1
"Foul", you cry!
Well, not quite. What happens is that when your pool is running over difficulty 1, the pool will give you credit for x times as many shares as you are submitting over that difficulty (and ignore the rest). Since presumably 1/16th of the number of shares you'll find is at difficulty 16.
So in the case above, even though 4 of the 5 submissions are ignored, you get 16 shares. Note that the flip-side is also true. If the pool difficulty happens to be 1, and you find a 16/1 share, you'll only get 1 credit for it.
On a slow machine, you'll see that you won't get any shares for quite a while, and then it will suddenly jump by 16. This should in theory overall take the same time as finding 16 shares 1 at a time.
So your submissions can either be counted as:
0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0 = 16 shares
-or-
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 = 16 shares
And it averages out to be the same.
On blades this kind of averaging out happens in seconds, on a smaller device it's very noticeable.