« Sunstein on 5-4, and Posner's Mother | Main | Jury Voting Vermeule-Style »

October 07, 2005

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c031153ef00d8345a5f2f53ef

Listed below are links to weblogs that reference More Peer-to-Peer (and Peering Too):

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Doug Lay

What's the point of this discussion? It seems like the real question is whether P2P technologies should be banned or not. There's a very simple answer to that question -- No.

Fred von Lohmann

The bandwidth organizing benefits of p2p are being recognized more widely all the time, including by "for fee" content. For example, the video game business has begun relying on this feature, employing p2p technologies developed by companies like Red Swoosh and Kontiki.

This discussion brings to light an important dichotomy buried in the term "p2p". The best known p2p apps generally accomplish two distinct functions: search and file transfer. Napster handled the former in a centralized way, the latter in a decentralized way. Later p2p apps, like eDonkey and Kazaa, have implemented both functions in decentralized fashion. Bit Torrent does not attempt to do search at all, focusing instead solely on file transfer (but relies on a centralized "tracker" for each file to handle coordination).

With respect to the question of whether decentralization is a good idea for bandwidth sharing, I think the posts reflect a consensus that it is.

The more interesting question, in my view, is what case can be made for implementing search in a decentralized (i.e., not controlled by one entity) fashion. Of course, it seems to me exactly the kind of question that the free market should decide, with minimal interference from a priori copyright restrictions in the form of secondary liability.

Gus

Prof. Picker-

On BitTorrent and asymmetry. You are right that BitTorrent works by balancing upload/download asymmetry. But the asymmetry that it balances is the aggregate of the network, not that of the individual host.

For instance, imagine that iVideo (a hypothetical video distribution service) is distributing a 1000 megabyte file to 1000 peers. And assume, too, that each peer has a symmetric 10MB/sec connection (highly unrealistic, about 100-megabit ethernet), and that iVideo has a symmetric 1000MB/sec connection (ie, 10-gigabit ethernet). Under a traditional distribution model, each of those thousand peers is going to compete for a "fair" share of iVideo's 1000MB/sec: about 1MB/sec. (As an asside, in TCP/IP jargon, the meaning of fair is just as ambiguous as in law and economics; under the standard TCP/IP implementation, each peer would ideally get about 0.75-MB/sec, with other 25% being lost to transactions costs incurred by congestion control. But I'll call it 1MB/sec.). Distribution of the 1000MB file would therefore take 1000 seconds for each peer.

Note that this wastes a great deal of bandwidth: each peer has some amount of bandwidth that can be used for uploading--in this model as much as for downloading. 1000 peers with 10MB/sec upload capacity is 10000MB/sec of wasted capacity; a full order of magnitude more than iVideo has.

Under the BitTorrent model, each of the 1000 peers would download a separate piece of the 1000MB file. This would take 1 second. In the next second, each peer would download another chunk from iVideo, and a third chunk from an another peer (perhaps "peer n" would download from "peer n+1"). In second 1, 1000MB is transferred; in second 2, 2000MB. The amount transferred in each second grows exponentially for the number of peers (with an extra 1000MB coming from the iVideo server) (2:3000MB, 3:5000MB, 4:9000MB/sec, &c), up to the point of network saturation (11000MB/sec). To figure out the total transfer, we look at the total data to be transferred: 1000 peers times 1000MB = 1000000MB (1TB). I'll spare you the math, and say that, with the exponential grown to saturation, the total transfer, in theory, would take about 90 seconds.

Clearly, 90 seconds is much better than 1000 seconds.

Returning to the original question of asymmetry, what this is doing is "balancing" the asymmetry of the earlier, non-peer-to-peer model, by making use of the available upload capacity of the peers. So, the asymmetry isn't the 90/10 upload/download per-peer ratio, but the 100/0 ratio downloading from iVideo to downloading from other peers. A simpler way to think of this is that, under the previous model, the peers' available capacity wasn't being used: it was a deadweight loss incurred by that protocol. BitTorrent allow us to capitalise what would otherwise be waste.


Now, to address your underlying question: why do we need p2p. I hope that I only need to address the converse--the gains are obvious from the above example--why don't we need it? The answer, as always, is transaction costs. Consumers don't frequently transfer huge files; and the researchers that do aren't numerous enough to need it (the traditional protocols--ftp and scp, for instance are simpler to administer for frequent transfers by few users of infrequent transfers of many files). In the case of the consumers, transferring a 10MB video or music file in toto might take a minute; with a streaming model, it might take 5 seconds to transfer enough to start playing. The BitTorrent model doesn't allow for streaming (because the data might not arrive in order), and it incurs substantial transaction costs (coordinating the optimal p2p transfer between an arbitrary number of peers with grossly different bandwith capacities is non-trivial; indeed, it is impossible other than by chance without a priori knowledge). (Note that, even if it's only 10% efficient, in the above example 900 seconds is still better than 1000 seconds; and there are network effect benefits, too; because iVideo could get away with a much smaller pipe without grossly affecting total transfer times; a n-fold decrease in iVideo's capacity should, if I recall correctly, yield a O(log(n)) increase in total transfer time.).

So, BitTorrent needs to either allow complete transfers faster than data-to-start downloads for streaming, or needs to be used in an environment where complete downloads are used (eg, music for your iPod). And, it needs to be used in an environment where the network effect benefits, as limited by the necessary ineffeciencies of the protocl, yield a net increase in average transfer times. An althernative, more Chicago-like understanding for where we should use P2P a la BitTorrent is where the total cost difference between x-mbit/sec and (n*x)-mbit/sec Internet connections for iVideo is greater than the costs incurred by the peers by an k*O(log(n)) increase in download times (where k is the coeffecient of efficiency for the P2P protocol).

And, as Fred notes, we are seeing companies starting to switch to these models, particularly for prototype video-distribution systems. Probably both because the download times are otherwise too large, and because the needed centralised-distribution bandwidth requirements are prohibitive.

I hope that this helps with the discussion--by which I mean that the costs incurred by reading this are less than the net of the value of the ideas imparted and the consequent discussion.

--Gus

Tim Wu

Gus, I don't know who you are, but I agree with everything you say.

Saying what use is Bittorent is like asking "what's the use of cheaper airline tickets?" Bittorent style technologies just, in effect, make bandwidth cheaper, and to paraphase Lenin, cheapeness has a character all of its own.

I think, to agree with Fred, that the really interesting question is, what's the use of decentralized searches, as first implemented in Gnutella. And here I am inclined to agree with Randy and say my first instinct is that its useful for avoiding unwanted control.

But maybe we're wrong, and maybe Google will be supplemented any day by a purely decentralized search system (though in a sense Google is already somewhat decentralized, as far as I can tell). Anyone have an idea?

Bruce

I'm late to this party, but Fred, the type of "for fee" game content you're talking about is patches, updates, demos, add-on levels, mods, etc., right? I.e., stuff that's distributed for free, but requires the original game to make use of. Or are there games out there that can be downloaded for a fee from a peer-to-peer network? If so, I'm curious what those are.

Ed Felten

I have a followup post on this over at Freedom to Tinker, at http://www.freedom-to-tinker.com/?p=907

The comments to this entry are closed.