7

What is stopping me from hacking the mining software such that if I do happen to get the right hash I keep it for myself, but if not then I just submit my work done and get my share of the mined income.

The only way I can think of to check this is for the pools to monitor the block chain and look for suspicious activity, but I'm not sure what this activity would like in practice and that wouldn't just be a higher than elevated rate of whatever they're looking at.

It seems to me that this would be especially attractive on pools like Eligius that do CPPSRB and even more attractive the higher my hash rate as then I have a high chance of getting blocks all to myself.

14

The way you describe it it's not possible. The pool sends you the template of the block that you ought to be working on. Should you really find a block it is bound to the block template you received from the pool, i.e., the nonce that satisfies the proof-of-work difficulty is only valid because it is valid in combination with the template. Since the block template also includes the coinbase transaction, transferring the reward to the pool operator, you cannot steal the reward.

Hence you cannot work for the pool, creating valid shares, and at the same time work for yourself. You could only not submit the nonce for the valid block to the mining pool, but that would reduce your share of the reward as well.

5
  • It is however possible to perform a block-withholding-attack: bitcoin.stackexchange.com/q/1338/516 Jun 10 '13 at 10:55
  • True, while this is a viable attack against a PPS pool, where it allows to hurt the pool operator, it is not with any method that distributes the pools earnings in function of the shares (no fixed share value like in PPS).
    – cdecker
    Jun 10 '13 at 14:15
  • I assume this "template" is also responsible for not being able to cheat with doing the same work for multiple mining pools. What happens when you find a correct hash (assuming you don't withhold the solution)? Do you need to send a response back to the pool or can you just announce the block to the bitcoin network (and the pool will get it)? Does the "map server" have to do some additional thing (i.e., sign the block) or not? I am asking because I wonder whether you can mine in the name of somebody else. I know it does not make sense to do some work and let somebody else earn the reward. But
    – fiction
    Aug 2 '13 at 19:49
  • What prevents me to lie to the server about my hash rate?
    – Eduardo
    Aug 27 at 3:12
  • Think of it like you searching for prime numbers. Every time you find one you shout it out, and the pool can verify it's prime and credit you with a share. You have to check every single number to see if it's prime, so you can't just skip from prime to prime and collect the shares, you actually have to do the work. The same thing happens in PoW: the server asks you to find a low-dificulty PoW which you can find only by crunching all possibilities, and the server can be sure you did the work to find it.
    – cdecker
    Aug 28 at 9:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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