<p>Y2038P was about signed integers.</p>
<p>In Bitcoin, <a href="https://github.com/bitcoin/bitcoin/blob/72d6469ab4f6db9570e29a901f021178f110ca44/src/primitives/block.h#L27" rel="nofollow noreferrer">block time is an unsigned integer</a>, such case doesn't correspond to a Y2038P, but <em>a Y2107P</em>.</p>
<p>Thus the numbers are loosely these:</p>
<p><strong>2^32 / 60 / 60 / 24 / 365.25 ~= 136;<br />
1970 + 136 = 2106</strong></p>
<p>instead of these:</p>
<p><del>2^32 / 60 / 60 / 24 / 365.25 / 2 ~= 68;<br />
1970 + 68 = 2038</del></p>
<p>Because we will be dead by 2106, it's not current developers task to worry about.</p>

CC BY-SA 4.0
2022-06-29T06:56:50.783Z
2022-06-29T06:56:50.783Z
Mercedes
<p>I've heard about <a href="https://en.wikipedia.org/wiki/Year_2038_problem" rel="nofollow noreferrer">year 2038 problem</a> and I'm worried <a href="https://en.bitcoin.it/wiki/Block_hashing_algorithm" rel="nofollow noreferrer">I've read</a> about <a href="https://github.com/bitcoin/bitcoin/blob/72d6469ab4f6db9570e29a901f021178f110ca44/src/primitives/block.h#L27" rel="nofollow noreferrer">Bitcoin measuring time with 32 bits</a>, why aren't developers worried about Y2038P only 15 years away?</p>

<bitcoin-core><block>
Does current Bitcoin break in 2038?
Mercedes
# Does current Bitcoin break in 2038?

(Asked by: username_0 on 2022-06-29)

I've heard about [year 2038 problem](https://en.wikipedia.org/wiki/Year_2038_problem) and I'm worried [I've read](https://en.bitcoin.it/wiki/Block_hashing_algorithm) about [Bitcoin measuring time with 32 bits](https://github.com/bitcoin/bitcoin/blob/72d6469ab4f6db9570e29a901f021178f110ca44/src/primitives/block.h#L27), why aren't developers worried about Y2038P only 15 years away?

**Tags:** bitcoin-core, block


---

## 1 answers

### Answer by username_0 on 2022-06-29. Score: 2

Y2038P was about signed integers.

In Bitcoin, [block time is an unsigned integer](https://github.com/bitcoin/bitcoin/blob/72d6469ab4f6db9570e29a901f021178f110ca44/src/primitives/block.h#L27), such case doesn't correspond to a Y2038P, but *a Y2107P*.

Thus the numbers are loosely these:

**2^32 / 60 / 60 / 24 / 365.25 ~= 136;  
1970 + 136 = 2106**

instead of these:

~~2^32 / 60 / 60 / 24 / 365.25 / 2 ~= 68;  
1970 + 68 = 2038~~

Because we will be dead by 2106, it's not current developers task to worry about.


---

