Martin Kleppmann describes conceptual sync servers + peer to peer when available and that a generic protocol should enable users to switch sync servers when theirs isn’t available. The talk leans towards CRDTs and frames this around data sovereignty, but I think it’s a useful design more broadly; reminds me of some attempts I made at using the local network to sync.
I think the whole 15 minutes is worth a listen, but there’s a more direct sketch at 12:55. The last talk by Brendan from iroh also has a cool demo of P2P syncing that ‘works’.