<p>A pruned node discards from persistent storage (disk, SSD) blocks for which it has no further use.</p>
<p>A pruned node therefore cannot help with the initial synchronisation of a new full-node.</p>
<p>A pruned node can pass on unconfirmed transactions in its mempool and, in the case of <a href="https://github.com/bitcoin/bips/blob/90312d2d67c0fea7497dad7d4a8b416df8345602/bip-0159.mediawiki" rel="nofollow noreferrer">BIP-159 compliant</a> software such as Bitcoin Core, the 288 blocks prior to, and including, their active chain-tip.</p>
<p>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).</p>
<hr />
<ul>
<li><a href="https://bitcoin.stackexchange.com/q/93645/13866">Change port 8333 to other. (Running multiple docker instances)</a></li>
<li><a href="https://bitcoin.stackexchange.com/q/1413/13866">Bitcoin communication with non-standard ports</a></li>
</ul>

CC BY-SA 4.0
2024-07-31T09:07:53.707Z
2024-08-01T14:50:01.580Z
2024-08-01T14:50:01.580Z
RedGrittyBrick
<p>A bitcoin node have two main types of interactions with other nodes:</p>
<ul>
<li><strong>sending confirmed blocks, stored on blocks folder:</strong> 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 <code>-prune</code> setting.</li>
<li><strong>sending transactions, that can be retrieved using data in chainstate folder:</strong> 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 <code>-blocksonly</code> setting.</li>
</ul>
<p>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 <code>-blocksonly</code> setting, that will reduce load and bandwidth, by not propagating transactions, only blocks. We can call this node a &quot;archive node&quot;.</p>
<p>If you want to propagate transactions, <a href="https://bitcoin.stackexchange.com/a/63025/29335">latest 288 blocks</a>, or use your node for mining, you should not use <code>-blocksonly</code> but you can set <code>-prune</code> to reduce the space of storing some historical blocks.</p>
<p>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 <code>bitcoin-cli getnettotals</code> to check.</p>
<p>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 <code>-externalip=IP</code> option to the public IP of the server, it will be used only for inbound connections, since its not routable for outbound (npr).</p>

CC BY-SA 4.0
2024-10-31T02:38:28.797Z
2024-10-31T02:38:28.797Z
charles
<p><strong>Hello</strong>
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.</p>
<p>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.</p>

CC BY-SA 4.0
2024-07-31T13:27:44.653Z
Related topics: [What do pruning nodes contribute to the network?](https://bitcoin.stackexchange.com/q/42287/5406), [How can a pruned node be classed a full node without the full blockchain?](https://bitcoin.stackexchange.com/q/72617/5406), [What is the meaning of the term "full-node"?](https://bitcoin.stackexchange.com/q/48436/5406)
Murch
CC BY-SA 4.0
2024-07-31T13:33:00.553Z
Hi Emil, our site is designed around a single question per topic. You are asking five different questions. In the future, please ask distinct questions as separate topics.
Murch
<bitcoin-core><network><full-node><nodes><bitnodes>
Is a pruned node useful for the Bitcoin network?
Emil
# Is a pruned node useful for the Bitcoin network?

(Asked by: username_0 on 2024-07-31)

**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.

**Tags:** bitcoin-core, network, full-node, nodes, bitnodes

> **Comments:**
> **username_1**: Related topics: [What do pruning nodes contribute to the network?](https://bitcoin.stackexchange.com/q/42287/5406), [How can a pruned node be classed a full node without the full blockchain?](https://bitcoin.stackexchange.com/q/72617/5406), [What is the meaning of the term "full-node"?](https://bitcoin.stackexchange.com/q/48436/5406)  
> **username_1**: Hi username_0, our site is designed around a single question per topic. You are asking five different questions. In the future, please ask distinct questions as separate topics.  

---

## 2 answers

### Answer by username_2 on 2024-07-31. Score: 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](https://github.com/bitcoin/bips/blob/90312d2d67c0fea7497dad7d4a8b416df8345602/bip-0159.mediawiki) 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).

---

* [Change port 8333 to other. (Running multiple docker instances)](https://bitcoin.stackexchange.com/q/93645/13866)
* [Bitcoin communication with non-standard ports](https://bitcoin.stackexchange.com/q/1413/13866)


---

### Answer by username_3 on 2024-10-31. Score: 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](https://bitcoin.stackexchange.com/a/63025/29335), 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).


---

