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
  • 4,626
  • 5
  • 38
  • 75
  • Really wonder why you would want to know. In case you were wondering: a pruning node is still a full node. – Jannes Sep 29 '16 at 22:44
  • @Jannes To estimate what percentage of the network is leechers vs. seeders. – Geremia Sep 30 '16 at 03:10
  • 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 Oct 01 '16 at 14:44
  • 1
    In 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 Oct 01 '16 at 14:47

1 Answers1

2

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

You could also try to request a block.

Nick ODell
  • 29,396
  • 11
  • 72
  • 130
  • Are nodes without NODE_NETWORK set still considered full nodes? – Geremia Sep 29 '16 at 20:26
  • I see https://bitnodes.21.co/ reports NODE_NETWORK for nodes that have it set. – Geremia Sep 29 '16 at 20:27
  • 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 Sep 29 '16 at 22:47
  • 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 Sep 29 '16 at 22:51