Definition
A mining pool is a coordinated group of Bitcoin miners who combine their hashrate and split the block rewards proportionally to the work each contributed, smoothing the otherwise lottery-like timing of solo block discovery into frequent, predictable payouts.
Bitcoin only rewards the miner who finds a valid block, and at network difficulty that event is astronomically rare for any single machine. A pool solves this by letting thousands of miners aim at the same block template at once. Members submit shares — partial proofs of work that meet a low, pool-assigned target rather than the full network target — and the pool credits each member for the shares they send. When any one machine in the pool happens to find a hash that also clears the real network target, the whole pool earns the block, and the reward is divided according to everyone’s contributed shares. The result is a steady trickle of small payments instead of the all-or-nothing wait of solo mining.
How a pool talks to your ASIC
The conversation between your miner and the pool runs over the Stratum protocol. In Stratum V1 — still the dominant flavor in the field — the connection follows a fixed lifecycle: mining.configure (optional, used to negotiate BIP320 version-rolling for ASICBoost), mining.subscribe (the pool hands back an extranonce1 and extranonce2 size), mining.authorize (your worker logs in), and then a stream of mining.notify jobs containing the previous block hash, coinbase parts, and Merkle branches. Your control board hashes against that job and fires back mining.submit messages for every share it finds. It is plain JSON-RPC 2.0 over TCP, newline-terminated — simple enough that you can watch it with a packet sniffer.
The pool also dictates your difficulty. Via mining.set_difficulty it tells your machine how hard a share has to be before it is worth reporting, where the target is computed as 2^256 / (65536 × difficulty). Production pools run “vardiff” — variable difficulty that adjusts automatically so a Bitaxe putting out gigahashes and an S21 pushing 200+ TH/s can share the same pool without one flooding the server and the other barely registering. Battle-tested pool software like CKPool spans more than six orders of magnitude of difficulty for exactly this reason.
Payout schemes and fees
How the pool turns your shares into Bitcoin depends on its accounting model. The common schemes you will encounter are:
- PPLNS — Pay Per Last N Shares. Rewards are paid from actual blocks found, weighted toward recent shares; payout variance is higher but there is no separation between your luck and the pool’s.
- FPPS — Full Pay Per Share. The pool pays a fixed value per share including a share of transaction fees, absorbing the variance for you in exchange for a higher fee.
- PPS — Pay Per Share. A flat rate per share for the block subsidy only; the pool carries all the risk.
On top of the scheme sits a pool fee, commonly in the low single-digit-percent range and often taken as a cut of the coinbase. Open-source pool implementations illustrate the spread: some hobby-focused pools charge around 1.5% above a hashrate threshold, while CKPool defaults to a 0.5% donation that operators can configure down to zero. Always read the fee model alongside the payout scheme — a “low fee” FPPS pool and a “no fee” PPLNS pool can pay out very differently over a month.
Centralization, sovereignty, and your options
Pools make mining income livable, but they concentrate power: a handful of large pools can control a big share of network hashrate, and historically those pools chose which transactions made it into blocks. Newer protocols push back on this. Stratum V2 adds an encrypted Noise-handshake transport and, through extended channels, lets miners build their own block templates rather than blindly accepting the pool’s — moving template selection back toward the person who owns the hardware. (Note that on older chips like the S9’s BM1387, SV2 standard channels can exhaust the 32-bit nonce space in seconds, so V1 or SV2 extended channels are the practical choice there.)
For a sovereign Bitcoiner, the calculus is part technical, part philosophical: a steady paycheck from a big FPPS pool, the higher-variance honesty of PPLNS, or the pure lottery of pointing a miner at your own node and solo mining for a full block reward. If you are setting up hardware and weighing those tradeoffs, our team in Quebec can help you spec, configure, and host the right machine — start with the ASIC miner lineup or get hands-on support through D-Central’s Canadian mining services.
In Simple Terms
A group of miners who combine computing power and share block rewards proportionally.
A mining pool is a coordinated group of Bitcoin miners who combine their hashrate and split the block rewards proportionally to the work each contributed, smoothing the otherwise lottery-like timing of solo block discovery into frequent, predictable payouts.
Bitcoin only rewards the miner who finds a valid block, and at network difficulty that event is astronomically rare for any single machine. A pool solves this by letting thousands of miners aim at the same block template at once. Members submit shares — partial proofs of work that meet a low, pool-assigned target rather than the full network target — and the pool credits each member for the shares they send. When any one machine in the pool happens to find a hash that also clears the real network target, the whole pool earns the block, and the reward is divided according to everyone's contributed shares. The result is a steady trickle of small payments instead of the all-or-nothing wait of solo mining.
How a pool talks to your ASIC
The conversation between your miner and the pool runs over the Stratum protocol. In Stratum V1 — still the dominant flavor in the field — the connection follows a fixed lifecycle: mining.configure (optional, used to negotiate BIP320 version-rolling for ASICBoost), mining.subscribe (the pool hands back an extranonce1 and extranonce2 size), mining.authorize (your worker logs in), and then a stream of mining.notify jobs containing the previous block hash, coinbase parts, and Merkle branches. Your control board hashes against that job and fires back mining.submit messages for every share it finds. It is plain JSON-RPC 2.0 over TCP, newline-terminated — simple enough that you can watch it with a packet sniffer.
The pool also dictates your difficulty. Via mining.set_difficulty it tells your machine how hard a share has to be before it is worth reporting, where the target is computed as 2^256 / (65536 × difficulty). Production pools run "vardiff" — variable difficulty that adjusts automatically so a Bitaxe putting out gigahashes and an S21 pushing 200+ TH/s can share the same pool without one flooding the server and the other barely registering. Battle-tested pool software like CKPool spans more than six orders of magnitude of difficulty for exactly this reason.
Payout schemes and fees
How the pool turns your shares into Bitcoin depends on its accounting model. The common schemes you will encounter are:
- PPLNS — Pay Per Last N Shares. Rewards are paid from actual blocks found, weighted toward recent shares; payout variance is higher but there is no separation between your luck and the pool's.
- FPPS — Full Pay Per Share. The pool pays a fixed value per share including a share of transaction fees, absorbing the variance for you in exchange for a higher fee.
- PPS — Pay Per Share. A flat rate per share for the block subsidy only; the pool carries all the risk.
On top of the scheme sits a pool fee, commonly in the low single-digit-percent range and often taken as a cut of the coinbase. Open-source pool implementations illustrate the spread: some hobby-focused pools charge around 1.5% above a hashrate threshold, while CKPool defaults to a 0.5% donation that operators can configure down to zero. Always read the fee model alongside the payout scheme — a "low fee" FPPS pool and a "no fee" PPLNS pool can pay out very differently over a month.
Centralization, sovereignty, and your options
Pools make mining income livable, but they concentrate power: a handful of large pools can control a big share of network hashrate, and historically those pools chose which transactions made it into blocks. Newer protocols push back on this. Stratum V2 adds an encrypted Noise-handshake transport and, through extended channels, lets miners build their own block templates rather than blindly accepting the pool's — moving template selection back toward the person who owns the hardware. (Note that on older chips like the S9's BM1387, SV2 standard channels can exhaust the 32-bit nonce space in seconds, so V1 or SV2 extended channels are the practical choice there.)
For a sovereign Bitcoiner, the calculus is part technical, part philosophical: a steady paycheck from a big FPPS pool, the higher-variance honesty of PPLNS, or the pure lottery of pointing a miner at your own node and solo mining for a full block reward. If you are setting up hardware and weighing those tradeoffs, our team in Quebec can help you spec, configure, and host the right machine — start with the ASIC miner lineup or get hands-on support through D-Central's Canadian mining services.
