Anonymous p2p
Surely it's not that hard to make p2p almost completely anonymous. Encrypted traffic is a given, but you also need to make it hard to rogue clients to track usage.
So, simply ensure all p2p traffic is proxied via a random other machine on the p2p network. If you want to download a file, your computer picks a p2p member at random and proxies the request anonymously through them. If you are offering files for upload, your files are also anonymously proxied via random other members.
Even better, when the client receives a proxy request, also have a random chance for it to proxy that out to a further machine.
A rogue client can now see that information is being requested by someone on the network, but it has no way to see exactly which particular client is uploading or downloading that file. Proxied information should also be encrypted so the proxies don't see the full story either. There should be no difference between a proxied packet, and one originating from the client.
Essentially all information transmitted is one way, the destination is known, but the source is not since you don't know how many proxies it has passed through.