user90940: I had a basic question about Bitcoin mining. I understand that as the bitcoin difficulty adjustment becomes harder the hash output will require more 0s in the beginning of the hash. Is it theoretically possible that the Bitcoin difficulty adjustment would be so large that the hash output would just be all 0s? I know this is theoretical bit I'm just curious.

user90088: The retargeting every 2016 blocks is computed as follows:

previous_target * (T2-T1) / (20160 minutes)

Where:

T2: timestamp of previous block
T1: timestamp of block at current height - 2016
Target adjustment bounded to factor 4

Ignoring the target adjustment limit: For the resulting target to be zero, T2-T1 would need to equal zero. That would require an infinite amount of hash-rate. Therefore we can approach your scenario, but never reach it.

user63872: 
I understand that as the bitcoin difficulty adjustment becomes harder the hash output will require more 0s in the beginning of the hash.

This is slightly incorrect: a higher difficulty will require a valid block hash to have more leading zeros, but validity is not determined by counting the number of zeros. Rather, it is determined by comparing the value of the hash to the target (as defined by the network difficulty). 
In other words: a difficulty adjustment may lower the target, but a valid hash post-adjustment could still have the same number of leading zeros as a valid hash pre-adjustment, despite the target being lower.  

To dig in a little deeper, lets consider what the lowest target could be.This question contains some relevant info, as does this one, and this one.
Quoting from those answers:
difficulty (D) = hashrate / (2^256 / max_target / intended_time_per_block)
               = hashrate / (2^256 / (2^208*65535) / 600)
               = hashrate / (2^48 / 65535 / 600)
               = hashrate / 7158388.055

(where hashrate is expressed in hashes/s)
The target (T) is defined by:
D = Tmax/T

where Tmax is: 2^224
Rearranging and combining these formulae, we find:
T = Tmax / D
T = Tmax / (hashrate/7158388.055)

So we can see that the lowest possible target would be the result of an infinite hashrate, which of course is not possible. But nonetheless, as hashrate approaches infinity, the target would asymptotically approach zero (but being an asymptote, it would never reach it).

90940: <p>I had a basic question about Bitcoin mining. I understand that as the bitcoin difficulty adjustment becomes harder the hash output will require more 0s in the beginning of the hash. Is it theoretically possible that the Bitcoin difficulty adjustment would be so large that the hash output would just be all 0s? I know this is theoretical bit I'm just curious.</p>
 90088: <p>The retargeting every 2016 blocks is computed as follows:</p>

<ul>
<li><code>previous_target * (T2-T1) / (20160 minutes)</code></li>
</ul>

<p>Where:</p>

<ul>
<li>T2: timestamp of previous block</li>
<li>T1: timestamp of block at <code>current height - 2016</code></li>
<li>Target adjustment bounded to factor 4</li>
</ul>

<p>Ignoring the target adjustment limit: For the resulting target to be zero, <code>T2-T1</code> would need to equal zero. That would require an infinite amount of hash-rate. Therefore we can approach your scenario, but never reach it.</p>
 63872: <blockquote>
  <p>I understand that as the bitcoin difficulty adjustment becomes harder the hash output will require more 0s in the beginning of the hash.</p>
</blockquote>

<p>This is slightly incorrect: a higher difficulty <em>will</em> require a valid block hash to have more leading zeros, but validity is <em>not</em> determined by counting the number of zeros. Rather, it is determined by comparing the value of the hash to the target (as defined by the network difficulty). </p>

<p>In other words: a difficulty adjustment may lower the target, but a valid hash post-adjustment could still have the same number of leading zeros as a valid hash pre-adjustment, despite the target being lower.  </p>

<hr>

<p>To dig in a little deeper, lets consider what the lowest target could be.<a href="https://bitcoin.stackexchange.com/questions/23099/what-does-the-mining-difficulty-number-really-mean/23108#23108">This question contains some relevant info</a>, as <a href="https://bitcoin.stackexchange.com/questions/5556/relationship-between-hash-rate-and-difficulty">does this one,</a> and <a href="https://bitcoin.stackexchange.com/questions/8806/what-is-difficulty-and-how-it-relates-to-target/8811#8811">this one</a>.</p>

<p>Quoting from those answers:</p>

<pre><code>difficulty (D) = hashrate / (2^256 / max_target / intended_time_per_block)
               = hashrate / (2^256 / (2^208*65535) / 600)
               = hashrate / (2^48 / 65535 / 600)
               = hashrate / 7158388.055
</code></pre>

<p>(where hashrate is expressed in hashes/s)</p>

<p>The target (T) is defined by:</p>

<pre><code>D = Tmax/T
</code></pre>

<p>where Tmax is: 2^224</p>

<p>Rearranging and combining these formulae, we find:</p>

<pre><code>T = Tmax / D
T = Tmax / (hashrate/7158388.055)
</code></pre>

<p>So we can see that the lowest possible target would be the result of an infinite hashrate, which of course is not possible. But nonetheless, as hashrate approaches infinity, the target would asymptotically approach zero (but being an asymptote, it would never reach it).</p>
