What is Swarm Merging?
Every now and then, when I'm connected to a torrent a peer will connect that has a reference to "Swarm Merging" in their name. What is swarm merging?
You are viewing a single comment
Every now and then, when I'm connected to a torrent a peer will connect that has a reference to "Swarm Merging" in their name. What is swarm merging?
It's a way to share files across seeders/peers of different torrents, as long as the torrents contain at least one identical file. For example, let's say that:
Without swarm merging, you're stuck waiting for new seeders or peers from torrent1 that have the file B. With swarm merging, your torrent program will get the file B from people sharing torrent2 too.
I recall this feature from Vuze; but apparently BiglyBT also uses it.
That's awesome! I suppose it might also explain why this torrent has been sitting in my queue for several weeks and is now suddenly at 100% from this one seeder. Do you know if the process is automated? Or does the user have to do the work of finding the torrents with matching files themselves? It's a bummer that qBittorrent apparently doesn't support it.
At least in BiglyBT, the process is automated. The match is based on exact file size; it's a crappy technique* (as the odds of a false match are rather high) and the usage case is fairly small (two identical files across different torrents), so not too commonly used.
*odds are that Vuze implemented it this way because requesting a hash would break the BitTorrent protocol, and prevent interoperability of multiple clients.
Well, I might have to try it for the torrent that I'm trying to download. Merging may not be effective for most cases, but in this case, this peer was the only one that managed to get a full copy of the torrent content. They disconnected before I could grab all of it though, so now I'm stuck at 50%. :(
BitTorrent v2 allows this also. In v1, torrents with multiple files are hashed continuously (cat) together without respect to file boundaries. A side effect of this that many people notice is that to grab a specific file may require downloading some of the files before or after the one you want.
Under v2, each file is hashed separately, so this fixes the aforementioned problem and should allow sharing of files across torrent files.
That's good to know!
You can extract, calculate and compare those hashes using this tool.
In the next bug-fix release of libtorrent the tool will have ability to generate magnet links to download torrents without duplicate files, saving storage, bandwidth and most importantly time.
Very useful for dumps, libraries, video/photo archives ;)