Bitcoin Mining Pools

Evaluating the risks, benefits, and trade-offs of different mining approaches.

Mining Pool Architecture

Bitcoin mining methods are either centralized or decentralized. Centralized approaches offer efficiency but introduce central points of control, while decentralized methods remove central points of control but introduce inefficiencies. Explore the interactive flowchart below to understand the differences between these mining methods.


Centralized
Pool Mining

Shared payouts with centralized control.

Solo Pool Mining

Individual payouts with centralized control.

Decoupled Pool Mining

Custom templates with centralized control.

Decentralized
Decentralized Pool Mining

Peer-to-peer with shared payouts.

Solo Mining

Sovereign mining with independent control.

Pool Mining

Overview

Traditional mining pools are the most common type of mining operation. A central pool server controls all aspects of the mining process, including transaction selection and reward distribution. Miners simply provide hashing power and receive rewards proportional to their contribution.

Architecture

  1. The pool runs a Bitcoin node and a pool server.
  2. Miners connect to the pool server.
  3. The pool builds blocks, chooses the transactions, and controls the coinbase payout.
  4. Miners hash jobs from the pool server until a block is found, the pool server then broadcasts the block to the Bitcoin network.
  5. The pool pays out miners proportional to their contribution.

Roles

Pool Server:
  • Runs a Bitcoin node
  • Builds blocks
  • Chooses transactions
  • Controls coinbase payout
  • Broadcasts blocks to the Bitcoin network
Miners:
  • Hashes work from the pool server
  • Submits solution to the pool server

Examples

AntPool Foundry F2Pool ViaBTC Luxor

Attack Vectors

  • Pool operators exist as a centralized point of control and can be targeted by regulators to implement KYC, censor transactions, or withhold payouts.
  • Pool operators have unilateral control over the pool server.
  • Fundamentally a client-server relationship; miners depend on the pool server to coordinate.

Solo Pool Mining

Overview

Solo Pool Mining offers individual mining rewards. Unlike traditional pool mining where rewards are shared proportionally, each miner in a solo pool receives the full block reward when they find a block, while still relying on the pool server for everything else.

Architecture

  1. The pool runs a Bitcoin node and a pool server.
  2. Miners connect to the pool server.
  3. The pool builds blocks, chooses the transactions, and controls the coinbase payout.
  4. Miners hash jobs from the pool server until a block is found, the pool server then broadcasts the block to the Bitcoin network.
  5. The pool pays out the full block reward to miner who found the block.

Roles:

Pool Server:
  • Runs a Bitcoin node
  • Builds blocks
  • Chooses transactions
  • Controls coinbase payout
  • Broadcasts blocks to the Bitcoin network
Miners:
  • Hash work from the pool server
  • Submit solution to the pool server

Examples

CKPool PublicPool PyBLOCK

Attack Vectors

  • Pool operators exist as a centralized point of control and can be targeted by regulators to implement KYC, censor transactions, or withhold payouts.
  • Pool operators have unilateral control over the pool server.
  • Fundamentally a client-server relationship; coordination depends entirely on the pool server.

Decoupled Pool Mining

Overview

Decoupled pool mining is similar to traditional pool mining, but involves miners running their own Bitcoin nodes and choosing their own transactions, while still relying on the pool server for the coinbase payout.

Architecture

  1. The pool runs a Bitcoin node and a pool server.
  2. Miners run a Bitcoin node and connect to the pool server.
  3. The pool coordinates and adminstrates the coinbase payout.
  4. Miners build blocks, choose transactions, and hash until a block is found.
  5. The miner who finds a block broadcasts it to the Bitcoin network.

Roles

Pool Server:
  • Runs a Bitcoin node
  • Controls coinbase payout
  • Broadcasts blocks to the Bitcoin network
Miners:
  • Run a Bitcoin node
  • Build blocks
  • Choose transactions
  • Hash blocks
  • Broadcast blocks to the Bitcoin network

Examples

OCEAN DMND Pool StratumV2 Pools

Attack Vectors

  • Pool operators exist as a centralized point of control and can be targeted by regulators to implement KYC, reject templates, or withhold payouts.
  • Pool operators have unilateral control over the pool server.
  • Fundamentally a client-server relationship; coordination depends entirely on the pool server.

Decentralized Pool Mining

Overvie:

Decentralized pool mining involves miners running their own Bitcoin node alongside a peer-to-peer pool node. The miners directly connect to each other to track their contributions and coordinate the coinbase payout. This method removes the need for a centralized pool server but introduces some latency and inefficiency.

Architecture

  1. Miners run a Bitcoin node and a peer-to-peer pool node.
  2. Miners build blocks and chooses their transactions.
  3. Miners share and check each others work to coordinate the coinbase payout.
  4. Miners hash until a block is found.
  5. Miner who finds a block broadcasts it to the Bitcoin network and shares the block reward with the other miners.

Roles

Miners:
  • Run a Bitcoin
  • Run a P2P pool node
  • Build blocks
  • Choose transactions
  • Coordinate coinbase payout
  • Hash blocks
  • Broadcast blocks to the Bitcoin network

Examples

Braidpool P2Pool-v2

Attack Vectors

  • Minimal - There is no centralized pool server to attack.

Solo Mining

Overview

Solo mining is the method of mining that Bitcoin was designed for. It involves a miner running a full Bitcoin node and mining independently without the help of a pool or other miners. This method offers complete control and independence from trusted third parties, but also introduces higher variance in block rewards.

Architecture

  1. Miner runs a Bitcoin node and a self-hosted pool or solo gateway.
  2. Miner builds blocks, chooses the transactions, and controls the coinbase payout.
  3. Miner hashes until a block is found.
  4. When a block is found the miner broadcasts it to the Bitcoin network and the receives the block reward.

Roles

Miner:
  • Runs a Bitcoin node
  • Runs a self-hosted pool or solo gateway
  • Builds blocks
  • Chooses transactions
  • Controls coinbase payout
  • Hashes blocks
  • Broadcasts blocks to the Bitcoin network

Examples

PublicPool (self-hosted) CKPool (self-hosted) DATUM (solo-mode)

Attack Vectors

  • None - Solo mining is the most decentralized method of mining.