What are torrents? Torrents are simply a method 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 is 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 fairly simple. Let’s say Jetbrains wants to distribute a 30-day latest trial version of WebStorm. They purchase a personal computer, hook it up to the Internet, place a duplicate of the WebStorm image on its hard drive, and configure some software (like Apache web server) to permit men and women to download the photo.
Whenever a user wants to download the picture, he sends a request to Jetbrains’ web server. The web server starts replying with all the WebStorm’s image data as fast because the Internet link between the both of you permits.
If the image is being transferred in between the two (server and user), two things are happening simultaneously?-?upload in the image through the server, and download of image towards the user’s device. (You can think about upload process as a person speaking on the phone, and download process being a person on the other end taking notes).
This can be a relatively easy and convenient method of file sharing. However it has some drawbacks as:
Someone needs to set up a server and get a really fast Web connection. In the event the server’s Web connection is 500 kb/s?-?either one client can download at 500 kb/s, or maybe two clients are downloading, the rate is going to be divided one of them?-?and each of them will receive 250 kb/s.
If among the clients features 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 will receive a speed of more than 33 kb/s (500/15). Suffice it to express, Jetbrains’ servers possess a fast Internet access.
It’s vulnerable and easy to bar. In the event you don’t would like your users to download Webstorm images, you just have to block Jetbrains’ sites. I can’t think of 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 understand why the federal government would want to block it.
Now let’s observe how torrents solve these issues: Let’s say you happen to be person with accessibility evidence of government crime (1GB of files). You tried to host it online, but the government blocked it. You now desire to share it with all the rest around the world.
What you do is? You create a torrent in the file! A torrent is essentially a very 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 using your torrent client (uTorrent, Azureus, Transmission etc). You might also need to include tracker details towards the torrent file. A tracker is a server whose job is always to distribute peer lists to new peers.
You host this tiny torrent file on some torrent sharing website. People who would like to download your government crime proofs can visit the torrent website and download the torrent for it.
They then tell their Mactorrent to download the files described within the torrent. While there is no server (like Jetbrains’ server for Webstorm’s image) to download the torrent, off their torrent, client talks towards the tracker explained as:
Your torrent client would go to each one of the individuals this list so obtained, and asks them should they be considering sharing the files. Let’s say out of the 48 individuals this list, 4 say they may have File 1, 3 say they may have File 2, and 6 say they have both files. 9 claim that they don’t possess 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 all those 4 6 individuals who have it, and File 2 from those 3 6 individuals who have it. Since you’re downloading the file, they may be uploading it on the opposite end from the internet access. Now as you downloaded it and used other people’s internet (as well as your personal), it really is your moral responsibility to permit other individuals to download it from you.
Thus a torrent is a group of (100s or 1000s or even more) people collaborating and giving one another items of the file until everyone has a duplicate from the entire file. It starts off with the one who created the torrent simply uploading it until many people download, and they upload it in turn and also the torrent spreads.
Therefore if the file is 1GB in size, the creator needs to upload at the very least 1GB because of it to spread. Ideally, he’d upload about 3-4GB, and that would give him 3-4 more friends, who’ll help spread it further.
This is why your torrent client is both downloading and uploading the torrent file. Getting it?-?so that you can use, and uploading it in order that others can also access the file.
Advantages of torrents: Central servers (i.e. the web site in which you upload the torrent, and also the tracker) don’t need to share plenty of data. Both torrent files and peer lists are very small in size, hence qoflgk servers don’t cost much to set up and maintain. Hard to block?-?since no central server is involved in the actual distribution and sharing from the files, it is not easy to bar given its distributed nature.
Thus you may realize why uploading (seeding) is very essential to the concept of torrents. You may download only because somebody else was uploading it for you personally. 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 prepared to upload don’t find any takers, and after some time they offer up and quit uploading that specific torrent.