This is super cool.
Correct me if I'm wrong, but this, combined with NFC tags and offline.cash, would be an amazing UX.
I think you can do this. It would be a transfer of ownership and counterfeit detection all in one!
But that if each note was tied to a specific public key, then the number of times a note could be transferred would be limited. Whenever you transfer ownership of a UTXO, Mercury Wallet creates a backup transaction in case the Mercury server is uncooperative or offline. This lets the UTXO's current owner cash out of Mercury into their own wallet.
To make sure the previous owner can't just broadcast a backup transaction after transferring their UTXO, Mercury puts a time lock on the backup transaction, preventing the transaction from being mined before a certain time. Each transfer makes a new backup transaction with a time lock that expires sooner so that the current owner can send their own backup before any other previous owner.
This means that the UTXO (and therefore the note) can be transferred until the time lock can no longer be subtracted from. The current owner then has to either cash out into their own wallet or transfer the sats into a fresh note.
reply
When is the backup deadline set? Upon instantiation? Or upon each transfer?
reply
I believe its both. When you instantiate a new UTXO with Mercury, a backup transaction is created with the time lock built in. Every time the UTXO is transferred, a new backup transaction is created for the new owner with a time lock that expires sooner than that of the previous owner.
reply
Definitely going to watch their explorer: https://explorer.mercurywallet.com/
reply