1

This is really Part 3 of this earlier question.

Given that the QT client is hard coded to never adjust difficulty more (or less than) a factor of 4...

  • What realistic scenario would cause the difficulty to decrease by a factor of 4?

If the hashrate were to decrease by a factor of 4, then that means current miners are trying to keep up with a difficulty that is incredibly hard given their relatively weak horsepower.

When network hashrate drops this way, I envision:

  1. Transaction confirmations will take a very long time
  2. The interval between blocks would get exceptionally long
  3. It will take a very long time until 2016 blocks are mined before the target is adjusted back.
  4. It is relatively easy for the attacker to turn on his hardware at the 2017th block and DOS the network again.

Bottom line, I doubt the -4 difficulty would ever be reached... but could be exploited for malicious purposes.

So assuming a big loss in mining power occurs:

  • How much horsepower must be added and then lost for a 4x difficulty to be realized?

  • How long will it take a transaction to be included in a block/confirmed (worst case)?

  • How long will it take for the chain to return itself to normal levels?

Finally,

  • Are the effects of a "high horsepower user" who intentionally switches on, then off a massive mining rig enough to disrupt Bitcoin network operations? To what end?

Disclaimer: I know that 4x is not the only disruption that can occur, since lesser magnitude attacks would be equally annoying but want to forecast worst case scenarios.

3

What realistic scenario would cause the difficulty to decrease by a factor of 4?

Most plausible I can think of would be a massive sustained power outage, like the 2003 Northeast blackout, covering an area with a heavy miner concentration.

How much horsepower must be added and then lost for a 4x difficulty to be realized?

To quadruple the difficulty, you'd need to increase the network hashing rate by 4x, so you'd need to dump in 3x the current network hashing power. But if someone has that much power to throw around, why bother with just a DOS when they could go for a 51% (or 75% in this case) attack and really screw with things? This isn't really a relevant concern.

How long will it take a transaction to be included in a block/confirmed (worst case)?

Worst case - never, same as currently.

Normal case - 1/4 hashing power would mean everything would run at approximately 1/4 speed, so you'd be looking at 40 minutes per block on average, but with potentially very large absolute variances.

How long will it take for the chain to return itself to normal levels?

Until the hashing power comes back online or until the next 2016 block allows the difficulty to correct itself. Assuming the 3/4s of the network got taken out right after an adjustment, it would be 2 months until correction. Unless the taking-out was something outright cataclysmic, the hashing power will come back long before that.

  • So by this logic, a weaker attacker could use 25% of horsepower to cause sporadic transaction delays every 2016 blocks? (or some variant of attack threshold?) – random65537 Mar 27 '13 at 13:43
  • @makerofthings7 - with 25% and no major disaster affecting the network, about the most they could do would be alternating their hashing power in an out of the network every other difficulty change to push the difficulty above the hashing rate during the off cycle. With 25% of the network, that would push the average block time to 13-ish minutes, from 10. – Compro01 Mar 27 '13 at 14:18
  • So the threat is linear with respect to horsepower? – random65537 Mar 27 '13 at 14:37
  • @makerofthings7 - Yes. – Compro01 Mar 27 '13 at 14:37

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.