Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Considerations regarding a p2p social network

While the are many social networks in the wild, most rely on data stored on a central site owned by a third party.

I'd like to build a solution, where data remains local on member's systems. Think of the project as an address book, which automagically updates contact's data as soon a a contact changes its coordinates. This base idea might get extended later on...

Updates will be transferred using public/private key cryptography using a central host. The sole role of the host is to be a store and forward intermediate. Private keys remain private on each member's system.

If two client are both online and a p2p connection could be established, the clients could transfer data telegrams without the central host.

Thus, sender and receiver will be the only parties which are able create authentic messages.

Questions:

  • Do exist certain protocols which I should adopt?
  • Are there any security concerns I should keep in mind?
  • Do exist certain services which should be integrated or used somehow?

More technically:

  • Use e.g. Amazon or Google provided services?
  • Or better use a raw web-server? If yes: Why?
  • Which algorithm and key length should be used?

UPDATE-1

I googled my own question title and found this academic project developed 2008/09: http://www.lifesocial.org/.

like image 787
SteAp Avatar asked Jul 17 '11 16:07

SteAp


People also ask

What kind of issues we can have with a P2P?

Content shared via P2P applications is sometimes infected with malware, sometimes contains legally protected copyrighted material, or may sometimes contain personal data accidentally shared! Once a P2P application is installed on your machine, much of the P2P activity is automatic and runs unnoticed in the background.

What are requirements to configure P2P network?

P2P - Peer to Peer Synchronization RequirementsRouter + network cables (minimum 2) Switch/hub + network cables (minimum 2) Wireless router. Wireless Access Point.

What is the unique feature of peer-to-peer social media platforms?

The features of a P2P based system are: P2P scales so well, locality of peers can be taken into account and social networking can be done without any internet connectivity in some mobile devices, people will have full control over their content.


1 Answers

The solution you are describing sounds remarkably like email, with encrypted messages as the payload, and an application rather than a human being creating the messages.

It doesn't really sound like "p2p" - in most P2P protocols, the only requirement for central servers is discovery - you're using store & forward.

As a quick proof of concept, I'd set up an email server, and build an application that sends emails to addresses registered on that server, encrypted using PGP - the tooling and libraries are available, so you should be able to get that up and running in days, rather than weeks. In my experience, building a throw-away PoC for this kind of question is a great way of sifting out the nugget of my idea.

The second issue is that the nature of a social network is that it's a network. Your design may require you to store more than the data of the two direct contacts - you may also have to store their friends, or at least the public interactions those friends have had.

This may not be part of your plan, but if it is, you need to think it through early on - you may end up having to transmit the entire social graph to each participant for local storage, which creates a scalability problem....

like image 83
Neville Kuyt Avatar answered Nov 09 '22 00:11

Neville Kuyt