Yes, what Jude said. P2P communication between Radiks servers is totally possible, but the hard part is how to do it right. Preventing DDoS is the hard part, I think.
It is also possible for Radiks servers to implement their own rate limiting logic, instead of some ‘admin’ server doing the rate limiting.
It is possible also for individuals users to try and DDoS a radiks server, just like they could with any other server. Radiks servers should be able to rate limit individual users, either by IP, Blockstack ID, and/or a combination of other things.
Once we have Stacks smart contracts, I think the best way for radiks servers to sync is via a smart contract, where they can periodically broadcast the changes they’ve seen. Since there would be a small cost with that, it would at least partially prevent sybil attacks. I’d still like to implement p2p sync before we have smart contracts.
Another hard part of p2p sync is that users can’t get their same private key across different domains. This would mean each user can only log into one radiks server. Collections will totally fix this, though.