Bitcoin Forum

Other => Beginners & Help => Topic started by: lnternet on November 08, 2013, 10:04:44 PM



Title: Withholding blocks
Post by: lnternet on November 08, 2013, 10:04:44 PM
So say I find an input which hashes to a difficulty above the current one. Instead of n leading zero I get n+1 or n+2 etc. Does it make sense to withhold the block? Especially if I get a bunch of those, like a mining pool would, they could spam once the difficulty actually does goes up, force another difficulty increase because of that, spam again, etc, until some others are pushed out of profitable mining.

Probably doesn't make sense but yeah I was curious if that thought makes sense.


Title: Re: Withholding blocks
Post by: DannyHamilton on November 08, 2013, 10:08:28 PM
So say I find an input which hashes to a difficulty above the current one. Instead of n leading zero I get n+1 or n+2 etc. Does it make sense to withhold the block? Especially if I get a bunch of those, like a mining pool would, they could spam once the difficulty actually does goes up, force another difficulty increase because of that, spam again, etc, until some others are pushed out of profitable mining.

Probably doesn't make sense but yeah I was curious if that thought makes sense.

To be a valid block, the hash of the previous block has to be included in the current block.  Withholding your block gives the rest of the network an opportunity to solve a block before you release yours.  Once that happens, your block is no longer valid unless you can solve a second block before the rest of the network.  This means you have to get lucky enough to solve a block faster than the rest of the network combined twice in a row.  If you fail, you'll then have to solve a second and third block before the rest of the network solves a third block.  The longer this goes on, the less likely you are to catch up with the massive amount of hashing power in the honest network as they continue to find more and more blocks before you.


Title: Re: Withholding blocks
Post by: lnternet on November 09, 2013, 02:21:39 AM
Quote
To be a valid block, the hash of the previous block has to be included in the current block.
oh ok thanks.