views:

216

answers:

2

I'm interested in how you would approach implementing a BitTorrent-like social network. It might have a central server, but it must be able to run in a peer-to-peer manner, without communication to it:

  • If a whole region's network is disconnected from the internet, it should be able to pass updates from users inside the region to each other

  • However, if some computer gets the posts from the central server, it should be able to pass them around.

  • There is some reasonable level of identification; some computers might be dissipating incomplete/incorrect posts or performing DOS attacks. It should be able to describe some information as coming from more trusted computers and some from less trusted.

  • It should be able to theoretically use any computer as a server, however, optimizing dynamically the network so that typically only fast computers with ample internet work as seeders.

  • The network should be able to scale to hundreds of millions of users; however, each particular person is interested in less than a thousand feeds.

  • It should include some Tor-like privacy features.

Purely theoretical question, though inspired by recent events :) I do hope somebody implements it.

+1  A: 

Interesting question. With the use of already existing tor, p2p, darknet features and by using some public/private key infrastructure, you possibly could come up with some great things. It would be nice to see something like this in action. However I see a major problem. Not by some people using it for file sharing, BUT by flooding the network with useless information. I therefore would suggest using a twitter like approach where you can ban and subscribe to certain people and start with a very reduced set of functions at the beginning.

Incidentally we programmers could make a good start to accomplish that goal by NOT saving and analyzing to much information about the users and use safe ways for storing and accessing user related data!

merkuro
Well, I think if we're talking about Twitter, the amount of information from one source is limited to how fast a person can type, which isn't much.
ilya n.
+1  A: 

Interesting, the rendezvous protocol does something similar to this (it grabs "buddies" in the local network)

Bittorrent is a mean of transfering static information, its not intended to have everyone become producers of new content. Also, bittorrent requires that the producer is a dedicated server until all of the clients are able to grab the information.

monksy