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