Question: Why is it said that BitTorrent is faster, partly, because it transfers random pieces of a file instead of transferring it from start to finish in a contiguous/linear fashion?

---

**EDIT:** But why do they *have* to be 'random'? Why not a more predictable 'semi-contiguous' transfer in which one peer gives you the first half, and the second peer the other half? This would theoretically reduce overhead.

Answer: 
The key is that you are getting the file from several sources (peers) at the same time rather than from one source.

If you have a file that's split into 10 parts and takes 100 seconds to download from 1 server then theoretically you can get the file from 10 peers in 10 seconds (plus some overheads) as each peer can deliver it's part in 10 seconds. In practice it will take longer as each peer won't be perfect, and you'll probably hit your bandwidth limit (but you get the idea).

As you have to reassemble the file anyway you don't have to fetch the pieces in order. So if you only have 5 peers with each delivering 2 parts these can be random parts of the file.
Torrents aren't always faster, but when they are, one reason is network entropy. A connection of any duration (the download of a large file) may degrade over time, as random, uncontrollable factors affect the transmission of packets, such as router overloading and other problems between you and the server. More errors mean more retransmissions of packets, and this situation tends to worsen over time. Torrents make many smaller connections, across many routing pathways, a strategy that can, under the right circumstances reduce errors and lost or damaged packets, and seems to be faster, especially as the number of seeds and peers increase.