What are torrents? Torrents are just a means to distribute files. Now to understand WTH is seeders and leechers , first let’s take a look at 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 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 would like to distribute a 30-day latest trial version of WebStorm. They purchase a 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 men and women to download the picture.
Each time a user would like to download the image, he sends a request to Jetbrains’ web server. The web server starts replying with all the WebStorm’s image data as fast as the Internet link between the both of you permits.
Once the image has been transferred involving the two (server and user), a couple of things are happening simultaneously?-?upload of the image through the server, and download of image for the user’s device. (You can think of upload process as a person speaking on the phone, and download process 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 has to set up a server and purchase a very fast Internet connection. If the server’s Internet access is 500 kb/s?-?either one client can download at 500 kb/s, or if two clients are downloading, the speed will be divided one of them?-?and each of them can get 250 kb/s.
If among the clients features a slow Internet- let’s say capped at 50 kb/s, the other 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 over 33 kb/s (500/15). Suffice it to express, Jetbrains’ servers possess a fast Web connection.
It’s vulnerable and easy to bar. If you don’t want your users to download Webstorm images, you just have to block Jetbrains’ sites. I can’t consider why non-programmers would like to block Webstorm’s image downloads, but 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 complications: Let’s say you are a person with accessibility proof of government crime (1GB of files). You tried to host it on a website, however the government blocked it. At this point you wish to share it with the rest around the world.
Everything you do is? You create a torrent from the file! A torrent is basically an extremely 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 using your torrent client (uTorrent, Azureus, Transmission etc). You might also need to add tracker details to the torrent file. A tracker is actually a server whose job would be to distribute peer lists to new peers.
You host this very 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 because of it.
They then tell their Mactorrent to download the files described inside the torrent. As there is no server (like Jetbrains’ server for Webstorm’s image) to download the torrent, from their torrent, client talks for the tracker explained as:
Your torrent client goes to each of the people in the list so obtained, and asks them should they be thinking about sharing the files. Let’s say from the 48 folks this list, 4 say they have File 1, 3 say they have got File 2, and 6 say they have got both files. 9 state that they don’t have files, but would like to download any files you have. The rest may or may not respond.
Which means you start downloading File 1 from all of those 4 6 individuals who have it, and File 2 from all of those 3 6 people who have it. Since you’re downloading the file, these are uploading it on the other end from the internet connection. Now as you downloaded it and used other people’s internet (along with your own), it really is your moral responsibility to enable other people to download it on your part.
Thus a torrent is a small group of (100s or 1000s or more) people collaborating and giving the other person items of the file until everybody has a duplicate from the entire file. It starts with the individual who come up with torrent simply uploading it until many people download, and then they upload it in turn as well as the torrent spreads.
So if the file is 1GB in size, the creator must upload a minimum of 1GB for it to spread. Ideally, he’d upload about 3-4GB, and this will 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 will can use, and uploading it to ensure that others can also access the file.
Features of torrents: Central servers (i.e. the site that you upload the torrent, and also the tracker) don’t must share lots of data. Both torrent files and peer lists are extremely small in size, hence qoflgk servers don’t cost much to set up and maintain. Challenging to block?-?since no central server is involved 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 really important to the thought 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 over time they give up and stop uploading that particular torrent.