Optimistic mining tip (slow block propagation)

As Bob points out validationless mining is a common bad practice that has been discussed for a long time. It is sometimes referred to as SPV mining (mining on top of a block after validating only its header, not its content) or spy mining (listening for jobs on competitors’ pools and using their previous block hash as soon as they switch[1]).

Validationless mining undermines the security of the system in at least two ways. First it risks extending an invalid chain, creating the opportunity for fake confirmations. This can happen either maliciously, by feeding an invalid block to a non-validating miner, or inadvertently in case of a consensus rules change. It famously occured during the BIP 66 soft fork where numerous invalid blocks were created due to validationless mining, producing invalid branches as long as 6 (!!) blocks [2]. Secondly, if the cost of trustless validation is too high it incentivizes mining pools to enforce validity through alternative means, such as a state’s legal system, in order to make sure they are not wasting work.

There is ways to mitigate validationless mining, but not avoid it completely. The best we can do is to ensure access to full validation is as cheap as possible so pools only send potentially-invalid jobs to hashers for the smallest possible amount of time. This requires optimising block propagation and validation times in the common scenario (compact blocks, mempool synchronisation) as well as preventing exploiting long block validation times in the attack scenario (see BIP 54, Consensus Cleanup).

You may also be interested in this previous proposal for miners to voluntarily signal they only partially validated the block they are building on top, as a gentlemen agreement to provide risk mitigation. The given motivation seems to be what you are after:

Although this validation skipping undermines the security assumptions of thin clients, it also has a beneficial effect: these delays also make the mining process unfair and cause increased rewards for the largest miners relative to other miners, resulting in a centralization pressure. Deferring validation can reduce this pressure and improve the security of the Bitcoin system long term.

This BIP seeks to mitigate the harm of breaking the thin client assumption by allowing miners to efficiently provide additional information on their level of validation. By doing so the network can take advantage of the benefits of bypassed validation with minimal collateral damage.


  1. See for instance this issue for a public mention of this practice. ↩︎

  2. See this SE question, although as far as i can tell the currently accepted answer is missing some invalid blocks that were created at the time. ↩︎

1 Like