Bitcoin Block Propagation Speeds

Recall that we showed that what everyone thought about Bitcoin, namely, that the system is safe as long as 50% of the miners are honest, is false, and we outlined an attack on Bitcoin called selfish mining by which miners make more Bitcoins than their fair share.

Selfish mining employs, but does not strictly depend on, races in the network, where the selfish miners propagate their blocks and try to outcompete the blocks propagated by honest nodes. Winning these races is not necessary -- a selfish miner that has sufficient mining capacity, 33% or above, could lose every single race and still make more money than an honest miner. But the more of these races a selfish miner can win, the more money he can make. Further, the higher a selfish miner's ability to win these races, the less mining power he can have and yet still outperform honest nodes.

An interesting question at this point is: how likely is the selfish miner to win these races? To answer this question, Christian Drecker has set up a measurement framework that examines how fast blocks, and transactions, propagate through the network.

The results are surprisingly in favor of selfish miners. It takes 4.5 seconds for a block to reach 50% of the miners. That's approximately an eternity in computer terms. That's plenty of time for a selfish miner to push his own block and win some races, especially if he makes his block smaller than average.

The selfish mining attack looks more and more lucrative as more data comes in.


comments powered by Disqus