Well excuse me in advance if my question sounds funny. But I'm just curious perhaps someone can shed a light.

When in a pool of miners, let's say there are 100 miners connected to a single daemon node, do they solve every block together, concurrently computing, work is divided among miners? Or each miner solves the block individually, parallel?

To further elaborate, for example I got 100 machines, should I connect them all to a single daemon node to mine or it's better to let them mine with their own daemon node each?

1 Answer 1


Miners connect to a mining pool, which in turn connect to one or more bitcoin nodes. The miners get separate work from the pool and work in parallel.

Working in serial is not possible. There is no progress in mining. Your hash (lottery ticket) is either a winning ticket or not. Then you go on to the next hash. Mining is brute force. You go through billions of lottery tickets per second.

So two miners cannot find the winning ticket "together". They could both do the same work and find the same block, but that would be an awful waste. It is very important that the mining pool does not give out the same work twice. Two miners should never be checking the same lottery tickets (hashes).

Connecting miners directly to a bitcoin node is not possible. It used to work in the olden days when the ancient getwork protocol was used. bitcoind didn't have long polling in those days, though, so it really only worked in theory. These days miners speak stratum and bitcoin nodes speak getblocktemplate. The two protocols are not compatible, so there must be something in between, usually a mining pool.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.