<p>A hash that can satisfy the PoW can <em>always</em> be found, the only determinant is time. This is identical to coin flipping - you can always flip a head, you just have to keep flipping until you do.</p>

<p>On average it takes ten minutes to find a hash, but let's consider something very dramatic has happened: let's say the Chinese have cut all links to the outside world, the Americans have successfully banned all Bitcoin activity, and the Europeans have a topsekrit piece of code that successfully intercepts and scrambles anything uploaded from one of their miners. Let's say that all of that happened inside the time it takes to mine one block, and let's say that for whatever reason there is now one single, solitary, functional miner anywhere on the planet, it's a Raspberry Pi, and it'll take Eleventy years to mine the next block. And a hundredteen times longer to reach the next difficulty adjustment. I think you'll agree that this is a state in which miners couldn't mine blocks. What then?</p>

<p>The most obvious step is a hard fork that resets the difficulty for that one miner. The miner will obviously agree; those using the blockchain would rather have that fork than wait in hope too. </p>

CC BY-SA 4.0
2019-02-05T11:00:50.597Z
I wouldn’t say always. It’s possible that there’s no hash which satisfies a specific target. We just assume that’s not realistic.
Claris
CC BY-SA 4.0
2019-02-05T15:12:12.577Z
Do you mean there's possibly no preimage which can hash to a specific target? If so I'd be intrigued to know what research has been done on this. I ask this because as your statement stands ("no hash..."), target - 1 as a hash will satisfy a target for all targets equal to or greater than 1.
Alistair Mann
CC BY-SA 4.0
2019-02-05T18:13:16.787Z
@Anonymous That doesn't sound possible to me. The target is just a number with the same number of bits as the hash itself, so there's always a hash <= target.
Jannes
CC BY-SA 4.0
2019-11-02T13:59:07.627Z
@Jannes: The question is whether any valid block header (including the hash of a given previous block) has a hash that is less than the target.  It is conceivable that all of them have hash values that are too large.  We believe it is so unlikely that it will never happen, but the unpredictable nature of the hash algorithm means that AFAIK we do not know any way to *prove* that it cannot happen.  On the other hand, we also do not know any way to prove that it *can* happen.
Nate Eldredge
CC BY-SA 4.0
2019-11-05T12:48:55.327Z
@NateEldredge I don't see where Alistair restricted "can always be found" to one specific blockheader. Obviously miners run through all possible nonces all the time without finding a suitable hash. Then they change some other bits and try again. His point seems to me: miners can always keep trying and will eventually always find one. Also confirmed by his comment "Do you mean there's possibly no preimage which can hash to a specific target?" The original question is also alluding to ending up in a situation where it's impossible to ever find any new blocks.
Jannes
CC BY-SA 4.0
2019-02-05T10:05:32.143Z
2019-02-05T10:05:32.143Z
Alistair Mann
<p>The difficulty is set according to the total hash rate of the network.</p>

<p>Is there a possibility in which miners just can't validate blocks (will not find hash that will satisfy the POW)?</p>

<p>I understand the probability.</p>

<p>there's a very small percent where they couldn't do it, is that assumption wrong?</p>

<p>If a situation like that is possible, what will be the solution?</p>

<p>As far as I understand, there will be an adjustment of the POW, decrease the difficulty, until somebody will find block?</p>

<p>I'm trying to understand if a potential risk to the blockchain exists at that point.</p>

CC BY-SA 4.0
2019-02-05T06:58:51.497Z
Unclear what you’re asking. What would happen for them to not be “able” to “validate” blocks?
Claris
CC BY-SA 4.0
2019-02-05T07:23:00.503Z
Just will not find hash that will satisfy the POW.
user3652172
CC BY-SA 4.0
2019-02-05T07:56:46.603Z
Then they need to hash a bit longer.
Pieter Wuille
CC BY-SA 4.0
2019-02-08T20:15:01.620Z
Clarification for the original question: Are you talking about a situation where miners are unable to mine a block *within a reasonable time* (but if they keep at it they'll eventually get one) or a situation where it was actually **impossible** to ever find a valid hash for any block a miner could create?
Vecna
<mining-theory>
What are the steps to overcome a state in which miners couldn't mine blocks?
user3652172
# What are the steps to overcome a state in which miners couldn't mine blocks?

(Asked by: username_0 on 2019-02-05)

The difficulty is set according to the total hash rate of the network.

Is there a possibility in which miners just can't validate blocks (will not find hash that will satisfy the POW)?

I understand the probability.

there's a very small percent where they couldn't do it, is that assumption wrong?

If a situation like that is possible, what will be the solution?

As far as I understand, there will be an adjustment of the POW, decrease the difficulty, until somebody will find block?

I'm trying to understand if a potential risk to the blockchain exists at that point.

**Tags:** mining-theory

> **Comments:**
> **username_1**: Unclear what you’re asking. What would happen for them to not be “able” to “validate” blocks?  
> **username_0**: Just will not find hash that will satisfy the POW.  
> **username_2**: Then they need to hash a bit longer.  
> **username_3**: Clarification for the original question: Are you talking about a situation where miners are unable to mine a block *within a reasonable time* (but if they keep at it they'll eventually get one) or a situation where it was actually **impossible** to ever find a valid hash for any block a miner could create?  

---

## 1 answers

### Answer by username_4 on 2019-02-05. Score: 1

A hash that can satisfy the PoW can *always* be found, the only determinant is time. This is identical to coin flipping - you can always flip a head, you just have to keep flipping until you do.

On average it takes ten minutes to find a hash, but let's consider something very dramatic has happened: let's say the Chinese have cut all links to the outside world, the Americans have successfully banned all Bitcoin activity, and the Europeans have a topsekrit piece of code that successfully intercepts and scrambles anything uploaded from one of their miners. Let's say that all of that happened inside the time it takes to mine one block, and let's say that for whatever reason there is now one single, solitary, functional miner anywhere on the planet, it's a Raspberry Pi, and it'll take Eleventy years to mine the next block. And a hundredteen times longer to reach the next difficulty adjustment. I think you'll agree that this is a state in which miners couldn't mine blocks. What then?

The most obvious step is a hard fork that resets the difficulty for that one miner. The miner will obviously agree; those using the blockchain would rather have that fork than wait in hope too.

> **Comments:**
> **username_1**: I wouldn’t say always. It’s possible that there’s no hash which satisfies a specific target. We just assume that’s not realistic.  
> **username_4**: Do you mean there's possibly no preimage which can hash to a specific target? If so I'd be intrigued to know what research has been done on this. I ask this because as your statement stands ("no hash..."), target - 1 as a hash will satisfy a target for all targets equal to or greater than 1.  
> **username_5**: @Anonymous That doesn't sound possible to me. The target is just a number with the same number of bits as the hash itself, so there's always a hash <= target.  
> **username_6**: @username_5: The question is whether any valid block header (including the hash of a given previous block) has a hash that is less than the target.  It is conceivable that all of them have hash values that are too large.  We believe it is so unlikely that it will never happen, but the unpredictable nature of the hash algorithm means that AFAIK we do not know any way to *prove* that it cannot happen.  On the other hand, we also do not know any way to prove that it *can* happen.  
> **username_5**: @username_6 I don't see where username_4 restricted "can always be found" to one specific blockheader. Obviously miners run through all possible nonces all the time without finding a suitable hash. Then they change some other bits and try again. His point seems to me: miners can always keep trying and will eventually always find one. Also confirmed by his comment "Do you mean there's possibly no preimage which can hash to a specific target?" The original question is also alluding to ending up in a situation where it's impossible to ever find any new blocks.  

---

