Jump to content


New Members
  • Posts

  • Joined

  • Last visited

Lasent's Achievements

New User

New User (1/3)



  1. With that being said, it wouldn't be impossible to download from two different sources if we have the torrent file for both, since they contain the hashes for their respective pieces. The biggest problem would be matching up the files from torrent A to torrent B, since we can only go by the name and size of the files (md5 hash for the files is unfortunately an optional parameter in the torrent file), but if there is a match, then merging the data from the two source becomes trivial. After that, if we have enough data downloaded, we can hash it and check against both torrent's piece-hashes to prove that the file is indeed the same. But to be honest, IMO this wouldn't help the download speed in most cases. Having ~25 peers is usually enough for max speeds.
  2. Even though this post a year old, I've just discovered this forum, I'll try to give an answer to whoever still reads this. I just wrote a small paper about BitTorrent's DHT implementation (or Mainline DHT/MLDHT). One of the biggest shortcoming of it, as you just pointed out, is the fact that a node can freely choose it's own ID. The biggest reason behind this is the fact that for a DHT to work efficiently, the node's ID-s have to be as evenly spread out as it possibly can. Now how would you bind an ID to a node without any kind of central server? If you think about it, the only way would be to use the node's public IP address. Of course, this isn't that simple either. For starters, a node behind a NAT can't figure out it's own public address without the help of another node. This means that a node has to reply with the IP address he sees the request coming, so that the node behind the NAT can calculate an ID based on it. This opens up another attack: a bogus node could reply with a wrong IP address, which could also cause other (altough not as significant) problems. Another thing is actually generating the node ID. An IPv4 address is 32 bit long, while a node ID is 180 bit, so only using the IP address wouldn't be enough (can't generate every possible 2^180 node address from 2^32 IP address). Long story short: this is a proposed change : http://www.bittorrent.org/beps/bep_0042.html
  • Create New...