2
I understand there are advantages for the SPV client to acquire header-chain and subsequent inclusion proofs over the p2p network:
- Peer discovery
- P2P node interface is public
- Reuse of P2P messaging protocol
But this must come at a cost for full-validating nodes:
- Reduced channel bandwidth with full-nodes
- Therefore, increased tx/block propagation times
Why are SPV nodes/clients not serviced over separate server-client interface rather than the P2P protocol? What are the justifications for this?
Thanks in advance.
How would using a different protocol between lightweight nodes and full nodes not equally reduce channel bandwidth for the latter? – Pieter Wuille – 2019-01-20T23:06:45.420
P2P channels are generally long-lived. SPV nodes represent additional hop in data propagation without additional decentralisation (validation). I suppose a full-node could selectively drop SPV peers, but a server-client interface seems more efficient vs. P2P for those nodes which wish to act as public servers for SPV clients. – James C. – 2019-01-21T08:01:16.813