So: You sign your message and then attach the public key and push that to a relay?
How would anyone reading that message know that this was actually signed by you and is your public key? There has to be a trusted exchange of the public key before or the relay could just spoof your message. Some messaging apps do a thing where you meet in person and scan the other persons QR code for example. Otherwise, you have to trust the relay. But as I understand it that is not the idea of it.
Again, if you sign a message with a list of pub keys, what if the relay disappears? How do you get around that problem at all without hosting your own relay?
About the relays disappearing, how will people find you on a new set of relays you choose unless they are reading from those already? Relays don't communicate with each other.
Other protocols like ActivityPub ultimately have the same problem. You have to host your own mastodon server to address these things.
I understand the signed message. But this is not P2P, the relay is the (untrusted) middleman. So how is that in any way different than just sending someone an email and signing it? Or publishing signed messages in any other place online? Is it about the convenience of very quickly being able to switch to another relay without a hassle?