<blockquote>
<p>does such a node support the syncing of other nodes in the network?</p>
</blockquote>
<p>Nodes that are pruned unset the <code>NODE_NETWORK</code> flag, which means that they don't advertise themselves as a potential source for block synchronization. Nodes won't consider peers without this flag as a potential source for downloading blocks.</p>
<blockquote>
<p>In such an early state, before pruning kicked in, does such a node serve the subset of the blocks that it has to the network?</p>
</blockquote>
<p>The same flag is not set here either. During sync most nodes are typically at 100% utilization and tend to behave very sluggishly, so they wouldn't be a particularly good source for anybody else.</p>

CC BY-SA 4.0
2021-01-21T09:53:46.710Z
2021-01-22T01:37:29.970Z
2021-01-22T01:37:29.970Z
Claris
<p>As Pseudonymous already stated, pruned nodes do not advertise the <code>NODE_NETWORK</code> service, which indicates that a node will serve the full history of blocks. Corollary, a pruned node will not assist other nodes in their initial synchronization.</p>
<p>However, since Bitcoin Core 0.16, pruned nodes advertise <code>NODE_NETWORK_LIMITED</code> as specified by <a href="https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki" rel="noreferrer">BIP159</a>. A node advertising <code>NODE_NETWORK_LIMITED</code> indicates that it will serve the most recent 288 blocks. The pruned node can thusly serve peers blocks to catch up on gaps of less than two days and service requests for Merkle branches by light clients covering that period. Pruned nodes also relay information about peer nodes, transaction inventory and new blocks.</p>
<p>Even if pruned nodes have more than 288 blocks worth of data, they will not serve larger depths to prevent fingerprinting per the amount of data they store.</p>

CC BY-SA 4.0
2021-01-21T14:55:14.357Z
Do all pruned nodes advertise `NODE_NETWORK_LIMITED` by default? Or do I have to specify it somehow in `bitcoin.conf`?
John Smith
CC BY-SA 4.0
2021-01-21T15:00:17.163Z
Assuming that you run a version newer than 0.16, you should not need to do anything. If you find that your node doesn't have any incoming connections, you may want to check whether it's set to `listen` and the node's port is available to the internet.
Murch
CC BY-SA 4.0
2021-01-21T14:25:51.313Z
2021-01-21T14:25:51.313Z
Murch
<p>I decided to prune my Bitcoin core node to 25 GB. With the blocks that the node has in its data
directory (the ones that were not deleted), does such a node support the syncing of other nodes in the network? Moreover, let us imagine a new node that has just joined the network, let's say that has managed to download the first 10GB of data with his pruning set to 25GB. In such an early state, before pruning kicked in, does such a node serve the subset of the blocks that it has to the network?</p>
<p>Let the scope of this question be limited to the issue of syncing the blockchain data. I'm well aware of <a href="https://www.reddit.com/r/Bitcoin/comments/9ztepo/does_running_a_5gb_prune_node_support_the_network/" rel="nofollow noreferrer">the advantages of using a pruned node</a> as a wallet when compared to custodial services. There is already <a href="https://bitcoin.stackexchange.com/questions/53456/does-having-a-pruned-node-reduce-its-network-score">a question somewhat relevant to the matter</a> and the answer to it suggests that as of May 2017, there is no way for pruned nodes to serve the subset of old blocks that they have. Is it still the case? Moreover, the answer to it does not refer to the second matter of serving a subset of blocks by a pruned node in which the pruning hasn't yet started.
Although I came across some <a href="https://bitcoin.stackexchange.com/questions/68849/how-could-the-bitcoin-protocol-be-modified-so-that-pruned-nodes-could-still-part">resources</a> and <a href="https://twitter.com/lopp/status/856152236874977280?lang=en" rel="nofollow noreferrer">opinions</a> on pruning, none of them elucidated the matter of syncing to me.</p>

<synchronization><pruning><node-services>
Does running a pruned node support the syncing of other nodes in the network?
John Smith
# Does running a pruned node support the syncing of other nodes in the network?

(Asked by: username_0 on 2021-01-21)

I decided to prune my Bitcoin core node to 25 GB. With the blocks that the node has in its data
directory (the ones that were not deleted), does such a node support the syncing of other nodes in the network? Moreover, let us imagine a new node that has just joined the network, let's say that has managed to download the first 10GB of data with his pruning set to 25GB. In such an early state, before pruning kicked in, does such a node serve the subset of the blocks that it has to the network?

Let the scope of this question be limited to the issue of syncing the blockchain data. I'm well aware of [the advantages of using a pruned node](https://www.reddit.com/r/Bitcoin/comments/9ztepo/does_running_a_5gb_prune_node_support_the_network/) as a wallet when compared to custodial services. There is already [a question somewhat relevant to the matter](https://bitcoin.stackexchange.com/questions/53456/does-having-a-pruned-node-reduce-its-network-score) and the answer to it suggests that as of May 2017, there is no way for pruned nodes to serve the subset of old blocks that they have. Is it still the case? Moreover, the answer to it does not refer to the second matter of serving a subset of blocks by a pruned node in which the pruning hasn't yet started.
Although I came across some [resources](https://bitcoin.stackexchange.com/questions/68849/how-could-the-bitcoin-protocol-be-modified-so-that-pruned-nodes-could-still-part) and [opinions](https://twitter.com/lopp/status/856152236874977280?lang=en) on pruning, none of them elucidated the matter of syncing to me.

**Tags:** synchronization, pruning, node-services


---

## 2 answers

### Answer by username_2 on 2021-01-21. Score: 5 | Accepted answer

As Pseudonymous already stated, pruned nodes do not advertise the `NODE_NETWORK` service, which indicates that a node will serve the full history of blocks. Corollary, a pruned node will not assist other nodes in their initial synchronization.

However, since Bitcoin Core 0.16, pruned nodes advertise `NODE_NETWORK_LIMITED` as specified by [BIP159](https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki). A node advertising `NODE_NETWORK_LIMITED` indicates that it will serve the most recent 288 blocks. The pruned node can thusly serve peers blocks to catch up on gaps of less than two days and service requests for Merkle branches by light clients covering that period. Pruned nodes also relay information about peer nodes, transaction inventory and new blocks.

Even if pruned nodes have more than 288 blocks worth of data, they will not serve larger depths to prevent fingerprinting per the amount of data they store.

> **Comments:**
> **username_0**: Do all pruned nodes advertise `NODE_NETWORK_LIMITED` by default? Or do I have to specify it somehow in `bitcoin.conf`?  
> **username_2**: Assuming that you run a version newer than 0.16, you should not need to do anything. If you find that your node doesn't have any incoming connections, you may want to check whether it's set to `listen` and the node's port is available to the internet.  

---

### Answer by username_1 on 2021-01-21. Score: 7

> does such a node support the syncing of other nodes in the network?

Nodes that are pruned unset the `NODE_NETWORK` flag, which means that they don't advertise themselves as a potential source for block synchronization. Nodes won't consider peers without this flag as a potential source for downloading blocks.

> In such an early state, before pruning kicked in, does such a node serve the subset of the blocks that it has to the network?

The same flag is not set here either. During sync most nodes are typically at 100% utilization and tend to behave very sluggishly, so they wouldn't be a particularly good source for anybody else.


---

