Torrent heuristics
Does anyone knows if torrents use any kind of heuristics to decide which chunk they transfer? It would make sense to transfer the least available chunk first (although this might not be straight forward to calculate). This comes up because I'm downloading a (perfectly-legal-recently-released-remindful-of-my-youth, ahem) piece of data where there are 10 seeders and almost 20000! leachers. I would say that about 90% of the people have roughly 81% of the file and it was extremely fast to get to this point. The rest of the file is taking ages and everyone is still synchronized on the same amount. I'm suspecting that the seeders are sending the file in order to other peers... this sucks!

I think it is the leechers that request which chunk they want to receive.
And when one peer receives the list of peers they get information from each other (connecting to each of them) to get on the queue and retreive list of chunks available on that peer for that torrent.
So a peer can know what is the global availability of each chunk (the client i use it shows this) and they probably request the least available chunck that the peer can send, but what happens is that the peers with the rare chunks end up having the highest queues, so you get the other chunks faster from other peers.