What are torrents? Torrents are just a way to distribute files. Now to know WTH is seeders and leechers , first let’s check out a simpler way of sharing files?-?Hyper Text Transfer Protocol i.e. HTTP. HTTP can be used when you download files from a website utilizing your web browser, or something like Internet Download Manager. (As an 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 purchase a personal computer, hook it up to the Internet, place a copy in the WebStorm image on its hard drive, and configure some software (like Apache web server) to allow people to download the photo.
Whenever a user wants to download the image, he sends a request to Jetbrains’ web server. The net server starts replying with all 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 from the image from 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 being a person on the opposite end taking notes).
This can be a quite simple and convenient method of file sharing. Nevertheless it has some drawbacks as:
Someone needs to set up a server and get an extremely fast Internet connection. If the server’s Web connection is 500 kb/s?-?either one client can download at 500 kb/s, or if perhaps two customers are downloading, the speed will likely be divided one of them?-?and all of them will receive 250 kb/s.
If among the clients includes 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, none will get a speed in excess of 33 kb/s (500/15). Suffice it to state, Jetbrains’ servers possess a fast Internet access.
It’s vulnerable and easy to bar. Should you don’t would like users to download Webstorm images, you just need to block Jetbrains’ sites. I can’t think about why non-programmers would want 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 understand why the us government would want to block it.
Now let’s observe how torrents solve these problems: Let’s say you happen to be person with access to the evidence of government crime (1GB of files). You made an effort to host it on a website, however the government blocked it. You now want to share it with all the rest around the world.
What you do is? You develop a torrent in the file! A torrent is actually a really small file containing specifics of the files (names, file sizes, MD5 hashes etc.) which can be shared using that torrent file. You can create it easily utilizing your torrent client (uTorrent, Azureus, Transmission etc). You might also need to include tracker details to the torrent file. A tracker is really 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 visit the torrent website and download the torrent for it.
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, off their torrent, client talks to the tracker explained as:
Your torrent client goes to each one of the people in this list so obtained, and asks them should they be thinking about sharing the files. Let’s say out from the 48 folks this list, 4 say they have File 1, 3 say they may have File 2, and 6 say they have both files. 9 say that they don’t have files, but would like to download any files you might have. The rest may or may not respond.
So that you start downloading File 1 from all of those 4 6 people who have it, and File 2 from all those 3 6 those who have it. Since you’re downloading the file, they may be uploading it on the opposite end from the internet connection. Now since you downloaded it and used other people’s internet (as well as your very own), it is your moral responsibility to permit other people to download it by you.
Thus a torrent is a group of (100s or 1000s or more) people collaborating and giving the other person pieces of the file until everybody has a duplicate in the entire file. It starts with the individual who created the torrent simply uploading it until lots of people download, and they upload it consequently and the torrent spreads.
So if the file is 1GB in proportions, the creator has to upload a minimum of 1GB for this to spread. Ideally, he’d upload about 3-4GB, and that gives 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. Getting it?-?so that you can use, and uploading it to ensure that others can also access the file.
Benefits of torrents: Central servers (i.e. the site in which you upload the torrent, and the tracker) don’t must share plenty of data. Both torrent files and peer lists are very small in size, hence qoflgk servers don’t cost so much to set up and maintain. Difficult to block?-?since no central server is active 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 essential to the concept of torrents. It is possible to download only because another person was uploading it for you. A torrent dies quickly if people refuse to upload. It may also happen that nobody wants to download the torrent any further, and those that are able to upload don’t find any takers, and after some time they provide up and stop uploading that specific torrent.