P2P payments and double spending

Hi, I listened to the Datenspuren talk (was great!) but I have a technical question. So, I ask the issuer of a coin whether it was already spent to avoid double-spending, this means the issuer will now know the id of the coin. But it was also said that wallet2wallet transfers would be possible. Would that mean that I actually have to exchange a coin to a new coin after each wallet2wallet transfer so that the receiver has an anonymous (blinded) coin? I can’t transfer the same coin multiple times between wallets, or I would ditch the anonymity aspect (also it would look like double-spending to the bank?)

1 Like

Hello @spaetz

Great that you enjoyed the Datenspuren talk

If you do not mind I will make a separate thread for your question for sake of an clear organisation of the forum.

The first answer to your question is: all transactions in GNU Taler go though an exchange this is how anonymity is preserved.
To understand what an exchange is you can look at Exchange - TALER ICH

In this phrase I am not sure in your phrase who is I, I imagine a merchant or a peer …
Wheter P2P or Merchant to Person transaction there is no contact between the peers (or the merchant end the peers). Both parties only are in contact with the exchange, and it is the exchange that verifies the status of the coin to avoid double spending. Still at least one of the parties needs to be connected (no offline transaction possible) to update the status of the coin to the exchange.
Does this makes sense.

Indeed as explained above

Absolutely

2 Likes

Hi @spaetz, GNU Taler developer here. I was not present at Datenspuren but I think I can help clarifying some concepts.

Yes, when you do a P2P transfer the coin is first deposited in the exchange and only after that you can share the QR code with your friend to allow him/her withdraw new coins from the same place.

You can but you shouldn’t, the coin is just a number with some properties saved in your computer storage. Technically, you can print it, share it, let him/her import it into other wallet and use it. The problem is that your friend needs to trust you :slight_smile: that you are not going to spend the coins before you do :scream: because both have a copy of the same number.

There is no anonymity problem, since coins carry no names and no personal id.

Small detail here, there is no “asking” action in the protocol only “spending” and that’s when the coin id (pub key) is revealed.

4 Likes

Thanks for the clarifications, that helped understand the concepts a lot better.

1 Like