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. Feb 28, 2013 at 8:00
  • @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? Feb 28, 2013 at 13:01
  • 3
    There'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) Feb 28, 2013 at 14:34
  • For withholding attacks specifically, there is some information in one of the sections in my bitcoil.co.il/pool_analysis.pdf. Feb 28, 2013 at 14:35
  • @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". Feb 28, 2013 at 14:44

1 Answer 1


I think you may be confused about what block withholding means.

Pools already assign unique work to miners which credits the pool, not the miner. A miner cannot take the block reward for himself.

"Block withholding" means the miner submits shares normally, unless the share happens to be a block. Then he withholds it for either sabotage or lie-in-wait. Since block finding is random, no "marking" by the pool can help it determine if the miner found a block or not.

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.