View Issue Details

IDProjectCategoryView StatusLast Update
0004116Talerspecificationpublic2024-01-12 13:03
ReporterFlorian Dold Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
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.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2016-01-05 17: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 20:19

manager   ~0010053

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

Issue History

Date ModifiedUsernameFieldChange
2015-12-29 09:43Florian DoldNew Issue
2015-12-29 09:43Florian DoldStatusnew => assigned
2015-12-29 09:43Florian DoldAssigned To => Christian Grothoff
2016-01-05 17:12Christian GrothoffNote Added: 0010048
2016-01-05 17:12Christian GrothoffStatusassigned => acknowledged
2016-01-07 20:19Florian DoldNote Added: 0010053
2016-01-07 20:19Florian DoldStatusacknowledged => informing
2016-01-07 20:19Florian DoldResolutionopen => no change required
2016-01-07 20:31Christian GrothoffStatusinforming => closed
2016-01-07 20:31Christian GrothoffProduct Version => 0.0
2016-01-07 20:31Christian GrothoffTarget Version => 0.0
2016-02-18 14:44Christian GrothoffCategorymint API (HTTP specification) => exchange API (HTTP specification)
2024-01-12 13:03Christian GrothoffCategoryexchange API (HTTP specification) => specification