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.
Shared payouts with centralized control.
Individual payouts with centralized control.
Custom templates with centralized control.
Peer-to-peer with shared payouts.
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
- The pool runs a Bitcoin node and a pool server.
- Miners connect to the pool server.
- The pool builds blocks, chooses the transactions, and controls the coinbase payout.
- Miners hash jobs from the pool server until a block is found, the pool server then broadcasts the block to the Bitcoin network.
- The pool pays out miners proportional to their contribution.
Roles
- Runs a Bitcoin node
- Builds blocks
- Chooses transactions
- Controls coinbase payout
- Broadcasts blocks to the Bitcoin network
- Hashes work from the pool server
- Submits solution to the pool server
Examples
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
- The pool runs a Bitcoin node and a pool server.
- Miners connect to the pool server.
- The pool builds blocks, chooses the transactions, and controls the coinbase payout.
- Miners hash jobs from the pool server until a block is found, the pool server then broadcasts the block to the Bitcoin network.
- The pool pays out the full block reward to miner who found the block.
Roles:
- Runs a Bitcoin node
- Builds blocks
- Chooses transactions
- Controls coinbase payout
- Broadcasts blocks to the Bitcoin network
- Hash work from the pool server
- Submit solution to the pool server
Examples
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
- The pool runs a Bitcoin node and a pool server.
- Miners run a Bitcoin node and connect to the pool server.
- The pool coordinates and adminstrates the coinbase payout.
- Miners build blocks, choose transactions, and hash until a block is found.
- The miner who finds a block broadcasts it to the Bitcoin network.
Roles
- Runs a Bitcoin node
- Controls coinbase payout
- Broadcasts blocks to the Bitcoin network
- Run a Bitcoin node
- Build blocks
- Choose transactions
- Hash blocks
- Broadcast blocks to the Bitcoin network
Examples
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
- Miners run a Bitcoin node and a peer-to-peer pool node.
- Miners build blocks and chooses their transactions.
- Miners share and check each others work to coordinate the coinbase payout.
- Miners hash until a block is found.
- Miner who finds a block broadcasts it to the Bitcoin network and shares the block reward with the other miners.
Roles
- Run a Bitcoin
- Run a P2P pool node
- Build blocks
- Choose transactions
- Coordinate coinbase payout
- Hash blocks
- Broadcast blocks to the Bitcoin network
Examples
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
- Miner runs a Bitcoin node and a self-hosted pool or solo gateway.
- Miner builds blocks, chooses the transactions, and controls the coinbase payout.
- Miner hashes until a block is found.
- When a block is found the miner broadcasts it to the Bitcoin network and the receives the block reward.
Roles
- 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
Attack Vectors
- None - Solo mining is the most decentralized method of mining.