It depends. P2P gets complicated, and we don’t (yet) have a high-level system for it. The biggest performance issue is topology. If you just have every peer replicating with every other peer, you get an O(n^2) growth in the amount of replication, and there will be a lot of useless traffic like “do you have this revision yet?” “Yes, I do.”. To get around this you want to get closer to something like a spanning tree, which has the minimum number of connections, but organizing those dynamically is challenging.
No, other than performance. (Well, and the number of simultaneous open TCP sockets, which is something like 50,000.)
—Jens