How do torrents work?

241 views

Isn’t a torrent just, like…directly sharing a file from your PC? What’s all this business about “seeding” and “leeching”?

In: 517

25 Answers

Anonymous 0 Comments

Person A starts with a file that they want to share. 2 other people want the file. Person A splits the file into 2 parts, and gives each person a different part. Now Person B can give Person C the part they have, so Person C will have the whole file. Person B can get the part they need from Person A or Person C.

In a real example the file will be split into hundreds or thousands of parts, and people will start and stop sharing over time. A seeder is someone who shares file parts with other people. A leecher is someone who downloads, but doesn’t share the parts they have. Most (all?) torrent programs let you set limits on what or how fast you seed.

There are several benefits to torrents vs direct downloads: Once all the parts have been given out once, the original seeder can stop sharing and it is still possible for everyone else to get the whole file. The burden of sharing the file is distributed between all the seeders. Seeders with a faster connection can share more than a seeder with a slow one. And rather than needing one fast connection (which can be expensive), if many people share at the same time on a normal , the end user can download a lot quite quickly. Hence it is popular for distributing files like Linux .isos.

Anonymous 0 Comments

Before torrenting, a user would enter a queue and wait for their turn to download a file from the server. You would wait in line, download the complete file and leave.

Torrenting was created for more efficient and faster downloads. Instead of the person at the head of the queue downloading the entire file while everyone behind them waits, they download a small part of the file, then share it with the three people in line behind them, who reshare it to everyone else.

Everyone is simultaneously downloading and uploading different parts of the file, until everyone in line has the complete file.

Seeding means that you are sharing the completed file with people, and leeching means that you are downloading the file.

Anonymous 0 Comments

Imagine you’re in a classroom and trying to get the phone numbers for all of your classmates to study from.

**Approach A:**

Step 1: you write down everyone’s phone numbers, then give it to Amy. (the other 20 people wait) Step 2: You write down everyone’s phone numbers, then give it to Brad. (the other 19 people wait) Step 3: You write down everyone’s phone numbers and give it to Corey. (the other 18 people wait) Etc… one person is copying the entire file and passing it out individually.

**Approach B:**

Step 1: you write down your phone number and give it to Amy. (the other 20 people wait) Step 2: You write down your phone number and give it to Brad. AT THE SAME TIME, Amy writes down your phone number and hers and gives it to Corey. (only 18 people are waiting) Step 3: You, and Amy, and Brad, and Corey are all giving out parts of the list to four other people ( 15 people are waiting). Everyone is working cooperatively to give everyone what they need which often speeds up the process exponentially

This has certain benefits: no one is sitting, waiting, twiddling their thumbs (efficiency); if Amy is a slow writer, we can have one person work with her while other people work with the other students (bandwidth), if you decide to leave the classroom, everyone else can still copy down all the information quickly with what information they have already.

The first person (and people who keep sharing after they have it) are “seeding”, everyone who is getting it then immediately quits without sharing back is “leeching”.

Anonymous 0 Comments

Yeah it’s directly sharing *parts of files* from your PC. When you share the files with others, you are “seeding”. When you are asking for fileparts you don’t have, you’re “leeching”. It’s considered bad form to only leech and never seed.

Anonymous 0 Comments

A kindergarten class is assigned homework with 10 questions.

The smartest kid in the class completes the homework and knows all the answers are correct, and shares one separate answer to 10 separate classmates.

The separate classmates meet each other at recess and give each other the answer they have, so they each have or share the same answers.

At the end of recess, each classmate has met enough other kids to have all the correct answers and will get all 10 answers correct

The smart kid that initially did the homework is the seeder. The other classmates are the leechers.

Anonymous 0 Comments

It’s basically a decentralized way to store, transfer, and download files because the files are split into different parts which are duplicated across the whole network. All anyone needs to download the whole is just download one of each part (wherever they are) and put them together.

Ex: traditional file downloading works wholesale: file XYZ is on computer A and gets transferred to computer B.

Torrenting is basically a way of splitting up file XYZ into X, Y, and Z across computers A, B, and C, and then downloading them from wherever they happen to be to reassemble into XYZ.

Anonymous 0 Comments

You and your friends want to build a 5 piece Gundam. So Billy buys the left leg, you get the right leg, Jimbo buys the torso/head, Bobby gets the right arm and Allan buys the left arm. You all decide to share the 5 pieces and one person gets all 5 pieces on a weekend when they request it. You all decide to take a picture of the 5 pieces together when you have it for the weekend. Now you all have a piece, and the whole picture.

Anonymous 0 Comments

I believe the protocol was originally invented to distribute the Linux OS source code.

Basically, the source code is huge, and any time a new release comes out, everybody wants a copy and so the servers that have the copy are brought to their knees. Many entities volunteer the use of their own servers, so when a new Linux version comes out, it gets sent to all those servers first, and they all release together. The problem is that those volunteer entities hate having their own servers brought to their knees and often drop out, making the problem worse again.

Bittorrent was invented to combat this problem. Basically, everybody downloading the Linux source starts becoming both a server and a client.

The source (typically a single giant archive file) is broken into many manageable chunks and distributed among a few volunteer servers as above. Those are called seeders. One master server keeps track of everybody who has any of the chunks and which chunks they have. Initially, this list is only the seeders.

Every client contacts the master server to get the torrent data. Then, given a list of chunks and seeders, they pick one chunk and one seeder at random and ask for that chunk. They may do this simultaneously for two or three chunks at a time.

Once a client has a chunk, it informs the master server that it has it, and that client gets added to the list of sources for that chunk.

Fairly soon, all the clients join the pool, and the load on the original seeders is reduced as the clients start grabbing chunks from each other. Once a client has the complete set, it’s considered to be another seeder.

A leech is a client that doesn’t share the chunks it’s downloaded. It only downloads. This may be out of laziness, cheapness (don’t want to pay for bandwidth), paranoia (don’t want to be caught distributing pirated material), or because their ISP has set up a firewall that won’t let them do it. It’s considered anti-social to leech, and some pirate sites will ban you for doing it. But if your ISP has set up a firewall to prevent it, it might not be your fault.

All you need to get started is access to the original torrent file, which tells you where to find everything else you need. That torrent file will be published somewhere for you to find it. There’s also a protocol called “magnet” that makes it easier to find the torrent file.

—-
Now for a question of my own: How do “magnets” work?

Anonymous 0 Comments

What are the dangers? For someone who knows someone who may want to possibly learn how to.

Anonymous 0 Comments

It’s like if you had a 100-piece jigsaw puzzle but you had thousands of users each contributing a few pieces each. The torrent software pieces them together.

Even if you had only 20 people contributing, they each need only contribute 5 pieces on average. Compared to if you only had one seeder, then you might as well be downloading the entire file from them.

It can even sequentially request for piece 1 to 100, so let’s say you wna watch a movie WHILE it’s torrenting, well you can, provided the download speed is faster than your watching speed.