<ul>
<li>Receiving transactions from other nodes</li>
<li>Sending transactions to other nodes</li>
<li>Sending the entire blockchain to other nodes so that they can sync</li>
</ul>

<p>Note that with compact blocks, block relay does not consume nearly as much bandwidth as it used to. Compact blocks allow blocks to be relayed with way less data. The bulk of a node's bandwidth is taken up by transaction relay.</p>

CC BY-SA 3.0
2018-02-16T21:56:23.760Z
I guess I was including all those things in sending and receiving "blocks" since they're are mostly just collections of transactions. But anyways, there are absolutely more things going on than sending and receiving transactions and blocks - I'd like to understand what they are. It would also be helpful to know what proportion of the bandwidth each of these things take up (if you know). Bandwidth usage is many times higher than that required to receive and then send 1 full block of data per block, and I'd like to understand why.
B T
CC BY-SA 3.0
2018-02-16T22:28:04.653Z
There are more transactions being broadcast than fit in a full block. Additionally each one is typically relayed to each of the other nodes you are connected to. If you want to see exactly what your node is sending and receiving, and exactly how much data that consumes, you can add `debug=net` to your bitcoin.conf to print network debugging messages to the debug.log file. That will tell you what messages were send and received, what node they are to and from, and the exact size of the message in bytes.
Ava Chow
CC BY-SA 3.0
2018-02-17T01:29:06.967Z
But there aren't significantly more transactions being broadcast than eventually end up in blocks right? How many transactions generally get evicted from the mempool? Do nodes retransmit transactions they don't add to their own mempool?
B T
CC BY-SA 3.0
2018-02-17T03:30:56.593Z
There are more transactions than eventually end up in blocks, and there certainly used to be. Not many transactions actually get evicted.
Ava Chow
CC BY-SA 3.0
2018-02-16T06:08:26.483Z
2018-02-16T06:08:26.483Z
Ava Chow
<p>A bitcoin full-node uses bandwidth to at least:</p>

<ul>
<li>Receive each block</li>
<li>Send each block to other nodes</li>
</ul>

<p>What other major components of bandwidth usage are there for a bitcoin full node in early 2018, and what proportion of the bandwidth usage does each take up?
Bandwidth usage is many times higher than that required to receive and then send 1 full block of data per block, and I'd like to understand why.</p>

<bitcoind><full-node>
What are the major components of a bitcoin full node's bandwidth usage?
B T
# What are the major components of a bitcoin full node's bandwidth usage?

(Asked by: username_0 on 2018-02-16)

A bitcoin full-node uses bandwidth to at least:

* Receive each block
* Send each block to other nodes

What other major components of bandwidth usage are there for a bitcoin full node in early 2018, and what proportion of the bandwidth usage does each take up?
Bandwidth usage is many times higher than that required to receive and then send 1 full block of data per block, and I'd like to understand why.

**Tags:** bitcoind, full-node


---

## 1 answers

### Answer by username_1 on 2018-02-16. Score: 2

* Receiving transactions from other nodes
* Sending transactions to other nodes
* Sending the entire blockchain to other nodes so that they can sync

Note that with compact blocks, block relay does not consume nearly as much bandwidth as it used to. Compact blocks allow blocks to be relayed with way less data. The bulk of a node's bandwidth is taken up by transaction relay.

> **Comments:**
> **username_0**: I guess I was including all those things in sending and receiving "blocks" since they're are mostly just collections of transactions. But anyways, there are absolutely more things going on than sending and receiving transactions and blocks - I'd like to understand what they are. It would also be helpful to know what proportion of the bandwidth each of these things take up (if you know). Bandwidth usage is many times higher than that required to receive and then send 1 full block of data per block, and I'd like to understand why.  
> **username_1**: There are more transactions being broadcast than fit in a full block. Additionally each one is typically relayed to each of the other nodes you are connected to. If you want to see exactly what your node is sending and receiving, and exactly how much data that consumes, you can add `debug=net` to your bitcoin.conf to print network debugging messages to the debug.log file. That will tell you what messages were send and received, what node they are to and from, and the exact size of the message in bytes.  
> **username_0**: But there aren't significantly more transactions being broadcast than eventually end up in blocks right? How many transactions generally get evicted from the mempool? Do nodes retransmit transactions they don't add to their own mempool?  
> **username_1**: There are more transactions than eventually end up in blocks, and there certainly used to be. Not many transactions actually get evicted.  

---

