A solution may solve Block Withholding Attack



Summary:

On October 3, 2017, a proposal to solve the Block Withholding Attack was presented by 潘志彪 via bitcoin-dev mailing list. The proposed solution is based on the general idea from Aviv Zohar and involves changing the difficulty algorithm for mining. The new difficulty algorithm sets the New_Diff value as DIFF_1 divided by the absolute difference between the target and offset. Offset is a 32-byte uint256 in Bitcoin with a range of [0, 2^256), where offset_hash is defined as DSHA256(offset). The merkle root hash algorithm needs a slight modification to place the offset_hash at the beginning of the tx hashes array. The mining pool provides miners with the PoW hash range (miner_hash_begin/end) in the job. If miners find a hash that falls within the miner_hash_range, they should submit it to the pool as a valid share. On the other hand, if the hash value is between network_hash_begin and network_hash_end, then it means the miner has found a valid block. The network_diff is much higher than the miner's diff, which implies that the network_hash_range is way smaller than miner_hash_range. Since the typical miner's pool diff is around 16K, while the network diff is 1123863285132, the miner_hash_range is at least a million times bigger than the network_hash_range. However, there are two problems with this proposal. First, it requires a hard fork, which is not an easy task. Second, it will make existing asic dsha256 chips useless, but making new asic chips based on current technology can be an option. There have been other proposals to deal with the Block Withholding Attack, such as https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2012-June/001506.html, which may be possible to implement in existing miners.


Updated on: 2023-06-12T21:32:32.268211+00:00