An Undercutting attack as described in this paper, is a mining strategy which involves producing new blocks not on the longest known chain, but instead 'undercutting' the longest chain by building a block, which collects less of the available transactions' fees, on a shorter chain. This behavior creates a direct incentive for another miner to now build new blocks on the 'undercutting' chain as there exist a higher sum of transactions' fees for them to collect.

In the paper, the authors describe how this can lead to a situation in which a 51% attack can be successfully carried out with less than 51% of the hashing power of the network. This is enabled due to the undercutters orphaning blocks and lowering the effective hashing power of the network (the 51% attackers have an advantage as they needn't orphan their own blocks, but the honest or undercutting miners work at a cumulatively lower hash rate due to the potential orphaning of higher value blocks).

Are there any solutions which disincentivize Undercutting behavior? Or, can the behavior be mitigated through a change to the protocol?


Fee variability between contiguous blocks should be very small, so these circumstances can only happen if somebody publishes by mistake or with some evil intention a transaction with abnormally high fees.

The miner including that transaction in a block can hedge the risk of undercutting by sharing its revenues with subsequent miners. This can be done by leaving some transactions in the mempool that would have otherwise be included in the block. Or, to avoid interfering with transaction selection, including a transaction with an anyone-can-spend output.

You can read more about this in the following twitter threads: https://twitter.com/fnietom/status/1037235115565494272 https://twitter.com/fnietom/status/1120646304823164929

|improve this answer|||||

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.