What are torrents? Torrents are merely a method to distribute files. Now to comprehend WTH is seeders and leechers , first let’s have a look at a simpler approach to sharing files?-?Hyper Text Transfer Protocol i.e. HTTP. HTTP can be used when you download files from a website utilizing 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 pretty simple. Let’s say Jetbrains desires to distribute a 30-day latest trial version of WebStorm. They buy a personal computer, connect it to the web, place a duplicate from the WebStorm image on its hard drive, and configure some software (like Apache web server) to allow people to download the image.
Each time a user wants to download the picture, he sends a request to Jetbrains’ web server. The web server starts replying with the WebStorm’s image data as fast as the Internet link between the two of you permits.
If the image is being transferred involving the two (server and user), a couple of things are happening simultaneously?-?upload in the image through the server, and download of image to the user’s device. (You can consider upload process being a person speaking on the phone, and download process as a person on the opposite end taking notes).
This is a pretty simple and convenient approach to file sharing. But it has some drawbacks as:
Someone must set up a server and get a really fast Internet connection. When the server’s Internet connection is 500 kb/s?-?either one client can download at 500 kb/s, or if two clients are downloading, the rate will be divided one of them?-?and each one will get 250 kb/s.
If among the clients has a slow Internet- let’s say capped at 50 kb/s, another client can download at 450 kb/s.
On the other hand, if 15 clients with fast Internet connections are downloading, none of them will receive a speed in excess of 33 kb/s (500/15). Suffice it to express, Jetbrains’ servers possess a fast Internet connection.
It’s vulnerable as well as simple to block. 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 about why non-programmers would like to block Webstorm’s image downloads, however in case of censored content (like Government crimes), or illegal content (like pirated movies), or both (NSA leaks), we can see why the government would want to block it.
Now let’s see how torrents solve these issues: Let’s say you are a person with access to the evidence of government crime (1GB of files). You attempted to host it online, however the government blocked it. At this point you desire to share it with the rest around the globe.
What you do is? You produce a torrent in the file! A torrent is essentially a really small file containing specifics of the files (names, file sizes, MD5 hashes etc.) which are shared using that torrent file. You can create it easily making use of your torrent client (uTorrent, Azureus, Transmission etc). There is also to include tracker details to the torrent file. A tracker is a server whose job is to distribute peer lists to new peers.
You host this really small torrent file on some torrent sharing website. People who wish to download your government crime proofs can proceed to the torrent website and download the torrent for this.
Then they tell their Mactorrent to download the files described inside the torrent. While there is no server (like Jetbrains’ server for Webstorm’s image) to download the torrent, from their torrent, client talks to the tracker explained as:
Your torrent client goes to all the folks a list so obtained, and asks them when they are thinking about sharing the files. Let’s say from the 48 individuals the list, 4 say they have got File 1, 3 say they have File 2, and 6 say they have got the files. 9 state that they don’t have 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 people who have it, and File 2 from all of those 3 6 people who have it. Since you’re downloading the file, they are uploading it on the opposite end from the internet connection. Now since you downloaded it and used other people’s internet (in addition to your own), it is actually your moral responsibility to allow other people to download it from you.
Thus a torrent is a group of (100s or 1000s or more) people collaborating and giving the other person bits of the file until all of us have a copy of the entire file. It begins with the person who created the torrent simply uploading it until many people download, and they upload it subsequently and also the torrent spreads.
So if the file is 1GB in proportions, the creator must upload a minimum of 1GB for it to spread. Ideally, he’d upload about 3-4GB, and this gives him 3-4 more friends, who’ll help spread it further.
This is the reason your torrent client is both downloading and uploading the torrent file. Getting it?-?so that you will can use, and uploading it so that others can also access the file.
Features of torrents: Central servers (i.e. the site where you upload the torrent, and also the tracker) don’t have to share a lot of data. Both torrent files and peer lists are very small in size, hence qoflgk servers don’t cost that much to set up and sustain. Challenging to block?-?since no central server is active in the actual distribution and sharing in the files, it is not easy 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 somebody else was uploading it to suit your needs. A torrent dies quickly if people refuse to upload. It may also happen that nobody wants to download the torrent any more, and people who are willing to upload don’t find any takers, and after some time they give up and quit uploading that specific torrent.