To view parent comment, click here.
To read all comments associated with this story, please click here.
RMSe17,
"It is possible to have a pure peer-to-peer protocol where initial communication from a new node would use broadcast/sudo-random IP 'pinging' on specified communication port(s)."
An internet-wide broadcast seems like a bad idea to me. First of all, it doesn't make sense to use a fixed port for this kind of P2P protocol (NAT users often don't have a choice about their port anyways). So the search space is really a cross product between the public IPs which could be running the P2P client and the ports it could be running on. This is essentially tantamount to each P2P user doing an internet-wide port scan.
If it's not clear why that's a bad idea, let's just guestimate some numbers. There are around 46 bits of search space. Assuming there are 10M publicly reachable nodes distributed randomly in the search space, what are the odds of reaching another peer?
10M/70,368,744,177,664 = 1 chance in 7,036,874
So let's just say on average it takes 3.5M packets to reach one's first peer. Let's say these raw packets are 200bytes a piece, that's 700MB bandwidth just to find one peer, and this is assuming no retries are needed due to heavy loads and dropped packets or peers which aren't running 24/7.
All this just for one user of one P2P client. What if all decentralized systems located peers this way? Everyone on the internet would receive useless background packets connecting to random ports.
Lets not even contemplate this scheme on IPv6.
No, it's better for most users to bootstrap it by getting a list from the source where they found the software. Also, anyone could publish an independent & random bootstrap list for new users to add as well.




Member since:
2006-03-06
Can anyone explain this?
It is possible to have a pure peer-to-peer protocol where initial communication from a new node would use broadcast/sudo-random IP "pinging" on specified communication port(s). Depending on the total number of connected nodes, it may take some time to stumble on to another node, but once another node is found, the initial node would be inserted into a graph. At this point nodes can communicate set of known positive points of other nodes found. In order to keep the spam down, once the node graph reaches certain size, the nodes can slow down discovery rate. So, as more nodes join the graph, each node would send discovery messages at a slower rate x^n. Thus discovery will never stop, but it will keep spam down.
The more popular this protocol, the more nodes/users exist in the IP space, making it faster to stumble upon another node, and the faster all of the partial graphs would join into a single connected network.
This would be a true P2P network.