Network Privacy

BitTorrent Swarms Publish Their Own Membership

July 30, 2026 9 min read Haven Team

You can list the network addresses of everyone transferring a given file right now, without downloading a byte of it yourself. There is no exploit involved and no privileged access required. You ask, and the system answers, because answering that question is the function the system was built to perform.


BitTorrent works by splitting a file into pieces and having participants trade pieces with each other. For that to happen, every participant needs to know who else is present and reachable. The protocol therefore maintains a directory of participants and hands it out on request. Your presence in a swarm is not incidentally observable. It is published, to anyone who asks, as a precondition of the transfer working at all.

This is worth separating from the question of whether the traffic is encrypted, because the two get conflated constantly, and the encryption answer does nothing for the membership problem.

The directory is the design

In the original protocol (BEP 3), a torrent file names one or more trackers. Your client announces itself to a tracker with the file's infohash, its own peer identifier, and the port it is listening on. The tracker responds with a list of other peers: addresses and ports. Your client connects to them directly.

Read the exchange from the tracker's side and it is a membership register. Read it from an observer's side and it is a query interface. There was never a version of BitTorrent where you could receive the peer list without appearing in it, because a peer that only takes and never gets listed is a peer nobody can upload to.

Removing the tracker made the register harder to shut down and easier to query

Central trackers were the obvious pressure point. They could be seized, blocked, or served with a court order, and taking one down could kill thousands of swarms. Three extensions removed that dependency.

The decentralisation worked. There is no longer a single party who can be compelled to take a swarm offline. There is also no longer a single party who could have declined to answer a query, applied rate limits, or noticed that one client was harvesting the whole table. A DHT node can crawl for infohashes and collect peer lists continuously, and every other node will help it do so, because that is what the protocol asks nodes to do.

Key distinction

A firm monitoring a swarm is not attacking anything. It runs a client, announces, and reads the peer list. Every operation it performs is one a legitimate client performs. There is no vulnerability to patch here, because nothing is broken.

What a monitor collects, and what it proves

The cheap version of monitoring stops at the peer list: address, port, infohash, timestamp. The more careful version goes further and completes a handshake with each peer, requests a piece, and verifies the returned data against the expected hash. That produces evidence that the address actually held part of the file rather than merely appearing in a directory that anyone can inject entries into.

The gap between those two matters, because peer lists are not authenticated. A DHT can be told that an address is in a swarm by a third party, and clients have historically been able to be pointed at addresses that never asked to participate. Evidence built only on list membership rests on a data source that accepts unverified claims.

Then there is the second gap, between an address and a person. In Cobbler Nevada, LLC v. Gonzales (2018), the Ninth Circuit held that identifying the subscriber who pays for an internet connection is not by itself enough to plead that the subscriber committed the infringement, since the connection may be used by many people. Layer carrier-grade NAT on top and the address may not even narrow the field to one household.

None of which helps much in practice, because the exposure most people meet is not a courtroom. It is a forwarded notice from an ISP, a throttled connection, a settlement demand letter priced deliberately below the cost of a lawyer, or a subpoena that has to be answered whether or not it would ultimately survive. Weak evidence is still sufficient to start all four.

The countermeasures, and where each one ends

Approach What it changes Where it stops
Protocol encryption (MSE/PE) Obscures the payload from an ISP inspecting packets Does nothing to the peer list. It was built to defeat throttling, not observation.
VPN The address in the peer list becomes the provider's exit, not yours The provider sees everything instead. Fails completely on a leak or a dropped tunnel while the client keeps seeding.
SOCKS5 proxy Covers the connections the client routes through it Coverage is usually partial. DHT and other UDP paths often bypass it, which is the whole exposure.
Private tracker Restricts the peer list to members, shrinking the observer pool Concentrates a complete record of your activity with one operator you now have to trust.
Anonymising overlay (I2P) Peers see an overlay identity rather than a network address Slower, smaller swarms, and the property depends on the overlay's own assumptions.

Two of these deserve a note. Protocol encryption is the one most often misread: it was introduced because ISPs were shaping BitTorrent traffic by signature, and it succeeded at that. It never had anything to say about who can see your address, and enabling it does not reduce your visibility in a swarm by any amount.

For a tunnel, the configuration detail matters more than the provider. Bind the client to the tunnel interface rather than to any interface, so that if the tunnel drops the client loses connectivity instead of silently continuing on your real address. A seeding client left running for days is the common failure, because nothing about it looks wrong. The adjacent leak paths are covered in WebRTC IP leaks and what a VPN does not do.

The property generalises past file sharing

Any system where participants find each other by asking other participants publishes its membership. This is not a BitTorrent flaw; it is what peer discovery is. The same property shows up in blockchain transaction propagation, in some mesh network routing, and in any federated system where servers announce which accounts they carry.

The design that avoids it looks different at the discovery layer, not at the encryption layer. If a server routes ciphertext between authenticated accounts, an outsider cannot enumerate who is talking to whom by joining in, because there is nothing to join. That is a choice about metadata exposure, and it is made independently of how strong the cipher is. Techniques like sealed sender exist because designers concluded the metadata question needed its own answer.

The mistake to avoid is treating the encryption question and the enumeration question as one question. A swarm can be fully encrypted and still hand a complete attendance list to anyone who asks for it. Knowing which of the two a given system solves, and which it leaves open, is most of the analysis.

Try Haven free for 15 days

Encrypted email and chat in one app. No credit card required.

Get Started →