Pages:
Author

Topic: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this! (Read 14452 times)

full member
Activity: 140
Merit: 100
firstbits: 1kwc1p
I'm not personally a great fan of SMPPS.

PPLNS makes the most sense to me as a simple anti-hopping solution.
sr. member
Activity: 252
Merit: 251
So yes, there is a possible 'doomsday' scenario.  This scenario actually has a similar counterpart in proportional pools.  The average round length at the current difficulty is 1.5 million.  If a pool (especially a smaller one like ArsBitcoin) has a really unlucky round, lets say 20 million shares, the expected earnings per share is VERY small. People would leave in droves, pool-hopping has won.  BTCGuild etc has had rounds almost this long, but because the hash rate is so high, it isn't really noticed.  On a small pool, the pool would just die.

This all makes sense to me, make sense to anyone else?  Grin

Yes, even a sizable pool like Ars could collapse due to extremities in variance. There is a certain threshold of losses that the average miner is willing to absorb in the short term.
A 20+ million share round (-1250% pool luck at 1.6m difficulty) & ongoing would definitely make anyone with significant capacity move to another pool.

Unfortunately, at this difficulty, variance is already making small mining too volatile (20ghash and below) in pools and solo.

Hate to sound like a pessimist, but I don't think small startups like BTCpool24.com are ever going to find their first block despite already having over a million shares. Unless the few people left get phenomenally lucky.
Even if the block is found some day, the earnings per miner will be a minuscule portion of what they would have earned at a low variance pool like slush or deepbit.
donator
Activity: 2058
Merit: 1007
Poor impulse control.
Multipool was a pool hopping pool for a while before it went down. I'll admit it - I used it for a few days, at first because I was curious, and then because there were really interesting patterns in the data, especially for scoring pools.

Efficiency is defined as your coinage/expected coinage from shares, the higher the better. Below are the efficiencies for various pools with a minimum of 2000 shares accepted, and a total for the five of them of 70000 shares:

  • btcguild 1.180
  • btc mine 0.735
  • deepbit 1.013
  • eligius-eu 1.905 (note that this was prior to the new scoring method)
  • MtRed 2.09

Some points of interest:
  • Deepbit actually does ok, near expected but their delaying of stats doesn't make it worse than expected.
  • Even though Eligius-EU had a scoring system, it did very well over 5000 shares.

I'll be setting up an instance of Multipool for local use (the author open sourced it), and I'm keen to see how these stats change. I expect the new Eligius to be a 1.0 over time.






member
Activity: 112
Merit: 10
Ride or Die
The problem with the wtfpps system is it operates under the false assumption of an infinite mining contract.
What if I mine on a wtfpps system for one full block of 30 minutes and receive a fraction of the normal proportional equivalent, then end the mining contract?
Doesn't the pool keep that unpaid difference (proportional expected - wtfpps rewarded)?
Simple example - The entire bitcoin network uses wtfpps for 5minutes, finds a block, then quits to go back to keeping their full earnings each round. Payout is maybe 25btc (or less in faster finds) and unpaid of 25btc. This extra 25 btc will be spent by the pool eventually won't it? Or you keep it in reserve ad infinitum in hopes of the whole bitcoin network giving you more work?
Am I missing something for the single block miner in this case?
2) Miner X mines for exactly one round in a SMPPS pool.  Lets say the pool had an unlucky round, Miner X gets 15 BTC (because he had to mine for longer), while he would have gotten 10 BTC if the pool was set to proportional.  This extra 5 BTC came from the buffer. (If there is a negative buffer, Miner X will get paid when the pool has a short round, even if he stops mining.)
. . . However, in scenario 2 the miner got paid an extra 5 BTC that he wouldn't have in a prop pool. . . .
. . . As has been obviously demonstrated in the OP, the proportional system is not perfect either.  Would you like to have your earnings reduced by 12% because someone else is pool hopping while you are not? . . .
outside of the big 2 ppser's, I have the impression all the smaller wtfpps systems limit individual miner rewards to a MAXIMUM of proportional contributions over the length of the miner career. E.G. if a miner only mines one long round and quits, they got lucky and will get the full proportional amount (20% of shares gets 10BTC). The long term target of the wtfpps system approaches with infinite rounds is the proportional payout. Are there any miners that have received higher BTC credit than their share % contributed? I don't think so, they didn't on eligius at least. Please link their stats if I'm wrong.
Next - proportional being unfair - no, i don't think so. It never gives less than the submitted shares % of the round, never more.
It's just more fair to the miners with more omniscience of where to work at. The more informed miner with ability to locate fresh pools can get better odds per share.
Just like people can choose where to spend their BTC, some places will give better deals than others. It doesn't make it unfair to everyone spending btc at bad rates because the more informed buyer spends their btc strategically.
Also similar, the only way to capitalize it to have huge amounts of btc to spend to exploit your omniscience of market conditions. The same goes for mining, the more GH you have to rotate between pools, the more you can exploit good deals for submitted shares.
As I posted before, the easy fail safe solution is to simply delay stats by the average pool round time divided by 2 to actually punish the hoppers (give them worse deals for submitted shares), while the steady miners continue to enjoy proportional share rewards.
Of course this is a problem for pools starting out, and I can respect that if they want to not allow the poolhoppers to benefit from the pool by refusing (to continue with) proportional rewards for any of the miners.
Admittedly, *theoretically* the miner will get proportionally rewarded from the perfect pps system if they mine infinitely.
But it seems the wtfpps market is already dominated by eligius, shich offers no login, no signup for the wtfpps benefits. Plus some cool pictures, wow.
member
Activity: 98
Merit: 10
This all makes sense to me, make sense to anyone else?  Grin

Yes! Makes sense. Now pray you don't get a few unlucky rounds right before a difficulty increase, as it would make "fetching up" again more unlikely. Wink It seems like this happened to eligius today, I only have ~70% of my expected rewards from recent blocks right now. Luckily the difficulty increase was not that bad.

Probabilities are really fascinating. Wish I'd understand more of it..
full member
Activity: 207
Merit: 100
I think that SMPPS is a nice idea.

I also think that Meni Rosenfeld is pretty good at maths, so let me quote ( http://forum.bitcoin.org/index.php?topic=8660.msg331197#msg331197 ):

Quote
It [SMPPS] looks very difficult to analyze, which is why every time I try to think about it I come up with different conclusions. However, according to my current understanding it is doomed to failure. What will happen is this:
The pool balance (total earned - total owed) follows Brownian Motion.
Which means that it will reach any given level with probability 1.
So at some point the balance will be deeply negative.
So any newly submitted share will receive only a fraction of the expected payout.
Seeing this, miners will leave to greener pastures.
This will slow down the recovery, until everyone is fed up with it and the pool collapses.
Everyone who still has a pending reward will never receive it.

Not sure what to say about this, as I don't know what the Brownian Motion is. The pool balance reaching any given level with probability 1 sounds possible though. And that indeed is problematic..

I saw this post.  I am not a math expert, but here is my interpretation.

1) Over an extremely long time period, there is constant probability that the buffer will reach any given balance.  This includes -1,000,000 or 1,000,000, or 0.
2) This means, over an extremely long time period, at some point the buffer could be deeply negative.
3) Meni argues that if this occurs, miners will decide to leave because their payouts are delayed too much.  This slows down the return to a 0 buffer, because the buffer balance is not moving as fast.  This starts a chain reaction and everyone leaves, which means the pool is dead.

So, sure, this is a possibility.  However, the pool buffer starts at 0.  It is just as likely to get to 1000, as -1000.  However, because 0 is the starting point, the buffer is much MORE likely to hover around 0, than it is to hover around -1000.  Given average luck, the pool buffer would be 0.

So yes, there is a possible 'doomsday' scenario.  This scenario actually has a similar counterpart in proportional pools.  The average round length at the current difficulty is 1.5 million.  If a pool (especially a smaller one like ArsBitcoin) has a really unlucky round, lets say 20 million shares, the expected earnings per share is VERY small. People would leave in droves, pool-hopping has won.  BTCGuild etc has had rounds almost this long, but because the hash rate is so high, it isn't really noticed.  On a small pool, the pool would just die.

This all makes sense to me, make sense to anyone else?  Grin
member
Activity: 98
Merit: 10
I think that SMPPS is a nice idea.

I also think that Meni Rosenfeld is pretty good at maths, so let me quote ( http://forum.bitcoin.org/index.php?topic=8660.msg331197#msg331197 ):

Quote
It [SMPPS] looks very difficult to analyze, which is why every time I try to think about it I come up with different conclusions. However, according to my current understanding it is doomed to failure. What will happen is this:
The pool balance (total earned - total owed) follows Brownian Motion.
Which means that it will reach any given level with probability 1.
So at some point the balance will be deeply negative.
So any newly submitted share will receive only a fraction of the expected payout.
Seeing this, miners will leave to greener pastures.
This will slow down the recovery, until everyone is fed up with it and the pool collapses.
Everyone who still has a pending reward will never receive it.

Not sure what to say about this, as I don't know what the Brownian Motion is. The pool balance reaching any given level with probability 1 sounds possible though. And that indeed is problematic..
full member
Activity: 207
Merit: 100
The problem with the wtfpps system is it operates under the false assumption of an infinite mining contract.
What if I mine on a wtfpps system for one full block of 30 minutes and receive a fraction of the normal proportional equivalent, then end the mining contract?
Doesn't the pool keep that unpaid difference (proportional expected - wtfpps rewarded)?

Simple example - The entire bitcoin network uses wtfpps for 5minutes, finds a block, then quits to go back to keeping their full earnings each round. Payout is maybe 25btc (or less in faster finds) and unpaid of 25btc. This extra 25 btc will be spent by the pool eventually won't it? Or you keep it in reserve ad infinitum in hopes of the whole bitcoin network giving you more work?

Am I missing something for the single block miner in this case?

Sure, you're missing something because you are only looking at the downside.

1) Miner X mines for exactly one round in a SMPPS pool.  Lets say the pool has a lucky round, Miner X gets 5 BTC (his actual expected earnings on average), while he would have gotten 10 BTC if the pool was set to proportional.  The extra 5 BTC goes to the buffer.

2) Miner X mines for exactly one round in a SMPPS pool.  Lets say the pool had an unlucky round, Miner X gets 15 BTC (because he had to mine for longer), while he would have gotten 10 BTC if the pool was set to proportional.  This extra 5 BTC came from the buffer. (If there is a negative buffer, Miner X will get paid when the pool has a short round, even if he stops mining.)

So, you are talking about scenario 1.  Sure, if the miner never comes back, he won't see any of that extra 5 BTC.  However, he still got paid his expected earnings per share.  He didn't lose any expected value by mining in the pool.  However, in scenario 2 the miner got paid an extra 5 BTC that he wouldn't have in a prop pool.  He got paid his expected value though, just like scenario 1.  

Therefore, the goal of the system is achieved.  Everyone is working together to reduce variation in payouts (which is the goal of any mining pool.)  

It is not a perfect system.  Luck can still play a role in whether or not the buffer is positive or negative.  Over time, it should average out to 0.  The actual "perfect" system would be if you could mine and get your expected BTC per share instantaneously, but sadly this is not possible, we do the best we can.

As has been obviously demonstrated in the OP, the proportional system is not perfect either.  Would you like to have your earnings reduced by 12% because someone else is pool hopping while you are not?  I don't think so.  Yes, there are other methods to combat pool hopping, SMPPS is just one option.  Pool-hoppers were very obvious on ArsBitcoin, and I did not like the idea that the normal miners were losing out.  Therefore I implemented what I think is a fair system as fast as I could.

So, yes, SMPPS has pros and cons, Proportional has pros and cons.  However, SMPPS is not some 'wtfpps scam' which seems to be what you like to claim.



member
Activity: 112
Merit: 10
Ride or Die
Sorry GimEEE, that was just a temporary fix.  Pool hoppers could still get around my tricks to try and show them a short round length.
The alternative, delaying stats by average block solve time, is impossible for a small pool that can only expect to solve one block a day.
Thus, I think the best system IS SMPPS.  We have just switched to it.  It is true that *Any pps will *NEVER* pay higher than proportional equivalent*.  It is also true that we will never pay LOWER than a proportional pool.  The total BTC payout is exactly the same, because the pool pays out all BTC that it earns.  However, the difference is that with SMPPS, the payouts will be more fairly and more evenly distributed to miners, and the loyal miners will not be losing BTC to pool hoppers.
The problem with the wtfpps system is it operates under the false assumption of an infinite mining contract.
What if I mine on a wtfpps system for one full block of 30 minutes and receive a fraction of the normal proportional equivalent, then end the mining contract?
Doesn't the pool keep that unpaid difference (proportional expected - wtfpps rewarded)?

Simple example - The entire bitcoin network uses wtfpps for 5minutes, finds a block, then quits to go back to keeping their full earnings each round. Payout is maybe 25btc (or less in faster finds) and unpaid of 25btc. This extra 25 btc will be spent by the pool eventually won't it? Or you keep it in reserve ad infinitum in hopes of the whole bitcoin network giving you more work?

Am I missing something for the single block miner in this case?
full member
Activity: 207
Merit: 100
Sorry GimEEE, that was just a temporary fix.  Pool hoppers could still get around my tricks to try and show them a short round length.

The alternative, delaying stats by average block solve time, is impossible for a small pool that can only expect to solve one block a day.

Thus, I think the best system IS SMPPS.  We have just switched to it.  It is true that *Any pps will *NEVER* pay higher than proportional equivalent*.  It is also true that we will never pay LOWER than a proportional pool.  The total BTC payout is exactly the same, because the pool pays out all BTC that it earns.  However, the difference is that with SMPPS, the payouts will be more fairly and more evenly distributed to miners, and the loyal miners will not be losing BTC to pool hoppers.
member
Activity: 98
Merit: 10
Maybe burst mining could be another way to improve mining income: After receiving a long poll, move all your mining power to this proportional pool.

The problem is, every pool sends out long polls at pretty much the same time (whenever the network finds a block). There is maybe a 20 seconds span from the fastest pool reporting a new block to the slowest pool. So there is probably no reliable way to figure out which pool found the block if stats are delayed. Although the timing could give a hint.

I wouldn't know how to exploit proportional with delayed stats (unless the pools are very small, so it doesn't matter that much if the hopping takes place 1 hour too late, as only 20,000 shares have been found in that time).
member
Activity: 112
Merit: 10
Ride or Die
They're not faked stats, they're clearly stated as "delayed by 1 hour." This fixes the problem without changing the scoring. Similarly, your account balance is only updated once an hour.
You can't do much effective pool-hopping if you can only hop to one large pool. You just hop, and....stay there. Hashing power on BTC Guild is pretty stable when all the servers are stable. So this is, at least at the moment, a non-issue.
Hopping is on the contrary far worse on many small pools where you would need 1 day or so until the critical point is reached. On larger pools you can more easily hop away somewhere else instead.
With faked stats I was relating to http://forum.bitcoin.org/index.php?topic=18567.msg310250#msg310250.
The smaller pools are definitely more exploitable, so it's funny to see a smaller pool take advantage of the hopper imho.
Obviously there's no perfect pool - Deepbit is known for reliability, but costs 3%. BTCguild is known for it's 0% fees, with possibly a 3% loss in server issues. Bitcoinpool charges 50% if a *miner* leaves early or enters late *to each round*, but is otherwise free.
*Any pps will *NEVER* pay higher than proportional equivalent*
Really a personal choice on which you want to try.


*Edits
legendary
Activity: 2618
Merit: 1007
They're not faked stats, they're clearly stated as "delayed by 1 hour." This fixes the problem without changing the scoring. Similarly, your account balance is only updated once an hour.

You can't do much effective pool-hopping if you can only hop to one large pool. You just hop, and....stay there. Hashing power on BTC Guild is pretty stable when all the servers are stable. So this is, at least at the moment, a non-issue.

Hopping is on the contrary far worse on many small pools where you would need 1 day or so until the critical point is reached. On larger pools you can more easily hop away somewhere else instead.

With faked stats I was relating to http://forum.bitcoin.org/index.php?topic=18567.msg310250#msg310250.
hero member
Activity: 868
Merit: 1002
They're not faked stats, they're clearly stated as "delayed by 1 hour." This fixes the problem without changing the scoring. Similarly, your account balance is only updated once an hour.

You can't do much effective pool-hopping if you can only hop to one large pool. You just hop, and....stay there. Hashing power on BTC Guild is pretty stable when all the servers are stable. So this is, at least at the moment, a non-issue.



legendary
Activity: 2618
Merit: 1007
So you're fine with complete intransparency of your pool operator/having invalid/faked stats? (remember that pool hoppers also have the same accounts as you, so everyone gets faked stats!)
I wonder why they should be displayed in the first place even, if they are plain wrong.

Also I personally wouldn't trust a pool operator that rather displays wrong information to everyone instead of simply fixing the exploitable algorithm.


Maybe burst mining could be another way to improve mining income: After receiving a long poll, move all your mining power to this proportional pool. As first shares are the most precious ones, you have better chances of getting these. Some pools are a bit slower than others on long polling/announcing new blocks, so you could quickly switch between pools every new block and gain these precious shares.

If you are mining steadily, PPS from Eligius or Scored would anyways be on par with proportional! The only advantage of prop mining is on-off mining if you are lucky and catch short rounds...


Edit:
Also, since payouts are PRPPORTIONAL by definition, you can easily estimate/average the pool hashrate from solved blocks. As long as payouts are not aggregated per day or longer and it's not even possible to see which blocks were mined by the pool (by laundering mined coins with other fresh coins from other pools before paying them out) all which pool hoppers have to know/guess is when a new round starts in a proportional pool.

Anti-hopping measures are probably more invasive (as you require more and more trust from your miners with nothing in return by each step further down the road on battling hoppers) and more difficult to implement than just switching to a proper payout algorithm.
member
Activity: 112
Merit: 10
Ride or Die
Deepbit delays all their block stats for an hour. Probably to mitigate this situation. So with only one large proportional pool, you can't do much hopping.
Exactly, all the proportional pool needs to do is delay reporting by average block time divided by 2 and the problem is solved.
This pool operator already implemented a hopper stealing technique to actually benefit from the pool hoppers:
http://forum.bitcoin.org/index.php?topic=18567.msg310250#msg310250

problem solved, without killing the even proportional payout system for steady miners!
legendary
Activity: 2618
Merit: 1007
Btcguild is also proportional the last time I checked... as are many many many of the smaller pools.

Delay of stats is not that much of an issue actually.
hero member
Activity: 868
Merit: 1002
Deepbit delays all their block stats for an hour. Probably to mitigate this situation. So with only one large proportional pool, you can't do much hopping.
newbie
Activity: 28
Merit: 0
When does eligius pay out, though? After every Block?

And @hopping:
I think it won't be worth the effort for me, since I'm just running my single 6870 anyways.

Might look into that when I have more time to read myself into Python (never used, except for oblivion mods), but until then, mining won't be profitable any more I guess  Cheesy
full member
Activity: 140
Merit: 100
firstbits: 1kwc1p
Hopping yourself is an option if you're willing to write a script, otherwise I can suggest joining a PPS/Score pool.

Slush & Eligius are good examples of non-proportional pools.
Pages:
Jump to: