Dropbox is a huge torrent swarm
Funny, how the world turns, isn't it? Some weeks ago I wrote the following article. Then this happened: http://razorfast.com/2011/04/25/dropbox-attempts-to-kill-open-source-project/
And my article got relegated to the archive. I actually think it's quite neat, so here we go:
I recently found out something nice about Dropbox: When you put a file in your Dropbox that's already stored somewhere else, you don't have to upload it. It'll appear "magically" in your Dropbox folder, and if it's a shared folder will start syncing almost immediately at the other end.
In and of itself, this is nothing very surprising, Dropbox just computes a hash of the file (or probably some segments of that file) and saves itself the upload if it already knows the contents of the file.
The interesting thing is that this also works with files that aren't in your Dropbox, but in any Dropbox anywhere on the world. So, you put a file into your Dropbox folder, Dropbox does its hashing, finds the file somewhere else and puts a reference to the file into your Dropbox web folder.
Now, imagine what happens when you have two computers, both of them connected to Dropbox, and on different networks. You put a file into one of the Dropbox folders, presumably a large one. Dropbox finds the file for you without upload and starts streaming the file to your other computer instantly.
Interesting.
What if we could trick one of the Dropbox clients into thinking you had put a file with some specific hash into its folder? Exactly the same thing would happen. The other computer would start streaming that file instantly from Dropbox's magic file cloud without you ever having a copy.
Note: I am not the first person to think of this:
Now, where do we get the necessary data for those files? As it so happens, we already have a system that is based on exactly that: transmitting file hashes and file chunk hashes, namely BitTorrent sites. What we could do now is to simply take these hashes, fix up a "zombie" Dropbox client that accepts these hashes instead of files and have any of the many torrented files streamed to you instantly via the Dropbox servers.
How lucky is it for Dropbox, then, that the two systems don't fit together exactly...