What if... BitTorrent clients partially ignored the private bit of a torrent?
Private torrent trackers have all the reasons to remain private, and I don't blame them for that and I am glad private trackers exists. But the torrent files themselves have a setting that says "this torrent is private", which makes the BitTorrent client to not distribute them via DHT, which makes magnetic links not work with them, so they are restricted to people who can obtain the torrent file from the private tracker.
What if clients had an option (on by default) to distribute the torrent via DHT and perform PEX, while still taking care to: a) not place the private tracker in the magnetic link the user might generate, and b) separate the upload/download statistics for the peers returned by the private tracker, so the ratio statistics in the private tracker are not skewed?
This way, private torrents could "escape" into the wild, still maintaining the privacy and social/closed community effects of the private tracker. Someone could download something for a friend or for a random person who asks for some content in a forum, send them the magnetic link, and don't have the private tracker activities or anonymity affected in any way.
What do you think of this idea? How do you think it would be received by private trackers and BitTorrent client developers? What are the drawbacks you can think of?
This way, private torrents could “escape” into the wild, still maintaining the privacy and social/closed community effects of the private tracker.
Except that it wouldn't. The infohash that the private flagged torrent generated is different vs a public non-private torrent of the same contents. Your suggestion would purposely share the same exact private torrent infohash into public DHT/PEX, that would certainly get people banned at the source private tracker(s). I also suspect most/all torrent client developers would consider that incorrect behavior.
If you wanted to do a more "correct" approach on this - Create a brand new public non-private flagged torrent of those contents, which would generate its own unique infohash, then it's just a regular torrent. You'd end up needing to seed multiple copies of the same torrent (the original private flagged torrent and your new public torrent) but sure that would be possible as long as the torrent client itself has DHT/PEX enabled. Most private trackers won't care too much but some of that does depend on individual trackers and uploaders, you'd need to check their rules.
Your suggestion would purposely share the same exact private torrent infohash into public DHT/PEX,
Yes, but not necessarily. It is trivial to recompute the infohash with the private bit disabled. This would split the network, but that is probably a good thing to preserve the anonymity of the private tracker users, as pointed out by another commenter.
Yes, with this solution, internally it could be seen a two separate torrents, but if it is an option easily accessible in the client settings, and it is handled transparently as a single torrent, much more people will do it, and the scene as whole would gain with the network effect.
Correct me if I'm wrong, but wouldn't you also end up exposing the IP of every peer on that torrent to anyone who joins the swarm, even if you masked the tracker and stats or whatever?
Like, IIRC that's kind a requirement for how torrents work in general, and so this idea would be making all activity on private trackers public, and I'd have to say that seems like a really, really stupid thing to want to do given the current situation where corpos are going after infringers again.
Yes, it would. But do people rely on the privacy of the tracker to hide their IPs? I mean, even private trackers are somewhat big, and is not hard to have copyright lawyers infiltrated in them.
Well, given how torrents work, yes, because you have to.
When you're downloading, you know the IP of everyone you're downloading from, and they know yours because that's how the internet works.
If an anti-piracy corpo hops on the swarm, they'll be able to see the IPs from all the peers as well.
So, TLDR: yeah, public anything is stupid when simply knowing the swarm exists and being able to connect to it is sufficient to provide enough documentation for everyone involved to get screwed.
But if this is a concern, the swarm itself could be split into internal/external, and no PEX would be allowed to happen for peers that are received exclusively from the tracker. This way, peers who have the setting enable would act as bridge between the two swarms, and only their IP would be visible.
So, if I'm understanding your intent correctly/distilling it out a bit: you want a feature that lets you seed a new public torrent from a private torrent (using the same local files) in one click?
I'm not too familiar with the plugin APIs of a lot of torrent clients but this sounds like something a plugin could handle.
To be fair, I thought of modifying my client privately to do it, but I guess it will only have an impactful network effect if it is distributed as native feature of popular clients.