How to determine if a remote node prunes?

1

Is there a way to determine if a remote full-node prunes its blocks (i.e., if it doesn't store the entire Bitcoin blockchain)?

Geremia

Posted 2016-09-29T16:28:09.000

Reputation: 3 665

Really wonder why you would want to know. In case you were wondering: a pruning node is still a full node.Jannes 2016-09-29T22:44:10.700

@Jannes To estimate what percentage of the network is leechers vs. seeders.Geremia 2016-09-30T03:10:46.833

Pruned nodes still propagate recent blocks and transactions. Where speed is actually more important than for ancient blocks. SPV nodes for example don't seed at all, but they also leech less. It's not just about data either, there are also meta effects. And then even a blocksonly non uploading pruning full node is still a benefit to the system if it represents some economic weight (someone holding or accepting bitcoins). All validating nodes help cement bitcoins rules and protect against evil hard forks, sounding alarm bells when something's wrong. Making Bitcoin more decentralised.Jannes 2016-10-01T14:44:49.843

1In short: There are many shades of grey between seeders and leechers. As long as there's a healthy mix and not an extreme shortage of some shades, then they all benefit Bitcoin to some degree.Jannes 2016-10-01T14:47:02.640

Answers

2

Yes. The client unsets the service bit NODE_NETWORK when pruning.

You could also try to request a block.

Nick ODell

Posted 2016-09-29T16:28:09.000

Reputation: 26 536

Are nodes without NODE_NETWORK set still considered full nodes?Geremia 2016-09-29T20:26:48.297

I see https://bitnodes.21.co/ reports NODE_NETWORK for nodes that have it set.

Geremia 2016-09-29T20:27:10.623

As far as i understand this may change in the future. A pruning node could hold a random chunk of historical blocks and seed those. But, there will probably always to ways to recognise a pruning node, i guess.Jannes 2016-09-29T22:47:27.027

1@Geremia Some non-NODE_NETWORK nodes are full nodes. If you run Bitcoin Core in pruning mode, it still validates all blocks, but it won't help the network by allowing other nodes to download the complete blockchain. Others (thin wallets) aren't full nodes.Nick ODell 2016-09-29T22:51:51.013