Users set their own relays. Other users can see this list and use it to send and receive events. It's fixed the need of big common relays.
https://nips.nostr.com/65
So how does this hypothetical client find out what non-big relays have been set by the other users whose notes its user wants to receive, if not by receiving notes from those other users via one of the big common relays?
This is the "bootstrap problem" faced by all p2p networks.
NIP65 suggests spreading relay lists widely and to "pay attention" to popular relays:
> Clients SHOULD spread an author's kind:10002 event to as many relays as viable, paying attention to relays that, at any moment, serve naturally as well-known public indexers for these relay lists (where most other clients and users are connecting to in order to publish and fetch those).
Note this is different to centralising the whole protocol on popular relays. If affects the discovery phase only, and is robust to large relays disappearing.
If clients seed address lists widely they can easily find each other without major centralisation.
Most clients now support outbox, so you don't need a common relay. Users have inbox and outbox relays, and clients use these to retrieve and send notes.
Animals absolutely do synthesize nutritious substances that you can't get out of plants. For instance humans, as long as we ingest the 9 essential amino acids, can create from scratch any protein our body needs. Our bodies are also capable of turning protein and fat into carbohydrates when needed (https://en.wikipedia.org/wiki/Gluconeogenesis).
Animals, us included, are not inefficient filters, or tanks that hold minerals and energy. We are chemistry sets designed for survival in a wide range of conditions.