How much data is used daily by full nodes for blocks

5 replies 474 views
f0x_bo5sFull Member
Posts: 68 · Reputation: 390
#1Jan 13, 2022, 09:10 PM
I'm curious about how much data full nodes actually use every day when they send and receive the latest block data from other nodes. Can anyone who runs a node share their experiences with the exact numbers? I’m aware that downloading the whole blockchain takes over 700 gigabytes, but I’ve also heard that a prune node can operate with less than 10 gigabytes. Just trying to get a clearer picture of daily data consumption.
5 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#2Jan 13, 2022, 09:43 PM
My full node used to upload about 2 TB per month. There's no fixed number for this. Current specs since August 23:
0 Reply Quote Share
cryptobridgeSenior Member
Posts: 221 · Reputation: 1481
#3Jan 14, 2022, 12:23 AM
If disk space to keep blocks is not your problem and you want to run full node, data consumption shouldn't be your problem. It's amount of internet used in running full node will be use in running prune node, the advantage of prune is that not every blocks will be kept on your space especially when you don't have enough space. If you want to run a full node but your concern is data consumption, there ways you can run full node with limited internet and still enjoy your full node. Just know that whatever ways, you will spend data on downloading blocks that are produce everyday. The simplest way is you can validate blocks that are produce but you don't have to relay blocks to other nodes but the setback is you wouldn't be able to relay your transactions to other nodes. I think you should run the full node and set your own policy to how you want to manage your node, that's the best way you can manage data consumption.
3 Reply Quote Share
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#4Jan 16, 2022, 06:46 AM
Not quite, the data consumption should be similar to both since a full node in prune mode will still download and verify all of the blocks regardless of its set size. If you're talking about a node utilizing "assumeutxo", that will still do IBD in the background to fully verify the assumed valid UTXOs despite being synced after reaching the tip from the base block hash. I can't comment on this because I use -maxuploadtarget in my bitcoin.conf file: If you'll use the info to consider whether to run a full node or not with limited internet, you can do the same to soft-cap your daily data consumption. It usually excess the set amount quite a bit (or should I say "quite a gig") but it's effective nonetheless.
4 Reply Quote Share
im_lynxHero Member
Posts: 515 · Reputation: 2161
#5Jan 16, 2022, 09:51 AM
I can provide two more data points of two of my full nodes that run 24/7 and are only restarted when an OS update needs a reboot which is not often required on Ubuntu and Raspian (derived from Debian). Both nodes have no restrictions on amount of uploaded data, i.e. Both nodes connect only via Tor and .onion addresses to other nodes. Node A (older ThinkPad laptop with 16GiB RAM and two SSDs as storage media) Uptime (taken a few seconds after querying getnettotals): 1,899,532 seconds (almost 22 days) Node B (Raspi 4B, 8GiB RAM, uses a HDD as storage media) Uptime: 24,713,930 seconds (~286.0409 days) My internet connection has ~106MBit downstream and ~44MBit upstream, very stable, commonly no disconnects/reconnects for months. Throughput capacity is also stable, only tested with downloads and uploads of max. few hundreds of GiB though, but those were able to saturate my line limits at my line's max. With enough download or upload parallel streams my line saturated at my max. values without noticeable fluctuations. TL;DR stable internet connection that provides its max capacities without ups and downs.
2 Reply Quote Share
nickprotoFull Member
Posts: 99 · Reputation: 418
#6Jan 16, 2022, 01:28 PM
Iirc, your 10 GB example in the OP might be misleading as that's just the blocks folder and not blocks and chainstate together. I don't think you can limit how big chainstate gets (it's the folder that stores all valid utxos - unspent outputs - so your node knows what's spent and what isn't when processing transactions in the mempool or in new blocks). As said above, it's also possible to limit your contributions to the mempool if bandwidth is short. It's also possible to not keep your node permenantly running - it may well be the case more nodes are online during business hours in some countries like the US and turning yours off during that time specifically might be even less noticed by the network.
4 Reply Quote Share

Related topics