3

In most bitcoin mining pools, miners of a pool are sent their portion of a block reward that the pool collectively mines, every 30 minutes or 1 hour.

How exactly does a mining pool tell the Bitcoin network to send these coins to each of the miner's addresses?

2 Answers 2

1

They do so just like anyone else sending Bitcoin to someone; they create a Bitcoin transaction and broadcasts it to the network. It works in exactly the same way as you sending Bitcoin to someone else. The mining pool operator goes into the pool's wallet, chooses the "send" option in that wallet, and enters the addresses and amounts to be paid for each miner. Of course this is all automated so the mining pool operator doesn't actually do that. Instead a script does it and interacts with the wallet using RPC calls.

Sometimes the mining pool may choose to pay a low transaction fee or not broadcast the transaction and instead include it in the next block the mining pool is working on.

4
  • Could you please go in to more detail Commented Dec 26, 2017 at 17:46
  • 1
    @BarneyChambers, more detail on what? (More detail on "more detail"! :) This might help to get you the answer you're looking for.
    – brec
    Commented Dec 26, 2017 at 17:54
  • Well the first detail I would like are the specific RPC calls that are used. It isn't clear to me when you say things like the same way as sending Bitcoin to someone else, that to me is a very ambiguous statement Commented Dec 26, 2017 at 19:29
  • It depends on the software that the mining pool is using. It is done in exactly the same way that other services process Bitcoin transactions. You can easily google the various methods people do this. If they are using Bitcoin Core, they are probably using the sendmany RPC command.
    – Ava Chow
    Commented Dec 26, 2017 at 19:41
0

Simplified: A mining pool is a program that connects to a Bitcoin full node to get "work" over an RPC interface and divides that to miners over Stratum.

As a miner, you are looking for for a hash smaller than a threshold that correlates to the current difficulty. You are looking for a block that starts with, say, 10 leading zeroes. Once in a while you will find a block with 8 leading zeroes. You send that info to the pool, thereby proving "I did enough work to find one of those, so I am really contributing to finding the block". That is known as a share.

The pool keeps track of all shares for the current block search. If your pool finds the block, it gets a certain amount of BTC (currently 12.5). Those go to an address of the full node mentioned earlier, hence into the pool operator's hands. Based on your number of shares and the number of all other shares, the pool calculates how much you deserve. It then communicates over the RPC API, telling the node to send out the previously mined Bitcoins, which handles those requests the same way as if you were sitting on your computer, doing those transactions manually over the wallet GUI

Your Answer

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

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