<blockquote>
  <p>is it a great idea to use IPFS for blockchain communication? </p>
</blockquote>

<p>Bitcoin nodes form a P2P network, using TCP to communicate bitcoin-specific messages between one another. By using a self-defined protocol, the Bitcoin network's communications can be optimized and made robust against attacks, while not having rely on any external dependencies to do so. </p>

<blockquote>
  <p>Since IPFS can transfer large amount of data, then why not sending Blockchain data through it?</p>
</blockquote>

<p>As far as I understand it, IPFS is designed to work as a distributed file system. In this regard, it may be a suitable choice for a user looking to download the blockchain during the bootstrapping phase of creating a new Bitcoin node, as an alternative to downloading the same files from the Bitcoin network itself. Similarly, there are copies of the blockchain available on the BitTorrent network. </p>

<p>Note that in most cases, <strong>it is safest to download the blockchain from the Bitcoin network itself</strong>, to ensure you receive an authentic copy, with no malicious files or code inserted into it.  </p>

<blockquote>
  <p>Bitcoin uses LevelDB to store data. Does that mean that there is a central server / authority where LevelDB is running the entire chain?</p>
</blockquote>

<p>No, there is no central server or authority in the Bitcoin network. Each node builds and maintains its own database, so that it can independently validate the current state of the network. </p>

CC BY-SA 4.0
2018-12-31T20:36:27.660Z
2018-12-31T20:36:27.660Z
chytrik
<p>In terms of Bitcoin's communication protocol, how does Bitcoin allow nodes to communicate between each other?</p>

<p>Is Bitcoin's communication protocol the same as <a href="https://ipfs.io/" rel="nofollow noreferrer">IPFS(InterPlanetary File System)</a> and if not, is it a great idea to use IPFS for blockchain communication? Since IPFS can transfer large amount of data, then why not sending Blockchain data through it?</p>

<p>Second, I found out on <a href="https://bitcoin.stackexchange.com/questions/48959/why-is-bitcoin-core-using-leveldb-instead-of-redis-or-sqlite">Stack Exchange</a> that Bitcoin uses LevelDB to store data. Does that mean that there is a central server / authority where LevelDB is running the entire chain? If yes, how does that make Bitcoin decentralized? If not, then is LevelDB run on every node?</p>

<bitcoin-core><decentralization><leveldb>
How does Bitcoin use its communication protocol and its database model?
Iulian
# How does Bitcoin use its communication protocol and its database model?

(Asked by: username_0 on 2018-12-31)

In terms of Bitcoin's communication protocol, how does Bitcoin allow nodes to communicate between each other?

Is Bitcoin's communication protocol the same as [IPFS(InterPlanetary File System)](https://ipfs.io/) and if not, is it a great idea to use IPFS for blockchain communication? Since IPFS can transfer large amount of data, then why not sending Blockchain data through it?

Second, I found out on [Stack Exchange](https://bitcoin.stackexchange.com/questions/48959/why-is-bitcoin-core-using-leveldb-instead-of-redis-or-sqlite) that Bitcoin uses LevelDB to store data. Does that mean that there is a central server / authority where LevelDB is running the entire chain? If yes, how does that make Bitcoin decentralized? If not, then is LevelDB run on every node?

**Tags:** bitcoin-core, decentralization, leveldb


---

## 1 answers

### Answer by username_1 on 2018-12-31. Score: 2 | Accepted answer

> is it a great idea to use IPFS for blockchain communication?

Bitcoin nodes form a P2P network, using TCP to communicate bitcoin-specific messages between one another. By using a self-defined protocol, the Bitcoin network's communications can be optimized and made robust against attacks, while not having rely on any external dependencies to do so.

> Since IPFS can transfer large amount of data, then why not sending Blockchain data through it?

As far as I understand it, IPFS is designed to work as a distributed file system. In this regard, it may be a suitable choice for a user looking to download the blockchain during the bootstrapping phase of creating a new Bitcoin node, as an alternative to downloading the same files from the Bitcoin network itself. Similarly, there are copies of the blockchain available on the BitTorrent network.

Note that in most cases, **it is safest to download the blockchain from the Bitcoin network itself**, to ensure you receive an authentic copy, with no malicious files or code inserted into it.

> Bitcoin uses LevelDB to store data. Does that mean that there is a central server / authority where LevelDB is running the entire chain?

No, there is no central server or authority in the Bitcoin network. Each node builds and maintains its own database, so that it can independently validate the current state of the network.


---

