When uploading descriptors, the hidden service needs to make sure that descriptors for different clients are not uploaded at the same time (cf. Section 1.1) which is also a limiting factor for the number of clients.
At the moment it's unclear how it should be implemented and why.
What is the threat model here?
How exactly descriptors should be uploaded?
In what range delays should be set?
How this will work along with absent delays after #20082 (moved)?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
Would be good also to extend this analysis to next generation HS (prop224) as it will become important to figure out the behavior we want before deployment.
Trying to answer the original questions of this ticket:
What is the threat model here?
As a network observer or Guard of a tor with multiple hidden services, not uploading them at the same time can help hide the fact that A.onion and B.onion aren't necessarily on the same tor instance. Not perfect of course but it helps.
How exactly descriptors should be uploaded?
I assume at least at a random interval that is inside the lifetime of the descriptor on the HSDir side which is 3 hours right now by default with prop224.
In what range delays should be set?
The above I think answers it.
How this will work along with absent delays after #20082 (moved)?
At startup, the service establishes intro points and once they are set for a descriptor, it's immediately uploaded. So at startup, for reachability reasons, we upload as soon as we can. Adding any kind of random delay here could be really annoying for users and application type like Ricochet for instance.
That being said, I'm closing the ticket so we can move on BUT if anything could be improved here or needs more clarification, I suggest we go through tor-dev@ for a discussion and then we can either patch the code or/and the spec according to the conclusions.
Trac: Status: assigned to closed Resolution: N/Ato fixed