Open-source client software with strong public-key cryptography (built to a spec, like XMPP clients)
Web of trust for key verification
Content hosted on your friends' computers (similar to Freenet and Wuala)
Web of trust for key verification
Content hosted on your friends' computers (similar to Freenet and Wuala)
Would need to supporting work both as as server application and a thick client.
Sounds a bit like an open Lotus Notes...
I think getting the security model for distributed content would be the crux of this kind of architecture, and I suspect that is probably solvable and would really benefit from an open architecture with multiple implementations.