Commit 3e656893 authored by George Kadianakis's avatar George Kadianakis
Browse files

prop224: Clarify descriptor upload section.

Also specify that HSes should re-upload their descriptor every one hour.
parent 30aad191
Loading
Loading
Loading
Loading
+17 −15
Original line number Diff line number Diff line
@@ -660,11 +660,11 @@ Status: Draft
   approximately 21 hours and 38 minutes after the beginning of the
   period.

   The new shared random value MUST be published *before* the overlap interval
   New shared random values MUST be published *before* the overlap interval
   starts so that hidden services have access to the new shared random values
   in time and can calculate the upcoming set of responsible HSDirs. In our
   system, new shared random values get published at 00:00UTC every day, whereas
   the overlap period starts at 06:00 and finishes at 12:00UTC.
   system, new shared random values get published at 00:00UTC every day,
   whereas the overlap period starts at 06:00 and finishes at 12:00UTC.

   Here is an illustration of the system:

@@ -706,24 +706,21 @@ Status: Draft
            hs_index(replicanum) = H("store-at-idx" |
                                 blinded_public_key |
                                 INT_8(replicanum) |
                                 INT_8(periodnum) )

   where blinded_public_key is specified in section KEYBLIND, and
   periodnum is defined in section TIME-PERIODS.
                                 INT_8(period_num) )

   where n_replicas is determined by the consensus parameter
   "hsdir_n_replicas".
   where blinded_public_key is specified in section KEYBLIND, and period_num is
   defined in section [TIME-PERIODS].

   Then, for each node listed in the current consensus with the HSDir3
   flag, we compute a directory index for that node as:
   Then, for each node listed in the current consensus with the HSDirV3 flag,
   we compute a directory index for that node as:

           hsdir_index(node) = H("node-idx" | node_identity_digest |
                                 shared_random |
                                 shared_random_value |
                                 INT_8(period_num) )

   where shared_random is the shared value generated by the authorities
   in section PUB-SHAREDRANDOM, and node_identity_digest is a SHA1
   digest of the node's RSA public key as described in tor-spec.txt.
   where shared_random_value is the shared value generated by the authorities
   in section [PUB-SHAREDRANDOM], and node_identity_digest is a SHA1 digest of
   the node's RSA public key as described in tor-spec.txt.

   Finally, for replicanum in 1...hsdir_n_replicas, the hidden service
   host uploads descriptors to the first hsdir_spread_store nodes whose
@@ -746,6 +743,11 @@ Status: Draft
   Again, nodes from lower-numbered replicas are disregarded when
   choosing the spread for a replica.

   Hidden services MUST periodically re-publish their descriptor to the
   responsible HSDirs. Specifically, hidden services re-publish their
   descriptors every 1 hour (also controlled via the 'hs_rend_post_period'
   consensus parameter).

   HSDirs MUST retain hidden service descriptors for 33 hours before expiring
   them. That's 24 hours for the time period duration, plus 6 hours for the
   maximum overlap period span, plus 3 hours for the maximum acceptable client