diff --git a/protocols/peergos.md b/protocols/peergos.md new file mode 100644 index 0000000..d51f944 --- /dev/null +++ b/protocols/peergos.md @@ -0,0 +1,17 @@ +# Peergos + +Peergos is an e2e encrypted distributed file storage service. At the base layer, files are stored using IPFS. + +### Identity + +There is a global append-only log for the public key to username mappings. This is mirrored on every node in the peergos system. (how is consensus guaranteed?) + +### 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 hashed data. + +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. + +### Social + +Users can follow each other. Follow requests are sent through a user’s storage server, which is contacted via its public key. Follows are one-way, and allow sharing files and sending messages.