Torrents were heavily associated with piracy. When piracy saw a decline due to legal issues, popular services failing, and the rise of streaming. Torrenting also saw a decline. It’s still a great way to share files amongst people, but it is needed less and less with the advent and accessibility of cloud computing services.
But a torrent in the simplest sense, is a direct link to a file. But the fun thing about torrents are that, everyone that has that file linked up, can help send it to you. So if you and your friend wanted to transfer a picture of SpongeBob, you would be downloading the picture directly from your friend. Now if your friend’s sister wants the picture, she would be downloading it from you and your friend. So on and so forth.
Torrents are pretty simple, and is many pieces of technology packaged together.
Basically, to make the .torrent file, the software read all the files and treat them as one big file. It chop it into smaller blocks and pass it into a formula to create a checksum. To keep it simple, checksum = byte1 + byte2 + byte3 … That checksum is used to validate the download later on.
Now, you have a .torrent file that is basically the file list, the order in which the files will be presented, the file length, and every single blocks checksums, and some more info, like what server to contact to get the peer list.
The download now. You download the .torrent. Your client get the server info, contact it and say “hey, I have this torrent, who have the same one?”, and your client connect to the other users that download or seed it.
Your client then tell the other clients: “I need block 1 2 4 5 6 8 10, have block 3 7 9”, if the other clients have your missing blocks, then a download for those blocks can occur. And they can request the blocks you already downloaded.
The important part here is the blocks. Again, the big files are chopped in small blocks. And those blocks can be more easilly exchanged.
At the end, the client can redo the same checksum formula, and validate that all blocks are error free. If the checksum match, it should be error free, if not then there is an error on that block, and it will be redownloaded.
Latest Answers