Add nostr support to read/write to relays in wallets such as Cake, Feather, Monerujo, GUI, etc

Signup:

  1. Wallet generates nostr npub and nsec (and stresses hard to the user to keep it safe since it is the most valuable piece of information they will ever own)
  2. Wallet generates a polyseed
  3. Wallet encrypts seed and publishes it to say 10 nostr relays

Login:

  1. User enters nsec or uses an auth app such as Amber
  2. Wallet reads all notes to get the encrypted seed
  3. Once found the wallet discards all notes that are not encrypted seeds
  4. If only one encrypted seed is found, it is used. Otherwise, a list is shown to the user and they can choose which one to use.
  5. Syncs wallet and use as we do today

I see three existential cons with this.

  1. Loss or theft (possibly by physical force)
  2. The encryption algorithm turns out to be flawed.
  3. Quantum computers break encryption.

This also would have privacy implications since if other applications start using it that could basically turn your npub into a public digital ID (ala worldcoin/social credit score). Sure, each application may use encrypted data, but somebody would still know that you use a ride-sharing application, or a Monero wallet, etc. And what times you use them at (at least for interactive apps such as rideshare/websites).