0

Hello What is the difference between full node and pruned node? I prefer to be a pruned node due to the speed of the internet and free hard disk space.

Is pruned node useful or worthless? How much does a full node download and upload per month? Does it have to be on port 8333? I do not have access to this port.

2

2 Answers 2

2

A pruned node discards from persistent storage (disk, SSD) blocks for which it has no further use.

A pruned node therefore cannot help with the initial synchronisation of a new full-node.

A pruned node can pass on unconfirmed transactions in its mempool and, in the case of BIP-159 compliant software such as Bitcoin Core, the 288 blocks prior to, and including, their active chain-tip.

A pruned node downloads exactly the same amount of data per month as a fully-synchronised full-node. It probably uploads less since it retains less. Actual amounts probably depend on connectivity and levels of Bitcoin network activity (i.e I haven't measured this).


0
0

A bitcoin node have two main types of interactions with other nodes:

  • sending confirmed blocks, stored on blocks folder: to do it, specially in nodes syncing from scratch, the bitcoin must have all blocks stored on disk, pruned nodes does not have all blocks, so they may not be used for syncing from scratch. It can be controlled using -prune setting.
  • sending transactions, that can be retrieved using data in chainstate folder: the chainstate are the global state of blockchain that now have around 13GB, it can not be pruned and need to be loaded in the RAM to verify transactions, retrieve and propagate them. Can be partially controlled using -blocksonly setting.

These settings depend on the way you want to help the bitcoin network: If you want to serve nodes that do Initial block download or syncing from some days, you should not prune your node and you can use -blocksonly setting, that will reduce load and bandwidth, by not propagating transactions, only blocks. We can call this node a "archive node".

If you want to propagate transactions, latest 288 blocks, or use your node for mining, you should not use -blocksonly but you can set -prune to reduce the space of storing some historical blocks.

In my tests i used a non-pruned full node. The node transferred around 400GB/Month, but it was connected to 3 ISPs, Tor and I2P. I used bitcoin-cli getnettotals to check.

It does not have to be on port 8333, and it will not matter if the port are closed for inbound connections, the node will get less connections and will not be shown in bitnodes.io I also have no public port in IPv4, but i do have in IPv6, you can check if your IPv6 are firewalled or not. You can use Tor and I2P to have a public address too. Its possible to have a public address using a VPS (or another machine) that does have a public address, in this case you need a reverse tunnel to that machine, it can be made using SSH -R option. In this case you add -externalip=IP option to the public IP of the server, it will be used only for inbound connections, since its not routable for outbound (npr).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.