Some notes on bittorrent (updated)

Studying the bittorrent technology and my personal experiences with it make me want to ‘teach’ the world a couple of things:

1)
Bittorrent trackers* should allow all available types of decentralised seeding, like DHT and Peer Exchange;
Access to torrents should always be wide-open, not limited, not password-protected. If some tracker doesn’t allow DHT, it’s because someone’s trying to make money (or become famous) over other people’s work or other people’s bandwidth. Closed down torrent-communities are bad that way; The hosted torrents tend to be short term, because there aren’t enough users involved. Plus users have the danger of never knowing what goes on with their torrent registration data, logs could be handed over to people with bad intentions, it could even be used for blackmail.
Trackers requiring registration are inherently bad for the development of bittorrent, trackers requiring a ratio are even worse (and merely creating that requirement because the swarms have too few peers). The motto for bittorrent should always be: The more the merrier. As long as you have enough users downloading, it will not matter one bit if they download more than they share. Sometimes members of a closed down community are required to reach a certain minimum ratio, while no peers are in the swarm. So they need to keep their seeds (and PC’s) online until one shows up. Uploading isn’t as cheap as downloading, trying to achieve a 1:1 ratio would be a waste of the world’s energy resources, keeping computers powered on five times longer than the time it took to download the torrent is ridiculous nonsense. One seed is always enough. The secret in bittorrent is in the numbers and in patience. You should not ask your users to upload more, you should ask your users to get more people interested in downloading the same torrent! The so-called private flag in bittorrent world is a bad invention, and directly opposes the intended use of the bittorrent technologies.
2)
Bittorrent should deal in folders with files directly, and never involve packed files, the package should be the folder itself. When a torrent is a .RAR or .ZIP users can’t see what actual content they’re downloading, which causes a lot of wasted traffic. Files are also a lot more likely to stay seeded longer if they’re not packed, since more users save the actual (media) files rather than the archive they came in. Keeping both the packed and unpacked version of a torrent on disk is wasting space and time.
I often noticed that some torrents have a lot of users at 99.9% of the download, waiting for a small piece missing in the middle of some multi-packed RAR, they can’t unpack the files until they’re 100% complete. When the torrent isn’t packed there are ways around the problem, you can play 99,9% of a movie and not miss a thing. Packed torrents residing at 99% are dangerous that way: It looks like the torrent is very close to having a seed, so everybody decides to go for it, and will waste the entire download to reach the same useless 99,9% of the unzippable stuff. Another point proving how stupid it is to distribute torrents as zipped, rarred or otherwise packed files. For most media-files the size-gain (and bandwidth overhead loss) is negligible anyway. There is no reason to..distribute packed files over bittorrent.

* BitTorrent Jargon explained:

Torrent = a small “pointer” file that contains the filename, size, and the checksum (hash) of each block in the file (which allows users to make sure they are downloading without errors), the address of “tracker” servers and some other data (like client instructions).

Seeder = the one in possession of the complete file(s). A seeder is uploading. To get a file there needs to be at least 1 seed in the swarm. The more seeds a swarm contains, the faster the traffic in the swarm. As soon as the first seed has spread its data and is contained in the swarm in total, the seeder can leave the swarm and peers will provide one another with the seeded data.

Swarm = the group of computers involved with any one particular torrent. The number of computers that the swarm contains is found by adding the number of seeds to the number of leechers.

Leecher = the one without a complete file (often referred to as a peer). A leecher is downloading from a seeder (and most of the time also uploading to other peers/leechers)

Tracker = the thing that keeps track of who has what and what pieces of data are where in the swarm.

Ratio = the amount you have downloaded compared to the amount you have uploaded. Also referred to as ‘stats’.

Reseed = asking someone to repost a torrent that has no seeds, or putting back in a seed for an existing tracked torrent.

Client = the program you use to download torrents. I highly recommend µtorrent for Windows users. Remember to ALWAYS enable DHT and PEx, even if the tracker doesn’t allow it. (It saves a lot of otherwise presumed dead torrents..)

I don’t link to wikipedia very often, but I just found out their page about BitTorrent is actually quite good. You might want to check it out..

Leave a Reply