Author: Luke-Jr 2012-06-03 00:52:14
Published on: 2012-06-03T00:52:14+00:00
Currently, all pools are vulnerable to an attack by an attacker who intentionally withholds shares that could also be valid blocks. A proposed solution is to accept blocks at a lower difficulty N if they are submitted with a candidate for the next block and SHA256(SHA256(NewBlockHash + NextBlockCandidateHash)) meets difficulty M. The relationship between M and N must be comparable to the normal network difficulty. This algorithm should guarantee that every share has an equal chance of being a valid block at the time it is found, and attackers have no way to identify which shares to withhold even while they have full knowledge of the shares/blocks themselves. This solution creates a hard-fork in the blockchain, but since mining continues to use a double-SHA256 on a fixed 80 byte header, existing miners, FPGAs, etc should work unmodified. Poolservers will need to adapt significantly. If this solution solves the block withholding risk, the community may approve a hard-fork to take place 1-2 years from consensus. However, rule changes are not likely to gain enough acceptance among the greater Bitcoin community due to the harm centralized pools can cause to the network's security.
Updated on: 2023-06-06T04:52:52.413123+00:00