## What do pruning nodes contribute to the network?

4

1

Pruning nodes are described in the sourcecode thusly:

-prune=<n>: Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan.

• What services do pruning nodes still perform?
• Do they upload blocks and transactions?
• Can they service thin clients?
• What can a pruning node not do, that a non-pruning node does?

3

From release notes https://bitcoin.org/en/release/v0.11.0 :

For now, block pruning disables block relay. In the future, nodes with block pruning will at a minimum relay “new” blocks, meaning blocks that extend their active chain.

In the current version pruning nodes don't advertise themselves as having any blocks, so they don't upload blocks. So that explains your big reduction in upstream data. A future update will re-enable block relay in such a way that your nodes can efficiently let its peers know which blocks it owns and which it doesn't.

Yes your pruning node will do full validation and it will service lightweight nodes.

This answer should be updated to reflect the behavior of current versions. AFAIK, new versions of Core can now serve the blocks they have in store. – Murch – 2017-03-11T11:14:12.047

1They always could relay new blocks - ever since the feature was introduced in 0.11. However, until BIP159 is implemented, they can't advertize the fact that they will do so. As a result, in practice it won't serve any light clients. – Pieter Wuille – 2017-11-19T21:46:16.223

1

Pruned nodes do not advertise NODE_NETWORK. Thus, peers will not request buried blocks from them. However, pruned nodes relay blocks at the chain-tip and newly received transactions to their peers.

BIP159: NODE_NETWORK_LIMITED service bit (Pull Request) proposes the introduction of an additional service flag with which pruned nodes could advertise being able to serve the latest blocks and thus most of the lightweight client requests.

0

A pruning node will trim the number of transactions you need to store. In the most extreme cases, they can store just the UTXO set and the most recent couple blocks, but the degree of pruning is variable, and up to the node operator. Think of it like this:

Alice sends 5 BTC from address 1www to Bob, at address 1xxx.

Bob sends 2 BTC to Carl at address 1yyy, and 3 BTC to Dave at address 1zzz.

Carl sends his 2 BTC to Dave at address 1zzz.


A normal node would need to store all the intermediate data, that is, (Alice -> Bob), (Bob -> Carl), (Bob -> Dave), (Carl -> Dave).

A pruning node, however, only needs to store the final link in each step. If Alice has no more coins in her address, there is no need to keep it around, you can safely discard it. The pruning node would only contain the data for the UTXO set, in this case, the 5 coins that Dave has.

Pruning nodes can validate transactions, verify that the sender does in fact have coins to send, and relay them to the rest of the network. They can also be used by the owner to check their balance completely privately, no need to ask someone else who has a copy of the pruned chain.

Sorry, but it seems to me that you think I'm asking about SPV clients which I'm not. – Murch – 2016-01-11T23:52:20.987

I'm in the middle of updating the answer to be less brief. I believe i'm addressing your question at the end (that is, what a pruning node can do for the network). – LivingInformation – 2016-01-11T23:54:22.100

Okay, but pruning nodes do keep part of the blockchain, just not all of it. – Murch – 2016-01-11T23:57:44.567

I believe I indicated that in my answer, I'm definitely describing a pruning node and not an SPV client. Which part of the answer are you addressing? – LivingInformation – 2016-01-11T23:58:59.630

1The part where you say it only keeps the utxo set. A pruning node is an instance of bitcoind that does have the utxo set and n MiB of the blockchain. In my case that is 20,000 MiB. I'm wondering whether my node serves these blocks to peers as full nodes without pruning do, and especially whether it can serve SPV clients - which I doubt, but if they are asking about recent nodes would be a possibility. – Murch – 2016-01-12T00:06:21.783

1No, a node with prune doesn't advertise itself as able to serve blocks. – Anonymous – 2016-01-12T09:50:33.840

The minimum you can keep with pruning is a couple of days worth of blocks, not a couple of blocks. – imoatama – 2017-06-22T03:37:16.273