Partial propagation "attack"

Emperor Bob

New Member
Aug 19, 2015
18
37
Scare quotes are because it's not a real threat per se, but it's an interesting counterpart to selfish mining and slow-to-propagate block attacks. I think it can be proven formally to be more effective and lower risk for the attacker, and that any countermeasures that apply to it also apply to the others.

Steps:
  1. When you create a new block, pick a list of miners that, together with you, add up to a strict majority of hashpower. Let's call it a "temporary cartel" list for ease of reference.
  2. Only broadcast the block to those miners in the cartel list.
  3. Include your cartel list with the block (maybe in the coinbase text, maybe separately).
Since your block is newly discovered and on the longest chain, any miner that knows about it will want to build right on top of it. They have one other decision to make, and that's who to rebroadcast the block to:
  1. Full rebroadcasting makes the block behave completely normally.
  2. Sending the block to no one means that this miner is now working on top of a block that some significant percentage of the network knows nothing about. Keeping it secret eliminates about half your competition (and hence decreases your orphaning risk by 50%).
  3. Just in case the original sender was lying about who they sent their blocks to, you can rebroadcast an inv to the miners on the cartel list that was sent to you. That way, you guarantee you're working on the same block as some a strict majority of the network, regardless of whether the originator was being truthful.
3 is the dominant strategy for any miner receiving a block with a cartel list. Note here that we're purely relying on miner's incentives to co-operate in withholding the block. We can make this even more effective by taking note of which miners don't keep our blocks secret and not including them in future cartels.

This situation can continue to operate for as long as no miner needs to spend their payout. It could be hundreds of blocks. But even if it lasts for 30 seconds, that's a significant advantage over miners who don't participate in these shenanigans.

Big miners have a an advantage in that they'll more often be the initiator of the temporary cartel. However this strategy is viable for any amount of hashpower and any block size. This means we can (probably) drop the idea that deliberately bloated blocks to harm smaller miners is a real argument against raising the block size.

Poke holes in it if you can, that would be appreciated.
 

dgenr8

Member
Sep 18, 2015
62
114
I suspect this can be simplified quite a bit. It actually never helps a greedy miner to relay anyone else's new block. The strictly selfish thing to do is always "mine on top, but do not relay," regardless of what other 3rd parties are doing.

The non-mining P2P network plays an under-appreciated role in preventing this practice, by publishing blocks without bias. Its interest in tracking transaction confirmations works to balance the incentives.