What are torrents? Torrents are merely a way to distribute files. Now to know WTH is seeders and leechers , first let’s check out a simpler approach to sharing files?-?Hyper Text Transfer Protocol i.e. HTTP. HTTP is used when you download files from a website using your internet browser, or something like Internet Download Manager. (For example, when you download some Software, or drivers from manufacturer’s website, it’s usually done via HTTP).
How HTTP works is quite simple. Let’s say Jetbrains would like to distribute a 30-day latest trial version of WebStorm. They buy a computer, connect it to the net, place a copy of the WebStorm image on its hard drive, and configure some software (like Apache web server) to enable individuals to download the picture.
When a user desires to download the photo, he sends a request to Jetbrains’ web server. The web server starts replying using the WebStorm’s image data as fast as the Internet link between the both of you permits.
When the image is being transferred in between the two (server and user), 2 things are happening simultaneously?-?upload from the image from your server, and download of image to the user’s device. (You can think of upload process being a person speaking on the phone, and download process being a person on the other end taking notes).
It is a relatively easy and convenient approach to file sharing. But it has some drawbacks as:
Someone has to set up a server and get an extremely fast Internet access. If the server’s Internet access is 500 kb/s?-?either one client can download at 500 kb/s, or if perhaps two customers are downloading, the speed is going to be divided one of them?-?and each of them will receive 250 kb/s.
If one of the clients has a slow Internet- let’s say capped at 50 kb/s, one other client can download at 450 kb/s.
On the other hand, if 15 clients with fast Internet connections are downloading, not one of them will receive a speed in excess of 33 kb/s (500/15). Suffice it to say, Jetbrains’ servers have a very fast Internet connection.
It’s vulnerable and easy to bar. In the event you don’t would like your users to download Webstorm images, you just need to block Jetbrains’ sites. I can’t think of why non-programmers would want to block Webstorm’s image downloads, nevertheless in case of censored content (like Government crimes), or illegal content (like pirated movies), or both (NSA leaks), we can see why the us government would like to block it.
Now let’s observe how torrents solve these problems: Let’s say you are a person with access to the evidence of government crime (1GB of files). You attempted to host it online, but the government blocked it. You wish to share it with the rest of the world.
Everything you do is? You produce a torrent from the file! A torrent is basically a really small file containing specifics of the files (names, file sizes, MD5 hashes etc.) that are shared using that torrent file. You can create it easily utilizing your torrent client (uTorrent, Azureus, Transmission etc). You might also need to add tracker details to the torrent file. A tracker is a server whose job would be to distribute peer lists to new peers.
You host this really small torrent file on some torrent sharing website. People who want to download your government crime proofs can visit the torrent website and download the torrent for this.
They then tell their Mac Torrent to download the files described in the torrent. As there is no server (like Jetbrains’ server for Webstorm’s image) to download the torrent, from their torrent, client talks towards the tracker explained as:
Your torrent client would go to each of the people in the list so obtained, and asks them when they are interested in sharing the files. Let’s say out from the 48 folks the list, 4 say they have File 1, 3 say they have File 2, and 6 say they have got both the files. 9 claim that they don’t have any files, but would like to download any files you might have. The rest may or may not respond.
So you start downloading File 1 from those 4 6 individuals who have it, and File 2 from all those 3 6 people who have it. Since you’re downloading the file, they are uploading it on the opposite end of the internet access. Now because you downloaded it and used other people’s internet (along with your own), it is actually your moral responsibility to enable other individuals to download it from you.
Thus a torrent is a small group of (100s or 1000s or maybe more) people collaborating and giving one another pieces of the file until everyone has a copy in the entire file. It starts with the one who created the torrent simply uploading it until many individuals download, and they upload it subsequently and the torrent spreads.
Therefore if the file is 1GB in size, the creator has to upload at least 1GB for this to spread. Ideally, he’d upload about 3-4GB, and that would give him 3-4 more friends, who’ll help spread it further.
For this reason your torrent client is both downloading and uploading the torrent file. Downloading it?-?so that you can use, and uploading it in order that others can also access the file.
Features of torrents: Central servers (i.e. the website that you upload the torrent, and also the tracker) don’t must share plenty of data. Both torrent files and peer lists are extremely small in proportions, hence qoflgk servers don’t cost much to set up and sustain. Challenging to block?-?since no central server is working in the actual distribution and sharing in the files, it is difficult to bar given its distributed nature.
Thus you may realize why uploading (seeding) is so vital that you the idea of torrents. You may download only because someone else was uploading it to suit your needs. A torrent dies quickly if people refuse to upload. It may also happen that no one wants to download the torrent any more, and those that are prepared to upload don’t find any takers, and as time passes they give up and stop uploading that exact torrent.