I can have my date hosted, but if my friends don't (that's why they use your service, so not to have to do that, or else they remain with Facebook, LinkedIn, etc. That's your USP), I can only access their data when my friends devices are online. Or, alternatively, you store my whole friends graph on my device, which presents scalability and performance issues. Or, 3rd route, you store my friends data on multiple devices on the network, doing "multiple seeds". Again, we're back to "opps my data is all over the place", when your Unique Selling Point was P2P = privacy, no need to centralize.
Even Skype Supernodes don't solve this issue. They solve some of the routing issue. Not the "address book/data issue". You don't seem to solve it either.
With all due respect, this is where you are incorrect. Devices today completely capable of handling a large amount of compressed plain text data. Media would will be links to external sources as storage capacities play catch up.
The CPU of the device would be able to map your entire social graph and do things that are not possible today being that calculating a social graph on a central server for each user is EXTREMELY expensive and basically impossible with high-load services. Kind of like the concept behind folding @ home.