Linked by Thom Holwerda on Wed 8th Feb 2012 23:15 UTC
Internet & Networking "While the file-sharing ecosystem is currently filled with uncertainty and doubt, researchers at Delft University of Technology continue to work on their decentralized BitTorrent network. Their Tribler client doesn't require torrent sites to find or download content, as it is based on pure peer-to-peer communication. 'The only way to take it down is to take the Internet down,' the lead researcher says." In a way, the efforts by Hollywood and the corrupt US Congress is actually increasing the resiliency of peer-to-peer technology. Karma.
Thread beginning with comment 506523
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: "pure" P2P
by RMSe17 on Thu 9th Feb 2012 18:34 UTC in reply to ""pure" P2P"
Member since:

I keep hearing about these "pure" P2P systems. What I don't understand is, how does the client know what peers it can connect to? Wouldn't it need to get some sort of list from a central location at least initially?

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.

Reply Parent Score: 1

RE[2]: "pure" P2P
by Alfman on Fri 10th Feb 2012 03:47 in reply to "RE: "pure" P2P"
Alfman Member since:


"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.

Reply Parent Score: 3