Bittorrent currency

From what I can tell, the thing that makes bittorrent unique is the fact that it prevents leechers (or at least keeps them from downloading at any reasonable rate). When I first heard of bittorrent, I thought this was an interesting idea, but instantly saw a flaw. Today, as I try to download a rare movie, I see this flaw realized.

Bittorrent does really well with common files, but it suffers for rare files (say, that only one user has, and one user requests every month). Each time, everyone who has the file sends it to the person requesting it at slow seeding rates. After a someone gets the file, he could just close down the torrent, allowing him to be a leecher. Of course, he was forced to get the file at a leecher’s rate anyway.

So let’s say we generalize bittorrent, so that you can trade bits from any file you have for a file you are trying to get. This would be more like LimeWire, but with leecher protection. But we have the same problem for rare files: what if I have nothing to offer the person from whom I am downloading the rare file?

It strikes me that bittorrent is just like bartering societies (which certain organizations are sillily trying to reinvent). Societies developed currency because it was more efficient than trading. You don’t have to have anything that the seller wants but cash, which everybody wants. So how can we take this to the file sharing world?

Okamoto and Ohta present a system implementing digital cash which prevents double spending (and also ensures a bunch of other stuff which is unnecessary for file sharing). So the technical side is taken care of. All left are the management decisions.

Clearly, you “pay” for bits you want, and people pay you for bits they want. If you provide more upload bandwidth, you can get paid faster and download more. You could go so far as to do bandwidth auctioning (I’ll pay 4 bucks per bit for this file, so you can give me priority). I think that would be counterproductive, though: you’d get the Direct Connect problem, where people are prioritized by how much they share. New people in the system can’t download anything, so the active user base (the economy) never grows. One buck, one bit, that should be hard-coded in the protocol.

The other problem: how do people get cash in the first place? It can’t be through seeding, because you could just seed a bunch of useless crap back and forth on your LAN and get unbounded amounts of money. Seeding has to be charity. But in traditional bittorrent that charity seems to be enough to kickstart new users, so maybe it is here, too. No currency is traded upon seeding, but if you’re seeded some bits that somebody else will pay for, you can get some cash in the bank.

Now we’re starting to fake competitive economic conditions on a society with abundant resources. People wouldn’t seed to you because they can get cash for bits they have, so why would they give it away for free; and again the economy stands still and blocks out new users, because new users don’t always have something to offer. Torrent cash == bandwidth, and you know how people cling to their bandwidth.

But perhaps I’m slippery-sloping myself. Current users of bittorrent are plenty charitable. If you keep the cash hidden (well-documented, but hidden from an eye-check “how much cash do I have?”) and do one of those brilliant bittornado share-rating smiley faces to make people feel good about being charitable, it will probably be fine. The reason I want to keep cash hidden from view is because you don’t want file sharing to accidentally turn into a game, where people are trying to maximize their money. That’s not the point; the point is to get bits shared (there might be some insight into real life there, too).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s