<p>The protocol messages on Bitcoin include a <a href="https://en.wikipedia.org/wiki/Magic_number_(programming)" rel="nofollow noreferrer"><em>magic number</em></a> to identify the network they belong to.</p>
<p>Bitcoin's magic values are described for example on the <a href="http://en.bitcoin.it/wiki/Protocol_documentation#Message_structure" rel="nofollow noreferrer">Protocol Documentation</a> page in the Bitcoin wiki:</p>
<p><a href="https://i.sstatic.net/EwJSN.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/EwJSN.png" alt="Screenshot of magic value table from linked page" /></a></p>
<p>This permits the corresponding nodes to immediately recognize whether they belong to the same network and disconnect if they do not.</p>

CC BY-SA 4.0
2022-01-22T17:17:22.587Z
2022-01-23T12:36:57.803Z
2022-01-23T12:36:57.803Z
Murch
<p>I have a question which may appear obvious but hopefully it’s not.</p>
<p>How do different Distributed Ledger Technologies (DLTs) and cryptocurrencies avoid network conflict?</p>
<p>I understand the distributed nature of the networks with nodes. But if you took a BTC node and had it try to connect to a BCH node, how is this conflict avoided? (BCH may not be a good example considering it’s a fork, then again it may be because of this.)</p>
<p>Is there a signature per coin on each block as a chain ID? Looking through the <code>AcceptBlock()</code> method doesn’t indicate it being the case.</p>
<p>Does it scan from block0 (genesis) for consistency to blockHeight?</p>
<p>I’ve customised an old version of BCH for playing with it, but want to update to the new code base (changing genesis and network IPs for discovery) but how is conflict avoided?</p>
<p>Hope this makes sense. Cheers.</p>

<network><blockchain-fork><peer-discovery>
How is network conflict avoided between chains?
LeosSire
# How is network conflict avoided between chains?

(Asked by: username_0 on 2022-01-22)

I have a question which may appear obvious but hopefully it’s not.

How do different Distributed Ledger Technologies (DLTs) and cryptocurrencies avoid network conflict?

I understand the distributed nature of the networks with nodes. But if you took a BTC node and had it try to connect to a BCH node, how is this conflict avoided? (BCH may not be a good example considering it’s a fork, then again it may be because of this.)

Is there a signature per coin on each block as a chain ID? Looking through the `AcceptBlock()` method doesn’t indicate it being the case.

Does it scan from block0 (genesis) for consistency to blockHeight?

I’ve customised an old version of BCH for playing with it, but want to update to the new code base (changing genesis and network IPs for discovery) but how is conflict avoided?

Hope this makes sense. Cheers.

**Tags:** network, blockchain-fork, peer-discovery


---

## 1 answers

### Answer by username_1 on 2022-01-22. Score: 6 | Accepted answer

The protocol messages on Bitcoin include a [*magic number*](https://en.wikipedia.org/wiki/Magic_number_(programming)) to identify the network they belong to.

Bitcoin's magic values are described for example on the [Protocol Documentation](http://en.bitcoin.it/wiki/Protocol_documentation#Message_structure) page in the Bitcoin wiki:

[![Screenshot of magic value table from linked page](https://i.sstatic.net/EwJSN.png)](https://i.sstatic.net/EwJSN.png)

This permits the corresponding nodes to immediately recognize whether they belong to the same network and disconnect if they do not.


---

