
Peergos – A decentralised, secure file storage, sharing and social network - arm
https://github.com/ianopolous/Peergos
======
shazow
Looks like it's built on top of IPFS. Very cool. (Recent HN thread on IPFS in
case HN readers missed out:
[https://news.ycombinator.com/item?id=11134766](https://news.ycombinator.com/item?id=11134766))

ianpolous, can you comment on your experience of building a service on top of
IPFS?

How coupled is Peergos to IPFS, and how interoperable are your client
implementations with potential other clients? Are there plans for third-party
clients to interact with Peergos data formats over the same network?

~~~
ianopolous
We actually started a year before IPFS so we built our own DHT, but then IPFS
came along and did a better job (the DHT part was never our primary focus) so
we adopted theirs. IPFS is a pleasure to work with, both programmatically and
people-wise. Juan and Jeremy and the rest of the team are super friendly and
responsive, and make great design decisions. Without sounding like I've drunk
some coolaid, I really do think that IPFS is the future.

Currently we use IPFS for the P2P networking and treat it as a distributed
hash table, so it has a really simple interface. As soon as IPNS is mature
enough we will also switch to using that over our current centralised signed
hash updates. Eventually we hope to use Filecoin as well for getting others to
store your fragments. We have a centralised "core node" which stores username
<\--> public key mappings and pending follow requests, however both of these
are well suited to some kind of blockchain for full decentralization. We
currently proxy all queries to IPFS through our own server (either our public
server, or the one you run on your machine), but that is not a fundamental
requirement. We are working on a FUSE implementation as well. Everything we do
is open source so yes anyone could write their own client.

~~~
shazow
If I were going to implement my own client for a subset of Peergos, is the
protocol format documented somewhere?

Is it a priority to encourage this kind of developer participation, or are you
going to focus on your own implementation before encouraging participation?
(Bonus points for demo minimal implementations.)

As another commenter said, I'm also more excited about a social network
"protocol" than another social network.

~~~
ianopolous
At the moment, no, you're the first person who's asked :-). It is however a
pretty simple REST api, which would be easy for us to document. The main
things you'll need in the client are TweetNaCl, scrypt and an implementation
of our slight simplification of cryptree [1]. We have Java and Javascript
implementations (though the Java isn't quite up-to-date).

[1] [http://boga.googlecode.com/svn/trunk/res/Docs/wuala-
cryptree...](http://boga.googlecode.com/svn/trunk/res/Docs/wuala-cryptree.pdf)

------
ianopolous
Founder here, we aren't really ready for a "slashdotting" at the moment, and
are in the process of creating a new website with more and better
explanations, but if you have any questions we will try to answer them here.

------
atrudeau
Mmmm, I've seen dozens of decentralized social networks come and go. Hope this
one makes it.

~~~
mbreese
If anything will take hold, my money is on a social network protocol, with the
possibility for multiple implementations rather than a distributed
application. Until I see an RFC, I'm not optimistic.

~~~
atrudeau
Well, xmpp was fully specified and it went the way of the dog, and did a
fraction of what a full social network does. But I like the idea.

Perhaps combining xmpp with a social graph and some content blobs for photos
and whatnot would be a start.

~~~
jjn2009
used to be a part of facebook chat api at one point which was probably the
height of the protocol:
[https://developers.facebook.com/docs/chat](https://developers.facebook.com/docs/chat)

