pull down to refresh

in what ways am I giving SN the ability to spend my money: when you have SN's website loaded, your wallet is decrypted, and your browser is connected to the internet, SN's clientside code has the ability to spend your money from your browser.
in what ways am I NOT giving SN the ability to spend my money: when SN's website is NOT loaded in your browser or your wallet is NOT decrypted or your browser is NOT connected to the internet, SN cannot spend your money.
in what ways WOULD I be giving SN the ability to spend my money IF SN did this differently: SN, or anyone who gained access to SN's database, would be able to spend your money at will, at anytime.
5070 sats \ 6 replies \ @k00b 20 Sep
It may seem like we're punishing ourselves by being paranoid and doing something that may only sound marginally safer, but we think it's more than marginally safer and worth the pain -- assuming we can smooth out the UX.
Further, establishing the precedent and expertise around not storing any sensitive customer data on the servers will afford us great agility when doing things like end-to-end encrypted DMs (which we see as critical to providing marketplace and private chat/community features worthy of bitcoiners).
reply
reply
Also, no nostr client is using NWC to receive, they all use lightning addresses afaik
Ask yourself why
reply
I... don't know why. The UX is more steps?
reply
30 sats \ 2 replies \ @ek OP 21 Sep
If they would use NWC to receive:
  1. They only store credentials to receive on your device, so you can only receive when your device is online (additionally to the requirement that whichever lightning node you use needs to be online).
  2. They store credentials to receive on their server so your device does not have to be online to receive, but now they need to make sure these credentials do NOT allow spending else they or anyone with access to them can spend from your wallet.
Since most nostr clients do not run a server, they can only use option 1 and that is a very bad user experience.

edit: Wait, I said something wrong. They could add NWC for receiving to nostr profiles, and clients could then fetch it and use it to request invoices from your node, but the permissions need to be checked before adding it to your profile for everyone to see.
Sorry, I just woke up lol
reply
Is this why you guys require separate receive / spend NWC strings?
reply
Yes, credentials to receive must be shared so people can send you money.
Credentials to spend must be kept private so people cannot steal your money.
NWC does make this distinction very hard, because all NWC strings look the same, so the user is understandably very confused. And some apps (like Coinos) do not even allow to remove permissions from them.
reply
10 sats \ 1 reply \ @DP0604 20 Sep
Hey, I didn't know this. I recently started using Coinos, is one of the wallets I used as a beginner to start my journey with Bitcoin.
reply
It's a great place to start!
reply
Where exactly on the browser is the decrypted wallet stored? And does this mean our NWC is encrypted and living on your database?
reply
21 sats \ 7 replies \ @ek OP 21 Sep
In memory
reply
Got it. But then where's it come from / get hydrated? Does that mean it's living encrypted on your DB?
reply
Yes, that’s how you have access to it on all devices and have to enter the same passphrase on all of them (we have plans to make this not necessary) and how we (or an attacker) don’t have access to it because we can’t decrypt it.
reply
Ahhh, the passphrase decrypts it. THANK YOU!
reply
And I guess last question because I have a severe misunderstanding:
in what ways am I NOT giving SN the ability to spend my money: when SN's website is NOT loaded in your browser or your wallet is NOT decrypted or your browser is NOT connected to the internet, SN cannot spend your money.
The encryption key must live somewhere so can't SN decrypt said NWC and spend money that way? Or do I severely misunderstand NWC
reply
That key is generated on your device and never leaves it. It is stored in IndexedDB as non-extractable.
reply
Super cool. stuff. I learned a lot through this exchange. Thanks a lot!
reply
No worries, more people should understand that we’re not shooting ourselves in the foot for no reason
But most people are high on custodial stuff haha