View Issue Details

IDProjectCategoryView StatusLast Update
0004116Talerspecificationpublic2024-01-12 14:03
ReporterFlorian Dold Assigned ToChristian Grothoff  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionno change required 
Product Version0.0 
Target Version0.0 
Summary0004116: there should be an API to request the status of coins
DescriptionSomething like /coin?coin_pub=XYZ should return the amount left on the coin, as well as a list of transactions.
TagsNo tags attached.

Activities

Christian Grothoff

2016-01-05 18:12

manager   ~0010048

I'm less and less sure that we actually want this.

(1) Having such an API means the mint can be DDoSed with legal requests, as we cannot charge for processing status requests, but do have to go through our DB.

(2) If the wallet uses this API, we may get linkability. Usually a coin is used once or twice (spend, refresh), and both events are strictly correlated. Here, we may use a coin's key more times. And a wallet going through all of its coins requesting status allows the mint to correlate those coins (hey, they must all be from the same wallet!). We'd have to use the API very carefully (new Tor exit, random delays, etc.) and even then it would leak information.

(3) It does make it slightly safer to 'share' coins with untrusted parties, as the receiver can check if the coin was already spent. Not having that ability is a good thing, as it makes it even less save to share coins with untrusted parties.

(4) All this just to pre-emptively not run into troubles on payments after 'restore from backup', and even then we cannot guarantee that those troubles won't happen due to concurrency: the status can change anytime, so we cannot rely on the API anyway!

(5) The API violates "Keep it simple"!

So that's 5 reasons NOT to do this.

Florian Dold

2016-01-07 21:19

manager   ~0010053

As discussed here, on the mailing list, and offline, we have decided against this (mis-)feature.

Issue History

Date Modified Username Field Change
2015-12-29 10:43 Florian Dold New Issue
2015-12-29 10:43 Florian Dold Status new => assigned
2015-12-29 10:43 Florian Dold Assigned To => Christian Grothoff
2016-01-05 18:12 Christian Grothoff Note Added: 0010048
2016-01-05 18:12 Christian Grothoff Status assigned => acknowledged
2016-01-07 21:19 Florian Dold Note Added: 0010053
2016-01-07 21:19 Florian Dold Status acknowledged => resolved
2016-01-07 21:19 Florian Dold Resolution open => no change required
2016-01-07 21:31 Christian Grothoff Status resolved => closed
2016-01-07 21:31 Christian Grothoff Product Version => 0.0
2016-01-07 21:31 Christian Grothoff Target Version => 0.0
2016-02-18 15:44 Christian Grothoff Category mint API (HTTP specification) => exchange API (HTTP specification)
2024-01-12 14:03 Christian Grothoff Category exchange API (HTTP specification) => specification