Bitcoin mining pools
Bitcoin mining pools are a way for Bitcoin miners to pool their resources together and share their hashing power while splitting the reward equally according to the amount of shares they contributed to solving a block.
A “share” is awarded to members of the Bitcoin mining pool who present a valid proof of work that their Bitcoin miner solved. Bitcoin mining in pools began when the difficulty for mining increased to the point where it could take years for slower miners to generate a block.
The solution to this problem was for miners to pool their resources so they could generate blocks quicker and therefore receive a portion of the Bitcoin block reward on a consistent basis, rather than randomly once every few years.
If you participate in a Bitcoin mining pool then you will want to ensure that they are engaging in behavior that is in agreement with your philosophy towards Bitcoin.
For example, some rogue developers have threatened to release software that could hard-fork the network which would likely result in tremendous financial damage.
Therefore, it is your duty to make sure that any Bitcoin mining power you direct to a mining pool does not attempt to enforce network consensus rules you disagree with.
When segwit is activated, you will want to be able to mine and relay segwit-style blocks. The following mining software has been upgraded to support segwit.
- Full nodes:
- Mining software:
- Pool software:
- Relay software:
Please note that software that supports the GetBlockTemplate (GBT) RPC must be upgraded to support the BIP9 and BIP145 changes to GBT. All the programs linked above that support GBT have been upgraded.
Segwit is already activated and enforced on testnet, so you may find it useful to test your infrastructure upgrade by mining with some small amount of hashrate on testnet. Alternatively, Bitcoin Core 0.13.1’s regression test mode (regtest) also supports segwit by default.
Bitcoin Mining Pools
There are many good Bitcoin mining pools to choose from. Although it’s tempting to pick the most popular one, it’s better for the health of the network to mine with smaller pools so as to avoid potentially harmful concentration of hashing power.
The hash rate distribution is best when split among more Bitcoin mining pools.
Bitcoin Mining Pool Hash Rate Distribution
Bitcoin Mining Pool Options
For a fully decentralized pool, we highly recommend p2pool.
The following pools are believed to be currently fully validating blocks with Bitcoin Core 0.11 or later:
BTCC: BTCC is a Bitcoin exchange, wallet, and mining pool located in China. Its mining pool currently controls around 15% of the network hash rate.
Antpool: [WARNING] – Bitmain operates Antpool and some consider them to be a malicious actor in the Bitcoin ecosystem because of the AntBleed scandal where they were intentionally including malware within mining equipment they sell. In a corporate communication, Bitmain claimed this was a feature and not a bug. This malware would enable Bitmain to remotely shut down equipment of customers or competitors thus increasing their own profitability. Additionally, such behavior could pose a risk to the entire Bitcoin network.
BitMinter: BitMinter, once one of the largest Bitcoin mining pools, now controls less than 1% of the network hash rate.
Kano CKPool: Kano CKPool was founded in 2014 and currently has around 3% of the network hash rate under its control.
F2Pool: F2Pool is the second largest Bitcoin mining pool, with around 25% of the network hash rate. Its user interface is in Chinese, making it difficult for English speakers to join.
BW Pool: BW Pool controls around 7% of the network hash rate. Like F2Pool, its user interface is in Chinese, making it difficult for English speakers to join.
Bitfury: Although seen publically in block explorers and hash rate charts, BitFury is a private mining pool and cannot be joined.
Bitcoin Mining Pool Payment Methods
Calculating your share of the bitcoins mined can be complex. In an ongoing effort to come up with the fairest method and prevent gaming of the system, many calculation schemes have been invented. The two most popular types are PPS and DGM. PPS, or ‘pay per share’ shifts the risk to the mining pool while they guarantee payment for every share you contribute.
PPS payment schemes require a very large reserve of 10,000 BTC in order to ensure they have the means of enduring a streak of bad luck. For this reason, most Bitcoin mining pools no longer support it.
One of the few remaining PPS pools is EclipseMC. DGM is a popular payment scheme because it offers a nice balance between short round and long round blocks. However, end users must wait for full round confirmations long after the blocks are processed.
PPS: The Pay-per-Share (PPS) approach offers an instant, guaranteed payout for each share that is solved by a miner. Miners are paid out from the pools existing balance and can withdraw their payout immediately. This model allows for the least possible variance in payment for miners while also transferring much of the risk to the pool’s operator.
PROP: The Proportional approach offers a proportional distribution of the reward when a block is found amongst all workers, based off of the number of shares they have each found.
PPLNS: The Pay Per Last N Shares (PPLN) approach is similar to the proportional method, but instead of counting the number of shares in the round, it instead looks at the last N shares, no matter the boundaries of the round.
DGM: The Double Geometric Method (DGM) is a hybrid approach that enables the operator to absorb some of the risk. The operator receives a portion of payouts during short rounds and returns it during longer rounds to normalize payments.
SMPPS: The Shared Maximum Pay Per Share (SMPPS) uses a similar approach to PPS but never pays more than the Bitcoin mining pool has earned.
ESMPPS: The Equalized Shared Maximum Pay Per Share (ESMPPS) is similar to SMPPS, but distributes payments equally among all miners in the Bitcoin mining pool.
RSMPPS: The Recent Shared Maximum Pay Per Share (RSMPPS) is also similar to SMPPS, but the system prioritizes the most recent Bitcoin miners first.
CPPSRB: The Capped Pay Per Share with Recent Backpay uses a Maximum Pay Per Share (MPPS) reward system that will pay Bitcoin miners as much as possible using the income from finding blocks, but will never go bankrupt.
BPM: Bitcoin Pooled mining (BPM), also known as “Slush’s pool”, uses a system where older shares from the beginning of a block round are given less weight than more recent shares. This reduces the ability to cheat the mining pool system by switching pools during a round.
POT: The Pay on Target (POT) approach is a high variance PPS that pays out in accordance with the difficulty of work returned to the pool by a miner, rather than the difficulty of work done by the pool itself.
SCORE: The SCORE based approach uses a system whereby a proportional reward is distributed and weighed by the time the work was submitted. This process makes later shares worth more than earlier shares and scored by time, thus rewards are calculated in proportion to the scores and not shares submitted.
ELIGIUS: Eligius was designed by Luke Jr., creator of BFGMiner, to incorporate the strengths of PPS and BPM pools, as miners submit proofs-of-work to earn shares and the pool pays out immediately. When the block rewards are distributed, they are divided equally among all shares since the last valid block and the shares contributed to stale blocks are cycled into the next block’s shares. Rewards are only paid out if a miner earns at least. 67108864 and if the amount owed is less than that it will be rolled over to the next block until the limit is achieved. However, if a Bitcoin miner does not submit a share for over a period of a week, then the pool will send any remaining balance, regardless of its size.
Triplemining: Triplemining brings together medium-sized pools with no fees and redistributes 1% of every block found, which allows your share to grow faster than any other Bitcoin mining pool approach. The administrators of these Bitcoin mining pools use some of the Bitcoins generated when a block is found to add to a jackpot that is triggered and paid out to the member of the pool who found the block. In this way, everyone in the pool has a better chance to make additional Bitcoins, regardless of their processing power.