3

A lot of people doing bitcoin mining participate in pooled mining. When participating in pooled mining the workers perform some mathematical calculation (that I have actually not understood) and are rewarded payouts for their contribute to new block generation.

Is it possible that the workers, minining in a pool, can find out which bitcoin they are working on? If yes, I think they would be able to see to whome the bitcoin they worked on was transferred later to?

2 Answers 2

4

When a miner in a pool finds a valid block, the pool receives a reward (currently ~50 BTC) in a special generation transaction in the block. The address receiving the generation reward in a given block is known, and pools publish statistics on which blocks they found (and even if not, the miner who found it can in theory know which blocks he himself found if his mining software keeps a record of it), so the generation rewards can be tracked (to the same extent that any other Bitcoin transaction can be tracked).

The mathematical operation done when mining is calculating SHA-256 hashes of variants of a block header. You can learn more about mining for example at What exactly is mining?

8
  • I see. What if a miner does NOT find a block, but is only generating hashes? Will he still be able to know on which block he was working with his "miner colleagues" ?
    – Erik
    Jun 4, 2012 at 14:22
  • @Erik: Each miner in the pool works on a different block, so that's kind of undefined. In particular, usually each miner will have a different address for the generation transaction, and he doesn't know what it is unless the pool publishes it (which it will only do if the miner finds a block). Basically what the miner knows in advance is the serial number of the block he worked on (and the identity of the previous block) and the Merkle branch, a non-invertible condensed summary of the transactions list. Jun 4, 2012 at 15:34
  • 2
    It's also possible to have a pool with smart miners who decide themselves what block to work on, but that's not commonly done. Jun 4, 2012 at 15:34
  • If every miner works on their own block, how can the pool create constant payouts? Isn't a payout like a credit from the pool then, as the block was not yet generated?
    – Erik
    Jun 4, 2012 at 15:58
  • The miner in a pool can know the previous block that is being built upon. So if the previous block is at height 1,083 then the miner can know that the current block being worked on is block 1,084. In the case where there's a fork and there are two 1.083's, the miner in the pool can only build upon the one that the pool happens to have chosen. Jun 4, 2012 at 17:20
1

Everyone, not just miners, can see every transaction that's in any block. Being a miner doesn't give you any special insight that other users don't have. The whole blockchain is public with a full copy being held by everyone who runs a Bitcoin node.

This doesn't mean that you can easily link transactions to people however. Everyone can see that address A transferred X bitcoins to address B. But it's not obvious how to determine who owns addresses A or B.

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.