Update peergos.md

This commit is contained in:
Ian Preston 2020-05-18 00:09:48 +00:00
parent e97b25c503
commit 7f7d476359
1 changed files with 5 additions and 2 deletions

View File

@ -1,6 +1,7 @@
# Peergos
Peergos is an e2e encrypted storage, social and application protocol and platform. It is built on top of IPFS. More information is available in their [book](https://book.peergos.org) or their [source](https://github.com/peergos/peergos).
Peergos is a peer-to-peer end-to-end encrypted storage, social and application protocol and platform. It is built on top of IPFS. More information is available in their [book](https://book.peergos.org) or their [source](https://github.com/peergos/peergos).
It is designed to be independent of DNS and TLS certificate authorities and use strong quantum resistant encryption and design.
### Identity
@ -12,10 +13,12 @@ This enables multiple device support, and no awkward key management UX. The user
### Data storage
Each user must have at least one peergos server. The servers run an instance of IPFS. Data is content-addressed: stored in mappings from hash to data. During upload the client splits files into 5 MiB chunks which are each independently encrypted (along with encrypted metadata) and stored in a merkle-CHAMP (compressed hash array mapped prefix trie) in ipfs. Directories can't be distinguished from small files, nor are the sizes of files, or the number of files, or directory structure, or who has access to them visible to the server.
Each user must have at least one peergos server (A server can host any number of users and any server can choose to mirror data for any user). The servers run an instance of IPFS. Data is content-addressed: stored in mappings from hash to data. During upload the client splits files into 5 MiB chunks which are each independently encrypted (along with encrypted metadata) and stored in a merkle-CHAMP (compressed hash array mapped prefix trie) in ipfs. Directories can't be distinguished from small files, nor are the sizes of files, or the number of files, or directory structure, or who has access to them visible to the server.
The user lists the IPFS node id of the server (hash of its public key). It synchronizes their writes and displays the latest root hashes. Data is always encrypted on the servers. The servers are in fact trustless - in that they don't have access to any sensitive information, and clients don't rely on them for authenticity or privacy. Furthermore, the servers don't trust IPFS, or the data store (which can be further removed, e.g. S3).
Peergos can handle arbitrarily large files, including random access, upload and download, even on under powered devices like mobile phones. This is largely due to the independently encrypting each 5 MiB section, as well as our novel "[zero IO](https://peergos.org/posts/fast-seeking)" seeking within a file.
### Social
Users can follow each other. Follow requests are sent through a users storage server, which is contacted via its public key. Follows are one-way, and allow sharing files and sending messages. Critically, the server never sees who is following who (even follow requests are blinded). You store your own social graph encrypted in your peergos space.