<h3>Peer (Node)</h3>
<p>A node is a peer in a peer-to-peer network. The idea here is that all peers have the same role and responsibilities. Their roles are not differentiated.</p>
<p><a href="https://i.sstatic.net/k6t7fdb8.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/k6t7fdb8.png" alt="peer-to-peer" /></a><br />
<sup><a href="https://en.wikipedia.org/wiki/Peer-to-peer" rel="nofollow noreferrer">Source</a></sup></p>
<h3>Client</h3>
<p>A client typically is a type of participant or role in a distributed application structure called <a href="https://en.wikipedia.org/wiki/Client%E2%80%93server_model" rel="nofollow noreferrer">client-server</a>. Clients communicate with servers and not with other clients.</p>
<p><a href="https://i.sstatic.net/DRArml4E.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/DRArml4E.png" alt="client-server" /></a><br />
<sup><a href="https://en.wikipedia.org/wiki/Client%E2%80%93server_model" rel="nofollow noreferrer">Source</a></sup></p>
<p><strong>Servers</strong> primarily communicate with clients and not with other servers. When servers communicate with other servers they might use a different protocol (e.g. SMTP instead of IMAP/POP) or otherwise act as a client instead of as a server in that relationship.</p>
<hr />
<h3>Bitcoin</h3>
<p>The Bitcoin network was designed as a peer-to-peer network. Not as a client-server network.</p>
<h3>Bitcoin core</h3>
<p>Strictly speaking, calling a program such as <code>bitcoin-qt</code> a <em>client</em> is misusing client-server terminology for <a href="https://en.wikipedia.org/wiki/Peer-to-peer" rel="nofollow noreferrer">peer-to-peer</a> distributed-application structure.</p>
<p><code>bitcoind</code> is a server (for the RPC API) but note that <a href="https://bitcoin.stackexchange.com/a/111683/13866">bitcoin-qt isn't a client for bitcoind at present</a>.</p>
<p><code>bitcoind</code> and <code>bitcoin-qt</code> are both <em>nodes</em> or <em>peers</em> with respect to the peer-to-peer Bitcoin network protocol. Both are servers (not clients) with respect to the network-accessible client-server RPC API. <code>bitcoin-cli</code> is a client for that.</p>
<p>See <a href="https://bitcoin.stackexchange.com/q/70081/13866">related question about constituent programs of Bitcoin Core</a></p>

CC BY-SA 4.0
2024-08-16T15:32:51.590Z
I agree that in a strict sense, nodes in a P2P system shouldn't be referred to as "clients" (due to confusion with the meaning that term has in client-server architecture), but it does appear to be a common name regardless. For example, just see the name of this article: https://en.wikipedia.org/wiki/Comparison_of_BitTorrent_clients
Pieter Wuille
CC BY-SA 4.0
2024-08-16T15:22:54.417Z
2024-08-17T10:04:21.790Z
2024-08-17T10:04:21.790Z
RedGrittyBrick
<p>People often refer to some software as a Bitcoin client.</p>
<p>People often refer to Bitcoin nodes.</p>
<p>People sometimes talk about connections to peers.</p>
<p>What are these things? How do they differ? What is the right term?</p>

<terminology>
What are Bitcoin clients, servers, nodes and peers
RedGrittyBrick
# What are Bitcoin clients, servers, nodes and peers

(Asked by: username_0 on 2024-08-16)

People often refer to some software as a Bitcoin client.

People often refer to Bitcoin nodes.

People sometimes talk about connections to peers.

What are these things? How do they differ? What is the right term?

**Tags:** terminology


---

## 1 answers

### Answer by username_0 on 2024-08-16. Score: 0

### Peer (Node)

A node is a peer in a peer-to-peer network. The idea here is that all peers have the same role and responsibilities. Their roles are not differentiated.

[![peer-to-peer](https://i.sstatic.net/k6t7fdb8.png)](https://i.sstatic.net/k6t7fdb8.png)  
[Source](https://en.wikipedia.org/wiki/Peer-to-peer)

### Client

A client typically is a type of participant or role in a distributed application structure called [client-server](https://en.wikipedia.org/wiki/Client%E2%80%93server_model). Clients communicate with servers and not with other clients.

[![client-server](https://i.sstatic.net/DRArml4E.png)](https://i.sstatic.net/DRArml4E.png)  
[Source](https://en.wikipedia.org/wiki/Client%E2%80%93server_model)

**Servers** primarily communicate with clients and not with other servers. When servers communicate with other servers they might use a different protocol (e.g. SMTP instead of IMAP/POP) or otherwise act as a client instead of as a server in that relationship.

---

### Bitcoin

The Bitcoin network was designed as a peer-to-peer network. Not as a client-server network.

### Bitcoin core

Strictly speaking, calling a program such as `bitcoin-qt` a *client* is misusing client-server terminology for [peer-to-peer](https://en.wikipedia.org/wiki/Peer-to-peer) distributed-application structure.

`bitcoind` is a server (for the RPC API) but note that [bitcoin-qt isn't a client for bitcoind at present](https://bitcoin.stackexchange.com/a/111683/13866).

`bitcoind` and `bitcoin-qt` are both *nodes* or *peers* with respect to the peer-to-peer Bitcoin network protocol. Both are servers (not clients) with respect to the network-accessible client-server RPC API. `bitcoin-cli` is a client for that.

See [related question about constituent programs of Bitcoin Core](https://bitcoin.stackexchange.com/q/70081/13866)

> **Comments:**
> **username_1**: I agree that in a strict sense, nodes in a P2P system shouldn't be referred to as "clients" (due to confusion with the meaning that term has in client-server architecture), but it does appear to be a common name regardless. For example, just see the name of this article: https://en.wikipedia.org/wiki/Comparison_of_BitTorrent_clients  

---

