Author

Topic: Mining pool reward math FAQ (Read 5389 times)

donator
Activity: 2058
Merit: 1054
May 28, 2011, 02:56:01 PM
#14
Luke-Jr, you need to remind yourself what mining is about. Mining is trying to find blocks, which secures the network. If you find a block, you receive a reward for your help. More generally, you can perform actions that have a chance of producing blocks and being rewarded for it. Your expected payout for your actions should be equal to your expected contribution (up to fees for any services you are using).

In the more parochial view of a specific mining pool, each share you submit has a chance of being a valid block which will boost the pool's total earnings. Once again, your expected payout must equal your expected contribution.

Compare these scenarios:
BFI_INT : Increases your chance to find a block for the pool, increases your reward from the pool = Good.
Pool-hopping : Does not increase your chance to find a block, increases your reward from the pool = Bad.
[Insert any improvement like better hardware, software, connectivity, LP that increase block-finding rate] : Increases your chance to find a block for the pool, increases your reward from the pool = Good.

Now I'll address your comments from the wiki.

Quote
the geometric method does seem to prevent pool hopping to an extent
This method prevents pool-hopping completely. I have now also posted a proof outline of this.
By pool-hopping I mean: "Using information like a pool's round age or current hashrate, to participate in it only when your expected payout exceeds your expected contribution".

Quote
but also makes the pool operator vulnerable to a similar attack as the PPS model
Depending on the parameters, this method needn't be more vulnerable to this attack than any other.
Incidentally, I had also suggested a protocol change that would make this attack impossible.

Quote
While it is possible that an intermittent miner might even out on a score-based system, he is still penalized when he would join during the early stages of a block. If he know he'll only be able to mine for an hour, why would he join a pool knowing that he's unlikely to be rewarded for it?
Because he knows that if he'll be lucky and a block will be found shortly, his reward will be high. The expectation is the same, but the variance is greater. I have already said that score-based has higher variance. Variance is usually less important than expectation. Variance is not a black box, the significance and exact value of variance can be calculated (for proportional and geometric, anyway. slush's method is a bit amorphous) and generally the variance introduced by score-based is not really worrisome.

Quote
That is, IMO, ridiculous without a clearly well-defined rule by the pool on when it is acceptable to hop/leave.
You are correct, everyone should be free to come and go as they please. Which is why I have never said people shouldn't pool-hop. I said people shouldn't join a proportional pool (because they will earn less than they should if hoppers exist) or operate a proportional pool (because it's promoting a bad option to miners who may not know better).
If people decide that pool-hopping is "not nice" and should be disallowed despite technical feasibility, a good working definition for it is what I gave above.

Quote
With solo mining comes a greater risk than in a pool, so hopping to solo-mining is a fair risk/gain tradeoff.
It's greater risk that doesn't create additional value to anyone, so there's no reason to be rewarded for it.

Quote
Your second point more or less admits that score-based pools in fact "attacking" share-based pools in practice.
As above, I'm not very keen on emotional terms like "cheating" or "attacking", and prefer to focus on actual consequences. Score-based pools allow people to easily use their mining capacity to create blocks for the Bitcoin network, and receive a payout in proportion to their contribution.

Quote
BFI_INT adoption is not needed any more or less than pool hopping on share-based pools.
Nothing is "needed". But adopting BFI_INT adds security to the Bitcoin network (compared to a situation where it exists but ignored by the honest network). Adopting pool-hopping does not add security to the network.

Quote
I agree that it isn't sustainable in the long-run, but it is a legitimate strategy, and within the rights of miners to practice. If pools don't like it (as they shouldn't), it is also reasonable for them to make a rule restricting hopping and/or switch to another scoring method. Complaining about "cheating" when there is no rule won't get anywhere.
See above. I don't oppose hopping, I oppose enabling hopping.
newbie
Activity: 11
Merit: 0
May 27, 2011, 11:33:00 AM
#13
Quick question on mining rewards:  I have my reward threshold set at 1 BTC, and I'm currently at .3 BTC.  Do I need the wallet program open on my computer to receive the reward once I hit 1 BTC, or will the transaction be there the next time I log into the wallet?

Your transaction will be there the next time you log into the wallet... it may take a few minutes to show up as the Bitcoin program connects to the network and retrieves blocks until it gets to the one containing your transaction.
legendary
Activity: 2576
Merit: 1186
May 27, 2011, 11:20:08 AM
#12
I don't know if it would be better to discuss this here or on the wiki. I'll discuss it mostly here for more visibility.
You need to think it through more.
donator
Activity: 2058
Merit: 1054
May 26, 2011, 10:58:50 PM
#11
I don't know if it would be better to discuss this here or on the wiki. I'll discuss it mostly here for more visibility.

There is no evidence that "pool-hopping" is a problem or cheating;
1. If most people mine normally and some do pool-hopping according to Raulo's suggested strategy, those that hop will earn more in proportion to their hashrate, and those that don't will earn less. It's just basic sense and I can go over the math if you'd like.
2. If everyone pool-hops, any proportional pool that is in a round that reached 43.5% difficulty shares will freeze, because everyone will hop away from it and no new shares will be submitted. Rounds of greater length are typical, so this will happen very quickly.

We can, if you'd like, discuss the practicalities of pool-hopping without being detected and countermeasures against it.

in fact, the score method actually creates a pool-hopping issue because it rewards later-comers unfairly at the expense of earlier miners.
That's false. Your expected the payout per share is exactly the same no matter when you submitted it (this is true for my method, for slush's early-comers still do have a slight advantage).
Round length follows an exponential distribution, which is memoryless. If the round is young, you're just as likely to be the lucky one who submitted a share close to the end of the round, as when the round is old.

Finally, the score method really is disadvantageous to intermittent miners.
No, it's not. Shares already submitted will depreciate the same way whether you stay or disconnect. And future shares will have the same expected payout whatever the scoring method.
For full disclosure, I should point out that with slush's method (which depreciates based on time), if you are a large miner, you can gain a tiny insignificant advantage if you do stick with slush's pool. This is a quirk of slush's imperfect implementation (much like it is still subject to some hopping), it's not a feature of score-based and it doesn't happen with my method.

This is basically wrong. There is no evidence that "pool-hopping" is a problem or cheating
here's your evidence. https://forum.bitcoin.org/index.php?topic=3165.0
That's not evidence it's a problem or cheating. It's evidence that it's more efficient. Using BFI_INT is more efficient too.
That could have made some sense if it was possible for everyone to do it and it would even out. But as I said, that's impossible - if everybody did it, proportional pools would just freeze.
legendary
Activity: 2576
Merit: 1186
May 26, 2011, 05:50:49 PM
#10
And where do you pull your extra income from? Income that averages above the maximum theoretical average income! You are stealing it from the other miners that are not cheating. You are reducing their average income.
Where do you think the extra income from BFI_INT comes from? Other miners, too! And just like with BFI_INT, once everyone does it, it evens out again. It's not stealing to work more efficiently. Nobody is guaranteed any earnings at all.

No, it is like a pyramid scheme.It works for the top levels until you get to the point that nobody else can sustain it, then the whole thing crashes down. Unlike BFI_INT or when GPU Mining was new.

Edit: Pool Hopping does not increase your payout by increasing the number of blocks you find over time (at the current difficulty). BFI_INT and GPU Mining do.
Nothing comes "crashing down", it just evens out like with other efficiency improvements.

BFI_INT helps the network in addition to improving efficiency, but that is unrelated.
sr. member
Activity: 406
Merit: 250
May 26, 2011, 05:36:45 PM
#9
And where do you pull your extra income from? Income that averages above the maximum theoretical average income! You are stealing it from the other miners that are not cheating. You are reducing their average income.
Where do you think the extra income from BFI_INT comes from? Other miners, too! And just like with BFI_INT, once everyone does it, it evens out again. It's not stealing to work more efficiently. Nobody is guaranteed any earnings at all.

No, it is like a pyramid scheme.It works for the top levels until you get to the point that nobody else can sustain it, then the whole thing crashes down. Unlike BFI_INT or when GPU Mining was new.

Edit: Pool Hopping does not increase your payout by increasing the number of blocks you find over time (at the current difficulty). BFI_INT and GPU Mining do.
legendary
Activity: 2576
Merit: 1186
May 26, 2011, 05:22:35 PM
#8
And where do you pull your extra income from? Income that averages above the maximum theoretical average income! You are stealing it from the other miners that are not cheating. You are reducing their average income.
Where do you think the extra income from BFI_INT comes from? Other miners, too! And just like with BFI_INT, once everyone does it, it evens out again. It's not stealing to work more efficiently. Nobody is guaranteed any earnings at all.
sr. member
Activity: 406
Merit: 250
May 26, 2011, 05:03:28 PM
#7
This is basically wrong. There is no evidence that "pool-hopping" is a problem or cheating
here's your evidence. https://forum.bitcoin.org/index.php?topic=3165.0
That's not evidence it's a problem or cheating. It's evidence that it's more efficient. Using BFI_INT is more efficient too.

And where do you pull your extra income from? Income that averages above the maximum theoretical average income! You are stealing it from the other miners that are not cheating. You are reducing their average income.
sr. member
Activity: 406
Merit: 250
May 26, 2011, 05:01:14 PM
#6
[...] in fact, the score method actually creates a pool-hopping issue because it rewards later-comers unfairly [...]

This is not true. It is not advantageous to try to be a "Late-Comer" because the end of the round is non-deterministic. You cannot guess when a round will end.
legendary
Activity: 2576
Merit: 1186
May 26, 2011, 05:00:40 PM
#5
This is basically wrong. There is no evidence that "pool-hopping" is a problem or cheating
here's your evidence. https://forum.bitcoin.org/index.php?topic=3165.0
That's not evidence it's a problem or cheating. It's evidence that it's more efficient. Using BFI_INT is more efficient too.
newbie
Activity: 29
Merit: 0
May 26, 2011, 04:58:36 PM
#4
Quick question on mining rewards:  I have my reward threshold set at 1 BTC, and I'm currently at .3 BTC.  Do I need the wallet program open on my computer to receive the reward once I hit 1 BTC, or will the transaction be there the next time I log into the wallet?
legendary
Activity: 2058
Merit: 1452
May 26, 2011, 04:29:38 PM
#3
This is basically wrong. There is no evidence that "pool-hopping" is a problem or cheating
here's your evidence. https://forum.bitcoin.org/index.php?topic=3165.0
legendary
Activity: 2576
Merit: 1186
May 26, 2011, 03:29:12 PM
#2
This is basically wrong. There is no evidence that "pool-hopping" is a problem or cheating; in fact, the score method actually creates a pool-hopping issue because it rewards later-comers unfairly at the expense of earlier miners. Finally, the score method really is disadvantageous to intermittent miners.
donator
Activity: 2058
Merit: 1054
May 26, 2011, 01:48:44 PM
#1
How does mining in a pool improve my payouts?
Pooled mining will not have a significant effect on the expectation of your payouts (it can decrease a bit due to fees), but it can dramatically decrease their variance.

What reward systems are there?
All reward systems use the concept of "share", a hash which is easier than the real difficulty and proves you have worked on finding a valid block. Your reward when the pool finds a valid block depends on the shares you submitted.

The main reward systems used are:
  • Pay per share: Every share submitted receives a fixed BTC reward known in advance. This has virtually 0 variance and is thus good for beginners. However, the operator is subject to enormous variance, and will thus take a large fee to cover his risk. This means the expectation for participants is low, so it's not an attractive long-term solution.
    It is also vulnerable to sabotage where the miner simply withholds all block-finding shares, causing a loss to the pool operator.
  • Proportional ("Share-based"): Every time a block is found, its reward is split between participants according to the number of shares they submitted. This method is vulnerable to a form of cheating known as "pool-hopping". In the theoretical limit, this can reduce the payout for honest participants by up to 30% (in practice the decrease would be much less, but can still be significant).
  • Score-based: Each share submitted receives a score based on its age, and the block reward is split between participants according to their score. The method used by slush's pool and BTCmine are resistant to pool-hopping, while the one used by Continuum pool ("geometric method") is completely immune.
    The variance of this method is slightly higher than proportional.
    There is a myth that score-based is disadvantageous if you only mine several hours a day or disconnect in the middle of the round. In fact the expectation (which is the more important part) is exactly the same, and only the variance can slightly increase. The shares already submitted will depreciate the same way whether you disconnect or not, and the newer shares will have the same expectation for any reward method.

What will be my expected payout per share?
Every share will give you, on average, the block reward (minus any pool fees) divided by the difficulty. For example, with a block reward of 50 BTC, 2% fee and difficulty of 240000, each share submitted will give on average 0.000204 BTC (204 μBTC).

How many hashes does it take to find a share?
On average, one share will be found for every 2^32, or 4.295 billion, hashes calculated. So at 1 MHash/s, you will find a share on average every 72 minutes.

How much will the pool decrease my variance?
If you constitute a significant part of the pool (say, above 1%), your variance will be roughly proportional to your portion of the pool. If, for example, you are 20% of the pool, your variance will be 20% of solo mining variance (a decrease factor of 5 times).

If not, your variance will not depend on the size of yourself or the pool, but rather on the scoring method used. For proportional, the decrease factor is roughly difficulty/ln(difficulty). For the geometric method the decrease factor is roughly (1 + 2*difficulty*c), where c is the score fee parameter used.

Increasing the size of the pool will always decrease the variance, but at some point you will have diminishing marginal utility.
Jump to: