Enable repeat responses to successful Lox requests
Lox credentials are spend once, which means that once a Lox request successfully completes, the credential used to make the request is spent and can not be used to make a successful request again. This is fine in theory, where the Internet and networking is abstracted from the design, but could lead to a lot of very annoying unrecoverable state issues for Tor users, especially those in censored regions, in practice. I remember discussing some adjustment to Lox where spent IDs and their exact responses are stored together for some period of time so a spent credential can be replayed and expect to get the exact response that was issued previously, just in case the connection reset or some other issue occurred that prevented the client from receiving the LA's response. This change shouldn't cause any compromise of Lox's security/privacy goals. This would not, for example, give the user a fresh credential every time they made the same request. It would only help them recover from an unfinished state so that they would have the same spend-once credential they originally would have received. As far as I can tell, the implications for our system here are of the storage variety. How long is it reasonable to store these id
, response
pairs and how much is it going to cost in terms of disk space?