Hacker News new | past | comments | ask | show | jobs | submit login

The decentralized storage applications are interesting to me since I've been working on something similar for a networking project. The problem I see is data accessibility. What do you do when your data is shared among others laptops that aren't currently connected to the internet?

Clearly, for any sort of data where reliable access is important this won't be viable. It seems to me that it is only useful to do distributed storage among servers, rather than laptop or desktop computers, since servers have high availability requirements already and aren't likely to be taken off the network.

Second, you probably need to trust the servers you are storing your data on. Sure, you have some guise of anonymity, but ultimately you're probably transporting over TCP/IP and so you can look at the IP sender field to figure out who's data you're storing. Obviously this is a huge problem if some malicious person decides they want to corrupt or delete all files stored by certain entities.

Both of these problems (availability and integrity) seem largely intractable when dealing with distributed storage unless you make the limitations I suggested above (trusted computers and only using highly-available servers). Definitely an interesting thing to work on, but probably not viable for consumers (though I could see it working at an enterprise level).




> Second, you probably need to trust the servers you are storing your data on. Sure, you have some guise of anonymity, but ultimately you're probably transporting over TCP/IP and so you can look at the IP sender field to figure out who's data you're storing. Obviously this is a huge problem if some malicious person decides they want to corrupt or delete all files stored by certain entities.

Vitalik Buterin of ethereum worte an excellent blog post addressing all of these concerns. The conclusion is that you can in theory get 99.7% (99.99%) availability by using 3x (4x) redundancy from regular home users (defined as being reachable 50% of the time).

https://blog.ethereum.org/2014/08/16/secret-sharing-erasure-...


I read the post, thanks, it was very interesting. It didn't address at all the concerns about a malicious user inspecting the IP sender field, however, but I suppose one could argue that because availability is high the network can incur the costs of malicious users as long as they do not get above a certain percentage of the entire user base.

Now, one problem with his math is this: the assumption is that any node that goes down will eventually come back up. However, this isn't the case. Say I get a new laptop and throw my old one out or otherwise wipe its drive. Well that's no longer part of the distributed network anymore. Of course, you can add to your file storage protocol by shifting files around as nodes go down, but that adds a lot of complexity.

Ultimately, the problems that are trying to be solved here are very difficult and I think a satisfactory solution via distributed computing is unlikely unless you are willing to make severe trade-offs (such as the ones I suggested, use trusted servers).

Now, making trade-offs doesn't make it useless. It just means the system isn't useful in all cases. Realistically, the data you have on your laptop probably isn't so important that it needs to be replicated across the globe, encrypted, and stored in such a way that the government can't access it. And if it is? Well, it's probably much simpler to just encrypt it on your end, send it to AWS, and get on with whatever you were doing that's so important.


> What do you do when your data is shared among others laptops that aren't currently connected to the internet?

My understanding is that this can be mitigated by giving nodes a financial incentive to regularly be online and able to provide proof they still possess the data.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: