Sunday, April 26, 2009

BitTorrent

Problem: Distributing a large file to multiple users.

Is it real? Yes, and in fact some real large-scale apps that are not file-sharing sites, such as World of Warcraft, use BitTorrent to distribute software updates.

Nugget: A peer-to-peer protocol that lets peers fetch pieces of the file on separate connections from various peers and reciprocate by uploading other pieces to them. The rarest-first rule and the choking/unchoking algorithms are what really contribute to BitTorrent's efficiency.

Criticism: Although BitTorrent undeniably works great, one has to wonder how much of this is due to users not modifying their clients as opposed to the design of the protocol. Even if there are a few abusive leechers, BitTorrent will do fine. However, if a substantial number of peers tried to download without uploading, there would be problems. The game theory behind the prisoner's dilemma shows that even in this situations, peers might choose a tit-for-tat strategy, which is nice. However, because not many users are very abusive today, we don't know how well the protocol will handle having a significant fraction of users beeing selfish from the paper.

No comments: