What is Mining Pool Luck?
A look at the useful metric displayed by mining pools.
Luck is a common metric for mining pools. I hope to give you a better understanding of what luck is, how we can use it, and some pitfalls of not understanding it.
Flip a coin. You already know the odds of getting heads or tails. It’s a 1 in 2 chance. Mining cryptocurrencies is in many ways like flipping a coin repeatedly. Except this coin has way more than two sides and instead of flipping a coin to see if the chosen side lands face-up, we hash block headers to see if the resulting hash is valid.
We know how many times we can expect heads or tails when we flip a coin. For example, if you flip a coin 100 times, you expect 50 tails. Similarly, we can know how many blocks we can expect when we submit shares to a pool. We call this metric “expected blocks” and will use it later to determine “luck”.
To understand how to get “expected blocks”, let’s take a closer look at the coin example. Suppose that every time the coin lands on tails, we get a block. We know that the probability of getting tails is 1 in 2, so we expect every other flip to reward us with a block.
In a hypothetical pool with the same rules as in our example, we expect 2 shares will yield a single block. If 2 shares are 1 expected block, then a single share is 0.5 expected blocks.
The real formula for determining the “expected blocks” of a single share is simple:
ExpectedBlocks = StratumDifficulty / NetworkDifficulty
Once we have identified the “expected blocks” of a share we can simply aggregate the value as new valid shares are submitted to determine how many blocks are expected.
In the previous scenario, we expect to find a block every time we submit a second share, but there is a problem. Shares, blocks, and the results of coin flips are all random.
Sometimes, we find a block after only one share, and sometimes we have to submit several shares before a block is found.
This random deviation from what we expect is represented by pools as "luck". When calculating the luck of a single block, the formula is simply "expected blocks" displayed as a percent
(expected * 100 = luck).
So let’s say we submit 3 shares to our hypothetical pool and find a single block. Each share expects 0.5 blocks so we expect 1.5 blocks
(0.5 * 3 = 1.5).
We can now convert the expected blocks into luck
(1.5 * 100 = 150%), then we can say that it took 150% of the expected work to find this block, or more simply that the block has 150% luck.
Notice that "bad" luck is greater than 100%. "Good" luck is less than 100%.
Each block will be found after a random number of shares, and so it follows that each block will have a random amount of luck. It seems block luck isn't very useful.
However, we can average the luck of many blocks and get a value of about 100%. The more blocks we average, the more true this becomes.
Since earnings come from found blocks, 100% luck means that earnings are 100% of expected. It also means that earnings always average out to the expected amount if enough blocks are found.
A pool that is very unlucky over a very large number of blocks may have a problem with dropping blocks or many miners who drop blocks.
Conversely, a pool that is overly lucky over many blocks may have a problem with its measurements, or many non-block shares are dropped by the pool or miners.
This is not to say that a pool will not have very good or bad luck when averaging fewer blocks over shorter durations. Small pools will find fewer blocks over the same period than larger ones, so they will have more variance over shorter periods, but still average to 100% luck.
This means that a pool that has been very lucky lately will become unlucky for a while to average out, and one that is very unlucky will become lucky for the same reason. It's just a matter of patience to see it happen.
Since luck is random, and people tend to assign reasons to randomness where there are no reasons, luck can sometimes lead miners to wrong conclusions.
A miner can inadvertently judge a pool based on short-term luck by judging it based on short-term earnings.
A pool with “bad" luck will earn less in the same period than a pool with "good" luck. But luck averages to 100%, which means that the pool with bad luck will have good luck later and the pool with good luck will have bad luck later.
Ultimately, earnings from both pools would be about the same if enough time was given.
Miners may try to determine the expected rewards by extrapolating from the daily earnings of various pools. While this might be effective on a pool that has too much of the network hash rate, it is problematic in smaller pools.
For example, a smaller pool in a time of good luck can yield higher earnings than a larger pool. When the pool inevitably goes through its bad luck, the perceived loss seems greater because the expectation was too high.
Conversely, when a miner extrapolates earnings during a bad luck period, the miner may think that something is wrong with the pool after trying another pool that is currently lucky.
Sometimes miners expect that “good” luck is the norm and that “bad” luck should not happen. It’s common to be unexcited when a pool's luck is particularly good but to complain when it inevitably goes through bad luck.
This misjudgment is understandable since we call it "good" and "bad" luck and often write bad luck in red as if it were a serious problem.
The reality is that both good and bad luck are normal and, with enough time, almost any well-running pool will help you earn what is expected to be earned.
Armed with a little more understanding of mining pool "Luck", you can feel a little better about whatever pool you choose.
If your pool doesn't seem so profitable at the moment, try not to feel bad, it will get better and you will earn what is expected.
If it seems more profitable than expected, try not to feel too excited, it will get worse but you will still earn what is expected.