1. The client can regularly check the relays and republish the list of salts if they are deleted.
2. Every vendor can setup their own relay.
3. The list of salts is backup-ed automatically by ios/android because its in the app data and is not "secret".
4. The same list can be exported by the client to a simple text file if the user wants a wallet independent backup and doesn't want to run any app using this protocol for a long time.
5. Passkey rotation is generally not needed because the secret part of the passkey is not supposed to leave the TEE except when migrating from one vendor to another (using a secure protocol like CXP). In the exceptional case of a passkey compromise, the user can always move its funds to another wallet using a new passkey.
6. The UX cost of using iCloud/GDrive is very high (login, vendor auth)
Thanks for clarifying.
1-4: makes sense. The downside of relays is IP address (location) leakage to multiple untrusted server if users are not using a VPN.
5: I agree for a wallet use case. But for nostr the user loses his social graph.
6: the UX cost is zero for icloud-key-value-store (users are generally logged into their Apple ID on iOS). On Android there is a UX cost. The main upside I see is 2FA though. Compromise of a passkey is not unlikely on a desktop computer due to higher malware risk. Users could recover their wallet only on mobile devices. A user using yubikeys to secure their Apple/Google account would be resistent to an adversary that has compromised their laptop.
Re 5. The passkey is used explicitly for the wallet.
Re 6. A regular user doesn't store his passkeys in his desktop, and the passkey stays in his phone or physical key and only the prf result is sent to the desktop.
How does a user prevent sync of the passkey to his desktop? iCloud Keychain items are synced to all devices. Same with 1Password.
Thread collapsed
Thread collapsed
Thread collapsed