blog.jj5.net (2003 to 2005)

Encrypted, distributed data storage.

Sun May 30 23:56:00 UTC+1000 2004

Categories:

I was just taking a shit, and I had an idea.

Earlier in the night I was looking online trying to find a fireproof data storage device, but I could only find fire resistant safes and off site data storage facilities.

Cutting to the chase, I think it would be cool to organize a community run distributed computer system for storing personal data.

I'm sure someone else has already thought of this, but I've never seen or used something like this.

Overall it would work like this: If you wanted to join the community you'd have to dedicate some hard disk space and a computer with an Internet connection. Your account would have a status based on how available you kept your Internet connection, so if you stopped serving others then you wouldn't be able to add data to your account, etc. There would be a service running on your machine that received data and stored it. You would have a local application that encrypted data and stored it on the network. You would be given a percentage of the disk that you donated for your own storage. So say if you had 10MB of disk dedicated, then you might get 1MB of storage on the network (you could do more if you had the bandwidth, at the end of the day it is effectively a 'user pays' network, because you are only exposed to the extent of your contribution (from a bandwidth perspective)). All data that you stored would be encrypted client side, then split and propagated to other hosts with a massive redundancy (say data was stored on 20 different hosts and each block of data was stored at least 10 times (you could obviously do some maths and figure out the 'probability' that your data would remain safe (it would probably be safer on a network like that from a statistical point of view than on a single HDD, or even in a single location))). Your client side encrypted data wouldn't even all be stored on one computer in its entirety. You'd need all the data to decrypt it, but all the data wouldn't even reside on a single host. The other thing is that the data would be stored all over the world, so your data wouldn't be confined to storage in one country for example (you know, big brother is watching you, etc.). You could put in a lot of smarts to figure out geographically where your data was stored, so even if your country was nuked tomorrow a complete copy of your data would still exist on the network distributed about in other countries (heh, it would be a fun experiment to move data around based on the current political climate :).

I couldn't be bothered explaining it better than that. I'm sure this is not a unique idea by any stretch of the imagination. It would be cool if the software provided a 'virtual device' on your machine, so it looked like a mounted drive locally and you could just 'copy and paste to it' (even though it would obviously be kinda slow). It sounds like a good idea to me. You'd just need to trust the amount of redundancy that you could build in to the system. It would work best if you knew and personally trusted each person who was running a host. So say you got about 100 or a 1000 people from around the world together based on a 'trust' scheme (that is, you get referred in) you could each have a pretty secure copy of your own data stored off-site in a safe manner. You could burn keys to a CD and encrypt those keys with a password, then you could keep a CD at your place, and one in a safety deposit box.

John.


Copyright © 2003-2005 John Elliot