Mining pool reward FAQ: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Luke-jr (talk | contribs)
m fix links
 
(6 intermediate revisions by 4 users not shown)
Line 6: Line 6:


The main reward systems used are:
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 cheating where the miner simply withholds all block-finding shares, causing a certain loss to the pool operator.
:'''Maximum pay per share''': Every share submitted receives a fixed value known in advance. The value is rewarded to the miner to the extent that the pool has funds to cover it. When it does not, the remaining value is stored as extra credit which the pool may pay in the future when it has sufficient funds. This has virtually 0 variance and is thus good for beginners.


:'''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 can be most effectively mined using a strategy known as "pool-hopping" which can potentially (if executed perfectly) increase the overall earnings per time period for the miner by as much as 30% (when only one miner is hopping) without helping increase the pools' (or Bitcoin network's) overall hashrate. However, if all miners practice "pool-hopping", the pools being "hopped" out of will come to a standstill, and not find blocks at all, leading to the long/short block distinctions being spread more or less equally across all pools. However, this spreading will result in a very uneven load on pools, with all the mining being done on the pool with the lowest shares in it, while the others sit idle. This strategy is considered by some to be cheating, and, whether cheating or not, is potentially liable to result in the miner being blacklisted from pools.
:'''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. The Pool Operator often takes a relatively large fee, due to the fact that they cannot know how much will be paid in total to all the miners.


:'''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 variance of this method is slightly higher than proportional. If you only mine several hours a day or disconnect in the middle of the round, this method is disadvantageous as the shares already submitted will depreciate as newer shares are submitted. The method used by slush's pool and BTCmine claim to be resistant to pool-hopping, while the one used by Continuum pool ("geometric method") claims complete immunity. However, in reality this method might merely invert the algorithm used for pool-hopping.
:'''Proportional''' ("Share-based"): Every time a block is found, its reward is split between participants according to the number of shares they submitted.
 
:'''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 variance of this method is slightly higher than proportional.


== What will be my expected payout per share? ==
== What will be my expected payout per share? ==
Line 24: Line 26:


Increasing the size of the pool will always decrease the variance, but at some point you will have diminishing marginal utility.
Increasing the size of the pool will always decrease the variance, but at some point you will have diminishing marginal utility.
== Show me some examples and assist in clarifying what it all means... ==
===== [http://bitcointalk.org/index.php?topic=6667.msg233175#msg233175 Quote from: SoreGums on 2011/06/18 at 05:09:43 pm] =====
so what am i missing with this:
* miner1 does 9 shares, mining the whole time
* miner2 does 1 share then leaves, spent 3mins doing this at the start of the round
* miner3 does 3 shares, working in the last 5mins of this block
* miner4 does 7 shares, mining the whole time, and finds the block after 30mins
* total shares = 20, each share is worth 50/20=2.5
* miners get [9*2.5, 1*2.5, 3*2.5, 7*2.5] after block has 120 confirmations if it turns out to be invalid then shares go into current block solving round
 
having typed that out, I'm guessing that this is PPS...
how does this promote pool hoping?
if reward is only given after a block is found how is the operator out of pocket?
 
sorry if this has all been covered elsewhere - most everything else I've read regarding payouts is not as simple as what I have put above
===== [http://bitcointalk.org/index.php?topic=6667.msg233652#msg233652 Quote from: ewal on 2011/06/18 at 06:48:11 pm] =====
What you described is a transitional proportional payout scheme.  Your payout is proportional to the amount of work that you did for any given block.
In your example, miner1 got 22.5 BTC (9*2.5).  That is 22.5 BTC for 30 minutes of work = 45BTC per hour.
If you compare to an unlucky block that takes 100 times as long to find:
* miner1 does 900 shares, mining the whole time
* miner2 does 100 share then leaves, spent 300mins doing this at the start of the round
* miner3 does 300 shares, working in the last 500mins of this block
* miner4 does 700 shares, mining the whole time, and finds the block after 3000mins
* total shares = 2000, each share is worth 50/2000=0.025
In this example miner1 still gets 22.5 BTC (900*0.025) except this time it took 100 times longer to get it.  Now it was 22.5 BTC for 3000 minutes of work or 0.45 BTC per hour.  Way less per hour because the block was very unlucky.
Traditional Pay-per-share (PPS) is a different system where you get paid by the number of shares you submit regardless of if a block is found.  The payout per share is determined by taking 50/difficulty.
Say difficulty is 20, so the price per share is 2.5 or 50/20.  In scenario 1, miner1 makes 22.5BTC in 30 minutes (9*2.5) or 45BTC per hour.  In scenario 2, miner1 makes 2,250 BTC in 3000 minutes or the same 45BTC per hour.  
In PPS, your pay per hour is always the same even in the short term, but the drawback is that the pool might go bankrupt if there are too many long blocks.  
In proportional, your pay per hour in any given 24 hours varies based on if blocks are lucky or unlucky and the drawback is that pool hoppers skip town on long blocks.  
In MaxPPS, your pay per hour in any given 24 hours may also vary if the pool is small enough that it isn't reliably finding multiple blocks per day, but the variation will lower than in proportional because the pool has withheld some of the payment you would have received from short blocks so that it can pay you more on long blocks.  The benefits are that the pool can't go bankrupt, and there is no longer any incentive for pool hoppers to switch to another pool on long blocks.

Latest revision as of 01:40, 10 June 2019

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:

Maximum pay per share: Every share submitted receives a fixed value known in advance. The value is rewarded to the miner to the extent that the pool has funds to cover it. When it does not, the remaining value is stored as extra credit which the pool may pay in the future when it has sufficient funds. This has virtually 0 variance and is thus good for beginners.
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. The Pool Operator often takes a relatively large fee, due to the fact that they cannot know how much will be paid in total to all the miners.
Proportional ("Share-based"): Every time a block is found, its reward is split between participants according to the number of shares they submitted.
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 variance of this method is slightly higher than proportional.

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.

Show me some examples and assist in clarifying what it all means...

Quote from: SoreGums on 2011/06/18 at 05:09:43 pm

so what am i missing with this:

  • miner1 does 9 shares, mining the whole time
  • miner2 does 1 share then leaves, spent 3mins doing this at the start of the round
  • miner3 does 3 shares, working in the last 5mins of this block
  • miner4 does 7 shares, mining the whole time, and finds the block after 30mins
  • total shares = 20, each share is worth 50/20=2.5
  • miners get [9*2.5, 1*2.5, 3*2.5, 7*2.5] after block has 120 confirmations if it turns out to be invalid then shares go into current block solving round

having typed that out, I'm guessing that this is PPS... how does this promote pool hoping? if reward is only given after a block is found how is the operator out of pocket?

sorry if this has all been covered elsewhere - most everything else I've read regarding payouts is not as simple as what I have put above

Quote from: ewal on 2011/06/18 at 06:48:11 pm

What you described is a transitional proportional payout scheme.  Your payout is proportional to the amount of work that you did for any given block.

In your example, miner1 got 22.5 BTC (9*2.5).  That is 22.5 BTC for 30 minutes of work = 45BTC per hour.

If you compare to an unlucky block that takes 100 times as long to find:

  • miner1 does 900 shares, mining the whole time
  • miner2 does 100 share then leaves, spent 300mins doing this at the start of the round
  • miner3 does 300 shares, working in the last 500mins of this block
  • miner4 does 700 shares, mining the whole time, and finds the block after 3000mins
  • total shares = 2000, each share is worth 50/2000=0.025

In this example miner1 still gets 22.5 BTC (900*0.025) except this time it took 100 times longer to get it.  Now it was 22.5 BTC for 3000 minutes of work or 0.45 BTC per hour.  Way less per hour because the block was very unlucky.

Traditional Pay-per-share (PPS) is a different system where you get paid by the number of shares you submit regardless of if a block is found.  The payout per share is determined by taking 50/difficulty.

Say difficulty is 20, so the price per share is 2.5 or 50/20.  In scenario 1, miner1 makes 22.5BTC in 30 minutes (9*2.5) or 45BTC per hour.  In scenario 2, miner1 makes 2,250 BTC in 3000 minutes or the same 45BTC per hour.  

In PPS, your pay per hour is always the same even in the short term, but the drawback is that the pool might go bankrupt if there are too many long blocks.   In proportional, your pay per hour in any given 24 hours varies based on if blocks are lucky or unlucky and the drawback is that pool hoppers skip town on long blocks.   In MaxPPS, your pay per hour in any given 24 hours may also vary if the pool is small enough that it isn't reliably finding multiple blocks per day, but the variation will lower than in proportional because the pool has withheld some of the payment you would have received from short blocks so that it can pay you more on long blocks.  The benefits are that the pool can't go bankrupt, and there is no longer any incentive for pool hoppers to switch to another pool on long blocks.