Bitcoin Mining Pools: 101
Mining is one of the most fascinating aspects of the Bitcoin and proof-of-work cryptocurrency world, but also one of the most mysterious. Mining pools play a key role in helping miners from all over the world mine Bitcoin blocks, and with this article, we are going to explore how mining pools work and why they are important.
Before we get into it, let’s go through some of the key mining related terms.
- Hashrate — The computing power of a mining machine.
- Network hashrate — The combined computing power of all of the mining machines on the Bitcoin network.
- Network difficulty — The difficulty to successfully mine a bitcoin block. The network difficulty adjusts every two weeks. As the network hashrate increases, so does the network difficulty.
- ASIC miner — A specialized computer that mines a particular mining algorithm. It’s SHA256 in the case of Bitcoin.
The basics of bitcoin mining
Mining is the backbone of any proof-of-work blockchain and it can be described with three interconnected concepts:
- Transaction records — The verification and addition of transactions to the public blockchain ledger.
- Proof -of-work calculations — The energy-intensive puzzle that each Bitcoin mining machine solves every ten minutes. The miner which completes the puzzle first adds the new block to the blockchain.
- Bitcoin Block Reward — The first miner to solve the puzzle is rewarded with 12.5 bitcoins. This number will reduce to 6.25 bitcoins after the halving in May 2020.
This process repeats approximately every 10 minutes for every mining machine on the network. The difficulty of the puzzle (Network Difficulty) adjusts every 2016 blocks (~14 days) to ensure that on average one machine will solve the puzzle in a 10 minute period.
In other words, the more miners (and hashrate) mining bitcoin and hoping for a reward, the harder it becomes to solve the puzzle. It is a computational arms race, where the individuals or organizations with the most computing power (hashrate) will be able to mine the most bitcoin.
What is a mining pool?
Enter the mining pool, which is a collection/group of miners working together to increase their chances of finding a block at the group level, compared to that at the individual level.
By joining a mining pool, Bitcoin miners can pool their (hashrate) computing power together and split the block reward equally between pool participants based on the number of shares they contributed to mining a block.
In the early days of Bitcoin mining, miners could set up a computer at home and mine with their CPU. As bitcoin became more popular, more miners joined the network with specialized hardware and it became harder and harder to mine a single bitcoin.
As competition intensified, more and more miners competed for the limited supply of blocks. Individuals found themselves working for months without finding a block and receiving no reward for their mining efforts. This made mining somewhat of a gamble. To address the variance in their mining revenue, miners started organizing themselves into pools so that they could share rewards more evenly.
Why do miners use a mining pool?
There are currently millions of mining machines on the Bitcoin network. Bitcoin mining rewards are mathematically set to pay a fixed amount of bitcoin every ten minutes to one Bitcoin wallet address. This means that the chance of an individual miner earning this reward on their own is very small.
As the hashrate on the Bitcoin network increases, the chances of earning a reward through solo mining decreases.
To increase their chances of earning mining revenue, miners connect to a mining pool to pool their computing power and proportionately share the block rewards of any block mined by the pool based on the amount of hashrate they contributed.
Let’s compare solo mining vs. pooled mining with a WhatsMiner M20S from MicroBT:
Mining solo with a WhatsMiner M20S
If, for example, the Bitcoin Network Hashrate is at 100 EH/s (100,000,000 TH/s), a latest-generation WhatsMiner M20S ASIC miner with 68 TH/s, has approximately a 1 in 1,470,588 chance of mining a Bitcoin block, and with one Bitcoin block per 10 mins on average, they may have to wait 16 years to mine that one block.
Or maybe this individual M20S machine will never successfully mine a block, due to statistical variance.
If that M20S machine does mine a block, the miner will be paid handsomely, as they will earn the entire block reward and transaction fees. The block reward is currently 12.5 BTC and the transaction fees are variable. We can conservatively assume 12.5 BTC per block, and if BTC is priced at $6,000, it means the reward per block is around $75,000. A huge, but statistically unlikely return for an individual machine.
Mining in a PPS+ pool with a WhatsMiner M20S
Nowadays, miners prefer to guarantee their mining revenue by joining a mining pool. Miners contribute their hashrate to the pool and the pool distributes the mining rewards based on the amount of contributed hashrate.
There are two common types of payout systems for pools, PPS+, and PPLNS — both are explained below.
For this example, we are going to use the PPS+ payout system:
A PPS+ pool takes the variance risk away from miners, as the pool will pay out mining revenue to miners regardless of whether the pool successfully mines a block. Usually, PPS+ pools pay out once per day.
If the Bitcoin Network Hashrate is at 100 EH/s (100,000,000 TH/s), a latest-generation WhatsMiner M20S ASIC miner with 68 TH/s, would earn around 0.001224 BTC per day before pool fees.
0.001224 BTC is calculated by 68 (miner hashrate) ÷ 100,000,000 (network hashrate) × 144 (number of blocks per day) × 12.5 (block reward).
Pool fees are normally 2.50–4.00%, so let’s use 2.50% for the example; the net mining revenue is therefore 0.0011934 BTC.
If BTC is priced at $6,000, then this M20S has a daily revenue of $7.16.
Comparing solo mining and pool mining performance
From the example above, a miner that is solo mining has a slim chance of mining the entire block by themselves, however, the chance of this WhatsMiner M20S solo mining a block should happen once every 16 years.
Whereas through pooled mining, a miner will receive small, but guaranteed, daily payouts from the pool of 0.0011934 BTC ($7.16).
To minimize payout variance, most miners prefer to mine with a mining pool.
Mining pools and large mining farms
Although miners can predict their expected revenue from mining, actual revenue may differ purely due to statistical variance. Large mining farms have a larger proportion of the overall network hashrate, yet it’s also possible that if they solo mine they could be unlucky, meaning they don’t mine as many blocks as they would have expected based on the hashrate in their farm.
Even if a very large miner would control, say, 1 percent of all hash power on the Bitcoin network, that doesn’t guarantee they’ll consistently find one in every 100 blocks. Instead, they could get lucky on one day and find three blocks, but get unlucky over the next three days (or more) and find zero blocks.
By contributing their hashrate to a mining pool, a mining farm can earn a consistent payout every day. Part of the value proposition of a large pool is that they have enough hashrate and can guarantee a fixed payout based on their miners hashrate. This leads to more consistent payouts from the mining pool to its miners and removes the variance risk from payouts to the miners.
When would I consider solo mining?
There are cases where solo mining can make sense. If the mining operator has a very large share of the overall network hashrate, it may be reasonable to solo mine. By solo mining, a miner can avoid paying pool fees, and over the long term, may have slightly higher mining revenue.
As a rule of thumb, you may want to have enough hashrate to mine two blocks per day on average. With 144 blocks per day, that equates to 1.4% of the network hashrate. If the network hashrate is at 100 EH/s, then you need 1.4 EH/s to have 1.4%.
Let’s take another example with a 50-megawatt farm. For this example we will again assume that they have filled their facility with WhatsMiner M20S:
One M20S consumes around 3264 Watts of electricity, which means a 50 MW farm could hold around 15,318 M20S machines. Each M20S generates around 68 TH/s, so that means 1042 PH/s of hashrate.
What would I expect to earn?
With the network hashrate at 100 EH/s, 1042 PH/s gives you a 1.042% chance of successfully mining a particular Bitcoin block, and with 144 blocks per day (one bitcoin block per 10 mins on average) this means that in a seven day period, you could estimate to mine 10.5 bitcoin blocks on average.
10.5 blocks is calculated by 1.042% (chance of mining one block) × 144 (blocks per day) × 7 (days).
Therefore with a 50 MW mine, you can hope to earn on average, 131.25 BTC a week, but you are left with the same problem that if you happen to be unlucky over a set period, then you may struggle to pay your electricity bills and operational expenses over that period of time.
Many mining operators are running on thin margins, and it only takes one or two days of bad luck for the miner to not mine a block, and not be able to meet to make enough BTC revenue to offset their operational costs. This is a primary driver of why joining a PPS+ mining pool can be good for large businesses.
Pools that are large enough to offer PPS+ payouts take the variance risk away from the miners, due to the amount of hashrate within their pool, and because of their own BTC reserves that enable them to cover periods of bad luck.
Large mining farm owners have to decide if the risks outweigh the benefits of saving on pool fees. Even some of the largest farms with 500 PH/s+ hashrate in North America, such as Argo Blockchain, Hut8, and Bitfarms still choose to mine with a mining pool.
Mining pool payouts
So far, all of our examples have been with PPS+. Miners are paid in BTC for the hashrate they provide to the pool, regardless of how lucky the pool is at successfully mining blocks and earning the block reward.
As a miner, you can verify that a PPS+ pool is paying you the correct amount of BTC per day, based on the formula for PPS Daily Revenue.
PPS Daily Revenue = (Hashrate × Reward per Block × Seconds) ÷ (Difficulty × 2^32)
The “+” component of PPS+ indicates the Transaction Fees are also paid out from the pool to the miner, and it will vary based on the value of total transaction fees inside the blocks mined by the pool on a particular day.
However, some pools still offer Pay Per Last N Shares (PPLNS). PPLNS pays out only when the pool is lucky enough to earn a reward. If the pool mines more blocks than expected, then they would pay out more to their miners. On the flip side, if the pool is unlucky for a period of time, then miners would earn less than expected. This puts the risk back onto the mining operator, and for most large farms, they would prefer to not take this variable risk and decide to mine with a PPS+ pool instead.
How to choose a Mining Pool?
Generally speaking, the PPS+ payment method is preferred by miners, however, some do choose PPLNS pools due to lower fees or other mitigating factors.
When choosing a pool, miners should consider the level of support they will get from the staff at the pool, how transparent the payment mechanism is and how reliable the service has been in the past. Other important factors include whether the pool has a server set up in the same region as your mining machines, as this will decrease the chance of any of your hashrate shares being rejected by the pool.
Our recommendation at F2Pool is to look for a global pool provider that puts the miners first. We have had a public pool since 2013 and we pride ourselves on the efforts we make to look after our miners. We have Bitcoin servers all around the world and a global team of technicians and support staff.