Q: What is DataHaven.NET?
DataHaven.NET - is a peer-to-peer online backup utility.
Imagine that you need the most reliable to keep the contents of a folder on your hard drive and be sure that only you have access to this data.
We propose to divide the data into blocks, compress, encrypt and store them on the computers of other users.
The system is designed in such a way that will keep track of each user which stores your information, and each block of your data and maintain a state in which you can always get your data back.
Q: This is better than Ubuntu One?
It's just online storage. Google and many other companies provide this. The bottom line is that you upload your data to their server. While the server is alive - you're right. But the server even Google can fail. Or it may be hacked. Or it will blow up the terrorists. Think of all the horrors of your choice. Your data - under threat!
But the main drawback of this topic - your data may be withdrawn or removed by other people. And you're about it - learn the latest. For example, the owner of Google can watch your data. Or they may receive an official request from the Government about your data. The company you trust, and pay money for years - can not save your data from the Government. This is correct. When you register a new account you agree with Google license, there is a point about this.
We have a different meaning. Due to the distributed data storage and encryption, no one can get your data. Even DataHaven.NET, because only you have access to your private key.
The project is based on a simple idea: data can be distributed and restored from remote machines. We can't prevent people from doing such things using another software, right? So we just help you to protect your privacy. In fact all we do is just help people to find each other in the Net.
Q: So, where data is stored in fact?
On users' computers. As well as a torrent. Installing the program yourself - and your computer will store data about other users.
When installing specify how many are willing to give space to others, and how much you need most.
Q: The idea is interesting, that's only the availability of data becomes unstable ...
Not at all. Accessibility is ensured easy. Users are not long in the network - are replaced by fresh and they pumped the data again. This happens automatically. Must itself be online and the program will follow this.
Q: And if your Central server crashes?
If the Central server crashes - then the users just can not change their suppliers. They can still recover the data if there is a connection with a sufficient number of suppliers.
Q: Who the hell, are these "suppliers"?
supplier - a user who has agreed to store your data on his computer
customer - a user whose data is stored on your computer
You can have from 2 to 64 suppliers and unlimited number of customers
There are other concepts that we introduce to describe our project. Take a look at a full glossary of terms that we understand each other.
Q: And how DataHaven.NET going to make money? Donate?
None. You can buy and sell space on the hard drives from other users. And we take a percentage.
Q: That is the person who wants to save the data, paid to those who would keep them? Well, plus your interest?
Yup. You pay your suppliers, but your customers pay you.
In any backup system you have to spend money anyway, if you want to securely store the data. But our advantage is that anyone will be able to earn some money.
Q: If the user data stored on multiple computers, the "false keeper" quite simply, instead of the real storage will request data from another. There are emulators for torrents.
He can not simply request the data. To communicate with another user he needs to know his identity. This xml file contains the public key, digital signature, contact information, protocols, etc. This is a public file and can be stored anywhere. At this point, all identity is stored on our server identity.datahaven.net.
The private key is stored only on your computer and even under your pillow, printed in the 2D barcode. All packets are signed and you can not emulate another user without knowing his private key.
Another PC - Another identity - Different user.
If the received packet is wrong - we ignore it and if you want to block the "hacker" user. Replace the identity can not be done - we compare the new file with the old, check the publickey and signature.
Q: ... well
"false keeper" will give /dev/random instead of the real content ...
"false keeper" sign this piece is true to its key ...
this implies that insufficient time to time request data,
they should also check with something ...
here only with what?
The code will periodically check this. Chunks of data to be downloaded and consulted. If the supplier is unable to give us our data is the same - we fired him.
And anyway, we have a sheduled backups.
Q: The data are stored on your network in a compressed state? One piece or separately in multipartite?
I think we are going to make an option for users to be able to use compression.
The whole backup process can be represented in a few steps:
- file dhnbackup is executed, it takes as argument a path to backup folder
- it reads everything inside the folder with tar (optionally compress the files) and send through the pipe to stdout
- the main process dhnmain - reads the data through the pipe, hit the blocks, encrypts them and sends all to suppliers
- remote supplier in turn put the blocks in the right subfolder of his HDD.