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 😂
Discussion
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.
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!