View Issue Details

IDProjectCategoryView StatusLast Update
0004751Talerexchangepublic2024-01-12 13:05
ReporterChristian Grothoff 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 closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Version0.1 
Target Version0.4Fixed in Version0.4 
Summary0004751: reserve balances and garbage collection of denomination keys
DescriptionWhen withdrawing from the reserve, we calculate its current balance
by totaling up the existing withdrawals. However, those are tied
to the respecive denomination key. So if a DK is GCed, and the reserve
for which withdrawals with this DK was made still exists, then that
reserve will suddenly again have money in it! (As we forget about the
withdrawals!). So we either need constraints (reserve lifetime << DK
expirations; DK GC only if all reserves have expired), which are awful,
or we need a way to "abbreviate" reserve histories to drop ancient
transactions and replace those by a summary (also ugly, as it violates
the notion that all DBs are 'append-only').

Maybe fast reserve expiration is the best answer?
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0003887 closedChristian Grothoff handle "emergency" where denomination key is overdrawn (/payback) 
related to 0004956 closedChristian Grothoff implement refunds on reserve expiration 
related to 0004526 closedChristian Grothoff unclear when reserve should be expired in the wallet 

Activities

Christian Grothoff

2017-03-19 09:41

manager   ~0011952

We also need to keep reserve data (including account info about how the reserve was initially funded) for 0003887. This imposes further constraints on when reserve information can be GC'ed.

Christian Grothoff

2017-03-19 09:43

manager   ~0011953

0004526 is also interesting, as it relates to possible policies for the wallet creating "new" reserves. We'd not want the wallet to create too many reserves if we keep expensive state for them. OTOH, 0003887 requires that a change in bank account definitively means a new reserve is created. Maybe we can HKDF reserve private keys from a master secret and the bank details?

Christian Grothoff

2017-07-14 17:31

manager   ~0012336

Fixed in Git master.

Christian Grothoff

2021-09-02 16:14

manager   ~0018293

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2016-10-25 14:14Christian GrothoffNew Issue
2016-10-25 14:14Christian GrothoffStatusnew => assigned
2016-10-25 14:14Christian GrothoffAssigned To => Sree Harsha Totakura
2016-10-25 14:14Christian GrothoffAssigned ToSree Harsha Totakura =>
2016-10-25 14:14Christian GrothoffStatusassigned => acknowledged
2017-03-19 09:40Christian GrothoffRelationship addedrelated to 0003887
2017-03-19 09:41Christian GrothoffNote Added: 0011952
2017-03-19 09:41Christian GrothoffRelationship addedrelated to 0004956
2017-03-19 09:42Christian GrothoffRelationship addedrelated to 0004526
2017-03-19 09:43Christian GrothoffNote Added: 0011953
2017-04-08 22:09Christian GrothoffAssigned To => Christian Grothoff
2017-04-08 22:09Christian GrothoffStatusacknowledged => assigned
2017-07-14 17:31Christian GrothoffStatusassigned => informing
2017-07-14 17:31Christian GrothoffResolutionopen => fixed
2017-07-14 17:31Christian GrothoffFixed in Version => 0.4
2017-07-14 17:31Christian GrothoffNote Added: 0012336
2017-07-14 17:31Christian GrothoffTarget Version0.5 => 0.4
2017-10-18 13:42Christian GrothoffStatusinforming => closed
2021-09-02 16:13Christian Grothoff
2021-09-02 16:14Christian GrothoffNote Added: 0018293
2024-01-12 13:05Christian GrothoffCategoryexchange Postgres DB backend => exchange