2

I am wondering whether a 51% attack would be simplified by being able to remotely crash miner nodes. Consider the following scenario:

  1. Malicious mining pool A controls 16% percent of the mining power and is capable to remotely crash other mining nodes or cut them off from the network.
  2. Mining pool A now decides to crash 70% of the other mining nodes, leaving it with more than 50% of the remaining mining power in the network.
  3. Can mining pool A now launch a 51% attack? If so, when will the difficulty be adjusted to account for the massively reduced mining power?

What is unclear to me here is the relationship between the massively reduced mining power, the adjusted difficulty and a 51% attack.

Mining pool A now controls 51% of the remaining mining power, but still has to mine blocks with a difficulty based on a way bigger network. So while a 51% attack might work eventually, the network is going to be jammed for a certain timeframe first. It is unclear to me how long that timeframe is?

1

Can mining pool A now launch a 51% attack? If so, when will the difficulty be adjusted to account for the massively reduced mining power?

The difficulty will be adjusted at the next block, unlike Bitcoin, which adjusts every 2016 blocks. (Or at least it used to. Unsure if that's still the case.)

However, they would have to find the PoW of the current block at the current difficulty. If they crashed 70% of the network, you have 30% of the hash power working on 100% of the difficulty, which is a factor of 3.33 too high. You'd expect the block time for the current block to be higher by the same factor. (I think. This assumes a linear relationship between difficulty and block time... )

Mining pool A now controls 51% of the remaining mining power, but still has to mine blocks with a difficulty based on a way bigger network.

Only for the current block. After that the difficulty adjustment algorithm will adjust things accordingly. (See makeDifficultyCalculator() in consensus.go.)

So while a 51% attack might work eventually, the network is going to be jammed for a certain timeframe first. It is unclear to me how long that timeframe is?

Current average block time => ~13.5 seconds

Using the above factor of 3.33 => 13.5 * 3.33 = ~45 seconds

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.