<p>Most network changes are totally backward-compatible. When two Bitcoin nodes first contact each other, they tell each other the latest protocol version they support. They then use the <em>oldest</em> version of the two. In this way, even really old clients can connect to the network because all other nodes will switch to the old protocol version when talking to them.</p>

<p>Occasionally, it's necessary for all miners or (extremely rarely) all Bitcoin users to change some network rule at the same time to prevent the network from splitting in two. This is done by adding the change to the code, but only activating it at some particular time some weeks/months/years after the change is added. After the time has elapsed, most people will have upgraded to the new version of Bitcoin, and doing the change will cause minimal disruption. Instead of updating at a particular time, changes can sometimes also be activated when nodes detect via info inserted into the block chain that most other nodes have upgraded.</p>

CC BY-SA 3.0
2014-07-17T06:13:25.857Z
2014-07-17T06:13:25.857Z
theymos
<p>I've always wondered, how do devs developing on Bitcoin upgrade the system without affecting the live network? We typically see a site under maintenance when big companies revamp their site, but how does Bitcoin do it? </p>

<bitcoind>
how do devs upgrade bitcoin core without affecting the live active network?
Patoshi パトシ
# how do devs upgrade bitcoin core without affecting the live active network?

(Asked by: username_0 on 2014-07-17)

I've always wondered, how do devs developing on Bitcoin upgrade the system without affecting the live network? We typically see a site under maintenance when big companies revamp their site, but how does Bitcoin do it?

**Tags:** bitcoind


---

## 1 answers

### Answer by username_1 on 2014-07-17. Score: 2

Most network changes are totally backward-compatible. When two Bitcoin nodes first contact each other, they tell each other the latest protocol version they support. They then use the *oldest* version of the two. In this way, even really old clients can connect to the network because all other nodes will switch to the old protocol version when talking to them.

Occasionally, it's necessary for all miners or (extremely rarely) all Bitcoin users to change some network rule at the same time to prevent the network from splitting in two. This is done by adding the change to the code, but only activating it at some particular time some weeks/months/years after the change is added. After the time has elapsed, most people will have upgraded to the new version of Bitcoin, and doing the change will cause minimal disruption. Instead of updating at a particular time, changes can sometimes also be activated when nodes detect via info inserted into the block chain that most other nodes have upgraded.


---

