Data needs to be stored. You either store it locally, and as such it is only accessible when the device is on, or it's stored on a central repository or index, meaning it's always on even if one of the devices is off.
How do you tackle this? How do you make sure that user A tries to access news feed of user B, and fails to get it because user's B device is offline?
Maybe I'm being slow or noobish, but it seems to be the same problem one has with bitorrent: user A downloads from user B if user B is online. If data is common, I have multiple seeds, but social network implies that nobody has the same data. Unless you copy my graph to my friends "device" so one has multiple seeds, which could be quite unpractical on mobile devices if I have a lot of friends.
How do you solve this "intermittent issue" and the synchronization and persistence problems it generates? Without a central "clearing"/indexing server? Even Skype has "Super nodes" to handle this issues...
This aside from the fact that "IPV6 deployment" is not going to be a easy cake to bake, one has to fix the problems faced by GPG trust model to ensure that two parties can verify (with some degree of trust) that the other party with whom they're communicating is, indeed, the person they expect, dynamic IPs, and so on.