Thanks to the undoubted genius of creator Bram Cohen, it is still extremely robust some 15 years after its debut.
But while some may assume that BitTorrent is no longer under development, the opposite is true. Behind the scenes, groups of developers are working to further develop the protocol via BitTorrent Enhancement Proposals (BEPs).
Just one of the P2P developers involved is Luca Matteis. He lives in Rome, Italy, where he studies Computer Science at the Sapienza University and works part-time on various projects.
Passionate about P2P and decentralized systems, Luca informs TorrentFreak that his goal is to enable people to share and communicate in a censorship resistant manner. His fresh proposal, Updating Torrents Via DHT Mutable Items, was submitted last month and aims to live up to that billing.
We asked Luca to explain what his group’s proposal (it’s a team effort) is all about and he kindly obliged. It begins with the Distributed Hash Table (DHT) and a previous enhancement proposal.
“So currently the DHT in BitTorrent is used as a peer discovery mechanism for torrents, and it has really nice decentralized properties. It works just like a tracker, with the difference being that trackers are on central servers with a domain name, and therefore can be easily shut down,” Luca begins.
“[An earlier enhancement proposal] BEP44 added some interesting properties to the DHT network, namely the feature of being able to store arbitrary data. So instead of just storing IP addresses of people downloading specific torrents, we can now store any kind of data (max 1000 bytes per item).”
Luca says that so far this functionality hasn’t been used by torrent clients. uTorrent apparently has it under the hood, with some developers believing it’s there for reasons connected to BitTorrent Inc’s Bleep software. At this point, however, it only exists at the network level.
Importantly, however, Luca says that BEP44 allows one to store changing values under a key.
“We call these mutable items. So what you could do is generate a public key, which can be thought of as your address, and share this with the world. Then you use this public key to store stuff in BitTorrent’s DHT network. And, because it’s your public key, you (and only you) can change the value pointed by your public key.”
As mentioned earlier, only a 1000 bytes can be stored (less than 1kB), but Luca points out that it’s possible to store the info hash of a torrent, 79816060EA56D56F2A2148CD45705511079F9BCA, for example. Now things get interesting.
“At this point, your public key has very similar properties to an HTTP URL [a website address], with the difference that (just like trackers before) the value does not exist on a single computer/server, but is constantly shared across the DHT network,” he explains.
“Our BEP46 extension is an actual standardization of what the value, pointed by your public key, should look like. Our standard says it should be an info hash of a torrent. This allows for a multitude of use cases, but more practically it allows for torrents to automatically change what they’re downloading based on the public key value inside the DHT.”
While the technically minded out there might already know where this is going, Luca is kind enough to spell it out.
“Torrent sites (such as The Pirate Bay) could share a magnet link they control, which contains their public key. What they would store at this ‘address’ is the infohash of a torrent which contains a database of all their torrents,” he says.
“Users who trust them would bookmark the magnet link, and when they click on it, a torrent will start downloading. Specifically, they’d start downloading the database dump of the torrent site.”
While that might not yet sound like magic, the ability to change the value held in the DHT proves extremely useful.
“The cool thing is that when the torrent site decides to share more torrents (new releases, better quality stuff, more quality reviews), all they need to do is update the value in the DHT with a new torrent containing a new .rss file.
“At this point, all the users downloading from their magnet link will automatically be downloading the new torrent and will always have an up-to-date .RSS dump of torrents,” he says.
But while this would be useful to users, Luca says that sites like The Pirate Bay could also benefit.
“For torrent sites, this would be an attractive solution because they wouldn’t need to maintain a central HTTP server which implies costs and can be easily shut down. On the other hand, their mutable torrent magnet link cannot be easily shut down, does not imply maintenance costs, and cannot be easily tracked down,” he concludes.
For those interested in the progress of this enhancement proposal and others like it, all BEPs can be found here.