Bitcoin Forum

Bitcoin => Pools => Topic started by: Reikoku on July 01, 2011, 05:20:32 AM



Title: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Reikoku on July 01, 2011, 05:20:32 AM
This is a question I get asked relatively often, so I'm going to explain it here and hopefully this can be a useful reference to help people understand two things:

1. Why other people pool hopping is a problem for you (a 24/7 single pool miner).
2. Why proportional pools, not pool hoppers, are the fundamental issue.

First of all, we're going to assume that there is a proportional pool called Pool A, which mines at 90GH/sec without our miner.

Now, we have a miner, let's call him Bob, he runs a 10GH mining operation and he's trying to work out why hopping is an issue. To do this, we're going to make the numbers easy to work with. One block's regular length will be defined as 10 difficulty, which under normal circumstances (zero hopping) will equate to 10 units of time.

So, if Bob statically mines on Pool A, and nobody else is hopping, he should make approximately 5BTC (10% of 50BTC, as he's 10% of the hash rate) every 10 units of time.

0.5 BTC per time unit is Bob's expected yield.

Now let's see what happens to Bob if 50% of the pool hops after 5 time units (this is circa optimal). This means the pool will do the first half of the block at 100GH/sec, and the second half at 50GH/sec. In this scenario, Bob will be 10% of the pool for half of an average block, and 20% of it for the other half.

This means that in the first half he will earn 2.5 BTC, and in the second half, he will earn 5 BTC (20% of 25 BTC). On an average-length block, we can see that Bob is not negatively affected by hopping as the block will take 15 units of time, but he will get 7.5 BTC, still 5 BTC every 10 units.

From here, it's hard to see where the issue with hopping is, but we have to explore different length blocks to better understand the issue. Let's say, as happens in real mining, that instead of all 10 difficulty-unit blocks, we have a 5 unit block, and then a 15 unit block.

Without hopping, Bob will be 10% of the pool for 20 time units, and will make 10 BTC, or 0.5 BTC per time unit.

With hopping, Bob will earn 5 BTC from the 5 difficulty block, as the hoppers won't hop and he'll keep being 10% of the pool for the whole thing, this will be 1 BTC per time unit.

From the second block, he will earn 1.66 BTC from the first third of the block (1/3 of his 5 BTC for the block), and then 3.33 BTC for each of the second difficulty-thirds of the block. This totals out at 8.33 BTC, but this block will have taken 25 units of time to complete.

In case you didn't follow the maths.

First third - 5 difficulty - 100 GH - 1 diff:1 unit time - 5 units time
Second third (after 5 time units) - 5 difficulty - 50 GH - 1 diff:2 unit time - 10 units time
Third third - 5 difficulty - 50GH - 1 diff:2 unit time - 10 units time

This means that he's made 13.33 BTC in a total of 30 units of time for the short block and the long block, which is significantly lower than his expected BTC/time unit yield.

This return is only 0.44 BTC per time unit. This is 12% lower than he'd normally get!

On a longer block, it's even worse returns than this, and deviates even further from his expected yield, but a shorter block doesn't make up for it as the hoppers won't hop on those. Doing the maths for a 25 difficulty block, a 2 difficulty block and a 3 difficulty block, Bob would make 19 BTC in a staggering 50 units of time, which would be more than 20% below his expected 25 BTC.

If there was no hopping, these 3 blocks would have earned him 15 BTC in 30 units of time.

Obviously this is based on a huge proportion (50% of the MH/sec) jumping, which isn't likely right now, but the number of people using hopping techniques is only going to rise, and any loss due to this should be unacceptable to a miner.

But don't complain at other people for screwing you because they're pool hopping. You facilitate them doing it, it's their right to do it, you're screwing yourself. If you offered someone $10 an hour for a 5 hour shift or $7 an hour for a 10 hour shift, they'd take the 5 hour shift. This is what the hoppers are doing by maximising their own returns.

The answer is better pools, not calling people out for doing something they have a right to do.

tl;dr: By using a proportional pool 24/7, you may as well be paying a significant (up to 12%) fee.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: figvam on July 01, 2011, 08:22:34 AM
Excellent write up, thanks a lot.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: OCedHrt on July 01, 2011, 10:58:19 AM
If there was no hopping, these 3 blocks would have earned him 15 BTC in 30 units of time.

Agree. Excellent writeup. But I think it would be clearer to also have the comparison with the last 2 blocks without pool hopping - 10 BTC in 20 units of time vs 13.33 in 30 units of time. This is where the 1.67 BTC loss comes from.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Zoomer on July 01, 2011, 02:51:42 PM

First of all, we're going to assume that there is a proportional pool called Pool A, which mines at 90MH/sec without our miner.

(Emphasis mine)

Should this be 90GH/sec?


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: OCedHrt on July 01, 2011, 02:54:42 PM

First of all, we're going to assume that there is a proportional pool called Pool A, which mines at 90MH/sec without our miner.

(Emphasis mine)

Should this be 90GH/sec?

It doesn't matter. The numbers were chosen for easy math.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Reikoku on July 01, 2011, 10:28:44 PM

First of all, we're going to assume that there is a proportional pool called Pool A, which mines at 90MH/sec without our miner.

(Emphasis mine)

Should this be 90GH/sec?

Yes, editing, thanks.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: AnnihilaT on July 02, 2011, 11:32:56 AM
+1 good explanation!


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: d.james on July 02, 2011, 05:04:08 PM
It would help if you could list the names of Proportional pools
I'll start:

-Deepbits (proportial payout)
-BTC Guild

That's already like ~60-70% of the total mining power.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: dayfall on July 02, 2011, 08:03:29 PM
BitcoinPool is a good pool for hopping.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: minor_miner on July 02, 2011, 08:41:24 PM
Ok.

I am mining proportional at DeepBit and obvioulsy don't want to get screwed.

What options do I have? Only the "start hopping yourself" one?


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: AnnihilaT on July 02, 2011, 09:02:42 PM
Ok.

I am mining proportional at DeepBit and obvioulsy don't want to get screwed.

What options do I have? Only the "start hopping yourself" one?

Switch pools to one which uses cheat proof scoring and tell your friends to do the same?  You are welcome at Mainframe and 1% k goes back to the community developers and not in my pocket.  Its for a good cause!  :)
</shameless_self_promotion>

On a more serious note... Im guessing that the pay per share option some other pools offer (including deepbit) would probably eliminate any losses due to pool hoppers or at least be one other option for you.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: gentakin on July 02, 2011, 09:06:56 PM
What options do I have? Only the "start hopping yourself" one?

That is one option.
The other, much simpler (yet less profitable) option is to switch to a pool with a fair reward system. Eligius comes to mind, and eligius has very low variance as well (that means: steady income).
Slush and BTC Mine are less vulnerable to pool hopping, but they have a higher variance. (That means luck plays a bigger role for you. If you're unlucky, you might earn less than at deepbit. It should average out over longer time periods.)


PPS at deepbit is a really bad idea. It has about 10% less expected income compared solo mining. You probably earn more at proportional deepbit, even with the pool hoppers. Eligius is similiar to PPS, but without the fees.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: minor_miner on July 03, 2011, 08:39:55 PM
Switch pools to one which uses cheat proof scoring and tell your friends to do the same?  You are welcome at Mainframe and 1% k goes back to the community developers and not in my pocket.  Its for a good cause!  :)
</shameless_self_promotion>

Just registered, but: Pool Hash Rate   0.000 Ghash/s

What's up with that? As it seems, the pool only has 4 members (including me), but no one is mining? heh

Also, where do I see how many fees I've got to pay or if there are fees on payouts?


What options do I have? Only the "start hopping yourself" one?

That is one option.
But this would mean I would have to watch my miners and hop accordingly 24/7?

Or are there some kind of programs for that?

The other, much simpler (yet less profitable) option is to switch to a pool with a fair reward system. Eligius comes to mind, and eligius has very low variance as well (that means: steady income).

I've read that a lot of people are happy with eligius, so I might give that one a try. Thanks for the replies so far :)


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: AnnihilaT on July 03, 2011, 10:41:41 PM
Quote
Just registered, but: Pool Hash Rate   0.000 Ghash/s

What's up with that? As it seems, the pool only has 4 members (including me), but no one is mining? heh

Also, where do I see how many fees I've got to pay or if there are fees on payouts?

Yeah, thats true.  Its a brand new pool and only been up for a couple days.   Im not mining myself right now because im running some tests on my testnet setup to add in some new features. 

There are no tx fees on threshold payments and .0005 on manual payment (for now).   I will probably remove all fees soon and absorb these myself. 

Cheers!


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Luke-Jr on July 03, 2011, 10:47:59 PM
Eligius is PPS-like (SMPPS) with almost no fee (it works out to less than 0.0001%). We've been having some trouble lately, and stats will probably be down for at least another 16 hours, but it's a good choice when it's working. ;)


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: dayfall on July 04, 2011, 12:42:18 AM
But this would mean I would have to watch my miners and hop accordingly 24/7?

Or are there some kind of programs for that?

It is quite trivial to write a python script that watches the web pages for you and then starts and stops your miners.  Deepbit has a 1 hour delay so you would have to get the information elsewhere.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Reikoku on July 04, 2011, 10:49:27 AM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: minor_miner on July 04, 2011, 01:34:08 PM
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  :D


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: jwzguy on July 04, 2011, 02:13:53 PM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Sukrim on July 04, 2011, 02:47:23 PM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: GimEEE on July 04, 2011, 04:24:14 PM
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!


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Sukrim on July 04, 2011, 05:08:46 PM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: jwzguy on July 04, 2011, 05:26:18 PM
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.





Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Sukrim on July 04, 2011, 05:30:16 PM
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.


Title: use PROPORTIONAL
Post by: GimEEE on July 04, 2011, 05:51:12 PM
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


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: gentakin on July 04, 2011, 06:02:16 PM
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).


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: BurningToad on July 06, 2011, 01:31:57 PM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: GimEEE on July 06, 2011, 02:13:16 PM
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?


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: BurningToad on July 06, 2011, 10:05:40 PM
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.





Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: gentakin on July 06, 2011, 10:15:43 PM
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..


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: BurningToad on July 06, 2011, 10:33:57 PM
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?  ;D


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: gentakin on July 06, 2011, 10:39:54 PM
This all makes sense to me, make sense to anyone else?  ;D

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. ;) 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..


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: GimEEE on July 07, 2011, 12:26:18 AM
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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: organofcorti on July 07, 2011, 03:04:09 AM
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.








Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Jack of Diamonds on July 07, 2011, 04:40:05 AM
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?  ;D

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.


Title: Re: "Why is Pool Hopping a Problem?" - If you use a PROPORTIONAL pool, read this!
Post by: Reikoku on July 08, 2011, 04:00:20 PM
I'm not personally a great fan of SMPPS.

PPLNS makes the most sense to me as a simple anti-hopping solution.