0
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.
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 – 2018-02-16T21:56:23.760
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=netto 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. – Andrew Chow – 2018-02-16T22:28:04.653But 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 – 2018-02-17T01:29:06.967
There are more transactions than eventually end up in blocks, and there certainly used to be. Not many transactions actually get evicted. – Andrew Chow – 2018-02-17T03:30:56.593