The BitTorrent protocol is based on peer-to-peer file sharing where a “swarm” of users download and upload files at the same time enabling distribution of large files without requiring resources of a central server. The idea of BitTorrent is to share the resources. This has worked beautifully for millions of BitTorrent users, except for some who are on capped bandwidth.
BitTorrent requires that you upload whatever you download. The ideal scenario is where your upload rate is same as your download rate – if you are downloading at 50 KBps you should also upload at 50 KBps. But because digital subscriber lines do not work that way and, thankfully, a large number of users choose to seed files without downloading any, the rest of the swarm can comfortably download files without uploading much.
I have found that on well-seeded torrents the share ratio is usually around 0.30, meaning that if I download 100 MB of data I upload about 30 MB. But even that 30% upload share can be significant for users who aren’t on unlimited data plans.
Enter BitThief, an experimental BitTorrent client developed by the Computer Engineering and Networks Laboratory in Zurich that downloads torrents without uploading. BitThief manages to do so by constantly pretending to be a newly arrived peer that doesn’t have anything to offer itself.
According to TorrentFreak,
… the client re-announces itself many times during the start of the download, and it ignores the 30 minute announce interval. The goal is to establish as much connections with other peers as possible. BitThief then exploits other peers, and opens up a lot of simultaneous connections, 500, compared to 80 on default by the mainline client. One of the downfalls of this aggressive approach is that it will instantly crash a lot of routers. It took less than 4 seconds before my router gave up when I attempted to download a popular Ubuntu release.
Well, my router didn’t give, so this could possibly be fixed since the TorrentFreak article is more than three years old. If this is something you are worried can do to your router, you can limit the number of connection it makes to some sane figure like 120 or 200.
BitThief works best on Torrents with a lot of peers and a high percentage of seeders. For other Torrents, BitThief can take longer to download. But in almost all cases, upload rates remain significantly low.
According to the developers, BitThief is intended as a proof of concept that there are weaknesses in the current BitTorrent protocol, which can be exploited by "cheating" BitTorrent clients. It is needless to say that clients such as BitThief are detrimental to the health and performance of BitTorrent and shouldn’t be used unless absolutely necessary.