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?
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 – 2012-06-04T14:22:11.680
@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. – Meni Rosenfeld – 2012-06-04T15:34:00.957
2It's also possible to have a pool with smart miners who decide themselves what block to work on, but that's not commonly done. – Meni Rosenfeld – 2012-06-04T15:34:49.427
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 – 2012-06-04T15:58:59.063
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. – Stephen Gornick – 2012-06-04T17:20:12.033
@Erik: Is that question about smart-miner pools? In such pools the miner still credits the pool in the generation transaction, and to prove it he send the pool the Merkle branch of this transaction for every share. The pool then distributes the rewards from the block to the miners. There's also the p2p pool p2pool, where miners credit both themselves and other miners in the generation transaction. – Meni Rosenfeld – 2012-06-04T17:42:18.663
No, my question was not about smart-miner pools – Erik – 2012-06-04T17:43:57.597
Ok. In normal pools it's also true that the block each miner is working on credits the pool. For every miner it will likely be a different address but still an address which belongs to the pool. The pool uses these rewards to pay miners, how exactly depends on the reward system used. In PPS the pool rewards miners for the work done hoping that a block will be found, before it is actually found. In most other systems payment is done when a block is found, and the block reward is distributed among miners who have recently done work. – Meni Rosenfeld – 2012-06-04T17:50:16.890