The thing with Nostr is that the protocol spec expressly forbids relays from forwarding messages to each other.
What this means is that users trying to reach each other need to shotgun messages to many relays, or congregate around specific ones. User profile data will list the relays they listen on, but this suffers from the problem of sticky defaults and makes client authors the kingmakers.
There's lots of centralization pressures like this that the protocol maintainers don't have a good answer to. They tout the simplicity of the protocol, which is often a virtue, but they overdid it and made the protocol too simple to achieve its goals.
there are relays built exactly for this, for rebroadcasting. You can do whatever you want in nostr btw.
this is also not entirely needed since you publish a list of relays you use, and so clients publish notes for you to them and you read from the relays of people you interact with.
there are many different people/teams working on different aspects of nostr, there are no protocol maintainers.
it doesn't explicitly forbdit it. It just doesn't spec it out, because it doesn't need it for the protocol to work. There are already many relays and clients that do just this.
Well put, that's exactly what I think of Nostr as well.
But part of the protocol is that user profiles also list the relays where to find their content (where their posts go to) and a second user connects to those relays to fetch their content directly?