<blockquote>
<p><strong>If a fundamental bug is found in bitcoin</strong></p>
</blockquote>
<p>Bitcoin is mainly two things</p>
<ul>
<li><p>A set of Network protocols and associated rules by which Bitcoin wallets can interact with each other and by which mining software can interoperate with other bitcoin software.</p>
</li>
<li><p>A reference implementation of a Bitcoin wallet. This is the &quot;bitcoin core&quot; software application.</p>
</li>
</ul>
<h2>Network Protocol</h2>
<p>Exploitable weaknesses in the network protocols and rules can be fixed by a soft fork which changes or extends the protocols or rules.</p>
<h2>Software</h2>
<blockquote>
<p><strong>this software that only has one version is running for 10 years without even a bug?</strong></p>
</blockquote>
<p>See the <a href="https://bitcoin.org/en/version-history" rel="nofollow noreferrer">release notes</a> for bitcoin core</p>
<p>for example, the notes for 14.3 include</p>
<blockquote>
<p>Denial-of-Service vulnerability CVE-2018-17144 ——————————-</p>
<p>A denial-of-service vulnerability exploitable by miners has been discovered in Bitcoin Core versions 0.14.0 up to 0.16.2. It is recommended to upgrade any of the vulnerable versions to 0.14.3, 0.15.2 or 0.16.3 as soon as possible.</p>
</blockquote>
<p>Other implementations (e.g. Electrum) also have exploitable flaws discovered and fixed from time to time.</p>

CC BY-SA 4.0
2019-06-16T15:10:18.433Z
2019-06-16T15:10:18.433Z
2020-06-16T11:10:03.350Z
RedGrittyBrick
<p>It does not necessarily have to be a hard fork.</p>

<p>The only way to update or fix an issue in Bitcoin is to push out updated node software, with an update protocol definition. However, not all changes to the protocol result in a hardfork - many can be, and have been, achieved by way of softforks, which are "backwards compatible" in some ways, allowing nodes running certain previous versions to continue to connect to and participate in the network.</p>

<p>The value overflow incident mentioned in the comments is one such example of a 
soft fork performed to fix a bug. Segwit is another example of a soft fork, this time used to perform an upgrade. There have been many such events over the last 10 years, and we certainly aren't still running the origin Bitcoin code provided by Satoshi.</p>

CC BY-SA 4.0
2019-06-16T09:55:59.830Z
2019-06-16T09:55:59.830Z
Raghav Sood
<p>If a fundamental bug is found in bitcoin does that mean that the only way to patch it would be a hard fork? I'm confused at how this software that only has one version is running for 10 years without even a bug?</p>

CC BY-SA 4.0
2019-06-16T04:55:23.397Z
There've been lots of bugs, some of which are fixed via a softfork.
MCCCS
CC BY-SA 4.0
2019-06-16T06:37:12.683Z
Indeed, https://en.bitcoin.it/wiki/Value_overflow_incident describes such a fork that actually did happen in 2010.
Bolton Bailey
<bitcoin-core>
What if bitcoin has a bug?
foreyez
# What if bitcoin has a bug?

(Asked by: username_0 on 2019-06-16)

If a fundamental bug is found in bitcoin does that mean that the only way to patch it would be a hard fork? I'm confused at how this software that only has one version is running for 10 years without even a bug?

**Tags:** bitcoin-core

> **Comments:**
> **username_1**: There've been lots of bugs, some of which are fixed via a softfork.  
> **username_2**: Indeed, https://en.bitcoin.it/wiki/Value_overflow_incident describes such a fork that actually did happen in 2010.  

---

## 2 answers

### Answer by username_3 on 2019-06-16. Score: 4

> **If a fundamental bug is found in bitcoin**

Bitcoin is mainly two things

* A set of Network protocols and associated rules by which Bitcoin wallets can interact with each other and by which mining software can interoperate with other bitcoin software.
* A reference implementation of a Bitcoin wallet. This is the "bitcoin core" software application.

## Network Protocol

Exploitable weaknesses in the network protocols and rules can be fixed by a soft fork which changes or extends the protocols or rules.

## Software

> **this software that only has one version is running for 10 years without even a bug?**

See the [release notes](https://bitcoin.org/en/version-history) for bitcoin core

for example, the notes for 14.3 include

> Denial-of-Service vulnerability CVE-2018-17144 ——————————-
>
> A denial-of-service vulnerability exploitable by miners has been discovered in Bitcoin Core versions 0.14.0 up to 0.16.2. It is recommended to upgrade any of the vulnerable versions to 0.14.3, 0.15.2 or 0.16.3 as soon as possible.

Other implementations (e.g. Electrum) also have exploitable flaws discovered and fixed from time to time.


---

### Answer by username_4 on 2019-06-16. Score: 2

It does not necessarily have to be a hard fork.

The only way to update or fix an issue in Bitcoin is to push out updated node software, with an update protocol definition. However, not all changes to the protocol result in a hardfork - many can be, and have been, achieved by way of softforks, which are "backwards compatible" in some ways, allowing nodes running certain previous versions to continue to connect to and participate in the network.

The value overflow incident mentioned in the comments is one such example of a
soft fork performed to fix a bug. Segwit is another example of a soft fork, this time used to perform an upgrade. There have been many such events over the last 10 years, and we certainly aren't still running the origin Bitcoin code provided by Satoshi.


---

