So a few responses to Jeremy's post regarding using the hordes of email as a free web drive got me thinking. Particularly the ones talking about how it's inconcievable that anyone would do this. First off, the idea is hardly new since there are more than a few German warez kiddies that already do it. (What they do is automatically sign up for lots and lots of free storage accounts all over, encrypt the data and then stripe it across the drives, but since they use mostly traditional online storage stuff like Yahoo Briefcase, Stormloader, and Xdrive, we'll ignore them for now. Sort of.)
Now, where's my black hat?
Each free email system has a certain MB limit associated with it. We'll pick 10MB since that's the going max for now. Figure with simple compression, that works out to be around 15MB as an average "sector" size. Not great, but not too bad, really. Just to make things easier, we'll also include information about the crc of the "sector", it's counterpart stripe, a verification key (to prevent folks from introducing viruses) and since we've got our choice of File Systems, we'll just use FAT and include a pointer to the next "sector".
Dealing with "file corruption" like spam or unwanted notifications is pretty simple since we can easily shunt all that crap to the trash-bin using a simple rule configuration that deletes everything except for files with some message name characteristic. Heck, we can even use the spiffy included search function to quickly "seek" to given sectors.
One other important note is that, obviously, we'd want to adopt some sort of caching RAID 0 like algorythm since we don't want to constantly hit one provider. That would probably raise suspicions. The good thing is that with the massive number of gmail invites one can get from various friends and even yourself, that's not a major issue.
As for the actual interfaces, that's a piece of cake we can take straight from Windows. Create a bunch of specific interface "drivers" that handle logging in, scrape-posting and other actual interface details. That way if the remote system changes, you just modify that particular driver. Heck, you could probably use Perl for that, have it set up a few half way decent rules and be done. (Make sure you set your agent correctly and use that cookie jar kids!)
One other nice approach about this system is that it's possible to create Torrent like distributions, where each remote client emails portions of their copies to your "drive". As i hinted before, there'd have to be some effort put in place to ensure that random "files" don't just show up in your "drive", and it won't be too long before spammers latch onto this, so a definite whitelist would be required. Deleting "files" is a simple matter of walking the FAT path and deleting the "sectors". (A little more involved than just removing the head sector, but no big.
The downsides to this is that you've got semi-limited online storage, and your throttled by your own pipe. But these sorts of issues are trivial to address.
Am i the only one who's come up with this? Hardly. Gotta put your porn and those cracked versions of Photoshop somewhere.
Is this approach perfect? Hardly. There's a bunch of ways that it can be easily defeated, and just as many ways it could be strengthened, but i'm willing to bet that the basic design will show up before too long.
We'll call it P2Pmail or GFS or something clever.
And with it, we herald the dawn of a new email system.
Because this beast will pretty much end the current one.