Nostr clients should implement Cashu wallets and a Cashu-based zap standard using P2PK to Nostr key instead of LNURL.
Login to reply
Replies (17)
If wallets implement this, it is nearly unstoppable. The event stores the money itself! It only redeemable by the owner of the public key. But there is a lock time condition, as well: if the owner doesn’t claim the ecash, you can refund to yourself after a time.
All of this happens without touching LN.
Cashu is Wallet of Satoshi on STERROIDS.
That's sounds cool, the question is do they all use the same mint? Trusting a mint, is the issue. Do you see clients establishing some sort of federation?
It took a bit to build but now all the pieces are there in the protocol:
- P2PK that allows you to mint ecash that only the owner of an npub can spend [1]
- DLEQ proofs that allow *anyone* to check if the ecash that is publicly posted is signed by the mint public keys [2]
With this, we could do the following:
- Alice posts something nice on nostr
- Carol has a nostr client with Cashu support. Carol takes 100 sats of ecash and locks it with P2PK to Alice's npub.
- Carol now has ecash locked to Alice and DLEQ proofs (it's all inside the ecash token).
- Carol zaps Alices nostr post by simply replying with the ecash (using a special nutzap kind)
- Alice sees that she received ecash that only she can spend.
- Dave, another nostr user sees Alice's post and Carol's ecash. Dave checks with the DLEQ proof if the ecash is valid and the P2PK lock is indeed Alice's npub. If so, Dave's client displays "100 sats zapped from Alice to Carol"
[1]: https://github.com/cashubtc/nuts/blob/main/11.md
[2]: https://github.com/cashubtc/nuts/blob/main/12.md
looks like the risk profile would be the same as WoS, trusting the mint vs trusting WoS custodian.
the big benefit imo would be blinded and offline payments
Risk profile is roughly the same. With Cashu, you can have offline payments and superior privacy as you said, but also a totally open transparent standard developed in the open, interoperable mints, etc
Here for the replies.
Can you see and validate the amount on the outside? E.g. can other see how much someone has been nutzapped?
Is cashu ready to create lightning addresses for Nostr?
Sounds overly complicated and such requirement would likely kill zaps.
No, it’s the opposite. It would set zaps free
The mint doesn't care if you live in the USA 🇺🇲
This new feature has to be called “Deez Nuts.”
Is it possible to implement an anonymous zap, known only to Alice and Carol?
Well, zaps are supposed to be public, but you could send ecash through encrypted messages, for sure.
You have to handle
- cryptography
- communication with a central server
- UI
- ...
vs user choses any external app he likes.
The latter is clearly simpler.
A protocol to ask external wallet for cashu-zaps could partially solve it but there's still the added complexity of parsing and validating new kinds of events.
Ah, you mean it’s more complicated for the client developer? Yeah, it is. It is simpler for the user, though (it all stays in one app).
Most Nostr clients are JavaScript, and the typescript library is amazing.
Yes, that. To succeed we need to keep theAPI accessible. Having great libraries can help but only TypeScript is not going to cut it. I suspect we'll need more of the performance focused languages as nostr is very heavy.