Mining Pools

Well, that’s where mining pools come in.

Mining pools allow individual miners to join their hash power together.

This way, they will collectively find blocks and get rewards more often, even if they only get a smaller amount with each block the pool finds.

Mining pools are run by a pool manager, or pool operator, that takes care of running a Bitcoin full node and distributing jobs to other miners.

They also take a cut of the rewards as compensation.

This way, miners don’t even have to store the blockchain themselves: similar to cloud computing, they give pools access to their hardware in exchange for a share of profits from the pool.

You may be asking, “Bitcoin is decentralized! How can I prove to a pool that I’m spending computation power to help them out?” Remember something really neat: this problem is a smaller version of the problem Bitcoin itself solved! We can have miners prove that they’re doing work for the pool through shares.

Shares are defined as near-valid or valid blocks.

Here’s how that works: Let’s say I’m in BerkeleyPool, the hypothetical UC Berkeley mining pool.

My miner just found a block hash with half as many leading zeros as a valid block.

This is an unlikely event that resulted from expending a significant amount of computational resources.

Mining pools can use this information to gauge just how much mining power you’re contributing, and they can reward you for valid shares.

That way, I can get paid by BerkeleyPool even if I never find a valid block, because these near-valid blocks are indicators that I’m at least trying to find a valid block.

This is how we can create mining pools through Bitcoin.

On top of that, we know that no miner in the mining pool can just take the rewards for themselves.

Keep in mind that rewards are given out through the coinbase transaction.

In mining pools, the puzzle you are trying to solve contains a coinbase transaction that pays the pool manager the block reward.

And then the pool manager would hopefully redistribute the block reward.

Miners are solving a problem based on the Merkle Root, since they’re hashing everything in the block header.

And the Merkle Root of the block is based on the coinbase transaction.

If a miner wants to get rewards for themselves, they’d have to change the coinbase transaction to redirect the block rewards to themselves.

Thus, they wouldn’t get any shares from the mining pool, since the mining pool manager would see that the miner’s coinbase transaction does not pay to the manager’s address.

Mining Pool Schemes