0
Update: This is a bad idea because it simply won't work, but it did help me understand what happens between a Miner and a Pool.
And if you missed it in the comments, read @Meni's PDF for a threat and profitability analysis of pools.
Is it feasible for a pool operator to include a "signature transaction" sending a small amount of BTC from and to themselves... and then monitor the public block chain for these addresses if share withholding (and subsequent solo broadcast) is attempted?
In other words, if a pool has 10,000 workers, then generate 10,000 addresses. Then create a transaction with an output corresponding with the worker address. Of course this money won't go to the worker (unless the operator desires it), but it can be used as virtual stamp on the entire block.
- Is this a viable strategy? If so, what scope is best for this check: per miner, per x miners, or per pool?
(I think the per pool scope may be a good way to get a measurement on % of cheaters)
Honestly, 7 hours ago you didn't know what shares are. It's presumptuous to try to offer solutions to attacks against pools. – Meni Rosenfeld – 2013-02-28T08:00:23.027
@MeniRosenfeld No disrespect or arrogance is intended. I want to learn this system but don't see a clear path of educating myself. I'm using the Q&A format to attempt to get there. Can you suggest a better way to learn that won't come off like that? – goodguys_activate – 2013-02-28T13:01:18.553
3There's a lot of information online, I agree it's not always easy to find. Some questions are ok here but if you want to bounce ideas to see where they fail I think the forum is better. (FWIW the downvote isn't mine) – Meni Rosenfeld – 2013-02-28T14:34:36.763
For withholding attacks specifically, there is some information in one of the sections in my https://bitcoil.co.il/pool_analysis.pdf.
– Meni Rosenfeld – 2013-02-28T14:35:19.650@MeniRosenfeld - Thank you, I found that PDF last night and recognized your name immediately after you answered this Q. I honestly don't know what some of those symbols mean (I never took statistics and assume this is where it's from). I'm reading it in hopes it will explain the technical "data that is being hashed in a share" vs "data being hashed for a block". – goodguys_activate – 2013-02-28T14:44:35.900
A block is a special case of share. If the hash of the share happens to have a low enough value the share is a block. – Meni Rosenfeld – 2013-02-28T15:14:35.760
@MeniRosenfeld If the share happens to be a block, can the block can be published on the network by that miner? (instead of published to the pool so the miner gets the full reward) What is this attack called? – goodguys_activate – 2013-02-28T15:31:58.447
That's not possible. The transaction list - including the generation transaction which credits the pool - is determined before the hashing is done. The miner can't take the block reward for himself. The forum is better for this kind of discussions. – Meni Rosenfeld – 2013-02-28T15:36:44.410
@makerofthings7: Either the miner publishes the block or he doesn't. If he modifies the block, it's now a different block. – David Schwartz – 2013-02-28T20:01:45.380
@DavidSchwartz This made complete sense to me a few hours ago. Thank you for your follow up. – goodguys_activate – 2013-02-28T20:03:42.547