this means you could have a farmers market in the middle of nowhere with no internet connection and people could just pay each other digitally with nuts 😂

Reply to this note

Please Login to reply.

Discussion

Eggs 🥚 HAX li

i need more details on this as i thought the ecash was a bearer string that once redeemed, is no good.

if im correct, its kind of like a private key and complicates transfers offline and even verifying in person. consider this..

merchant selling good

customer gives ecash

merchant tries to redeem but system reports already redeemed

customer claims merchant lying

neither party can prove it

possible solutions...

merchant requests user to issue ecash on the spot and redeems instantly. customer can still commit fraud if using a custom client that redeems without showing. likewise for a merchant. downside of open source is this is possible, and with the privacy of ecash cant independently verify.

doing anything offline exacerbates this. i wouldnt do any exchange for products unless i knew i could trust my counterparty

nostr:note1aury5t0df7hjv34sfdc84jcv07p9fuejcz0q55rqqwhv7y8kugxshd55zk

You can provably lock ecash to a pubkey. Also, if the recipient knows the pubkey of the issuing mint they can verify it using the unredeemed ecash token. So to do offline transfers the sender & recipient must both be aware of the same mint. The sender locks some ecash so that it can only be redeemed by the recipient's pubkey. The recipient can verify this without a network connection & they know that no one else can redeem the ecash because no one else has their privkey.

I still dont see how that addresses this...

Everyone offline. double-spender (DS) has ecash. they make copies of the string for each. at merchant 1 (M1), DS locks a copy of the ecash to M1. DS repeats with copies for merchant 2 (M2) to N. Receivers M1, M2, . . MN all have received locked ecash to their pubkey and are offline. Everyone leaves the market, returning to an area that has network connectivity.

I believe you are correct in your example. The sender needs to talk to the mint to create some ecash locked to the recipient's pubkey. It includes a locktime clause so the sender can sweep the tokens back after a timeout. You can do fully offline sending and receiving if you're running a cashu mint on your phone. If not, the sender will need to have a network connection or mint tokens ahead of time.

https://github.com/cashubtc/nuts/blob/main/11.md

https://github.com/cashubtc/nuts/blob/main/12.md

It's always possible for the mint to do shenanigans. User and mint is a trusted relationship. In the offline market I think you could have multiple offline cashu mints that compete in terms of reputation. It's free banking in the digital age. 🤙

Don't forget to sweep those tokens once you are back on WiFi!

couldnt they be double spent then? whoever talks to the mint first wins

Yeah I think so. Kinda like doing a chargeback with your credit card. I guess the merchants would need internet access to prevent this. Customers won’t need internet access though.