aboutsummaryrefslogtreecommitdiff
path: root/proposals/224-rend-spec-ng.txt
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2016-04-21 13:20:58 +0300
committerGeorge Kadianakis <desnacked@riseup.net>2016-05-08 17:35:23 -0400
commit3e6568939a43480786646eddc3eb4253a8164652 (patch)
tree9e2bcd98bafd274231cc2878440808221c744bbe /proposals/224-rend-spec-ng.txt
parent30aad19107646ddd8e4b44bb9cc2c3aece754c4f (diff)
downloadtorspec-3e6568939a43480786646eddc3eb4253a8164652.tar.gz
torspec-3e6568939a43480786646eddc3eb4253a8164652.zip
prop224: Clarify descriptor upload section.
Also specify that HSes should re-upload their descriptor every one hour.
Diffstat (limited to 'proposals/224-rend-spec-ng.txt')
-rw-r--r--proposals/224-rend-spec-ng.txt32
1 files changed, 17 insertions, 15 deletions
diff --git a/proposals/224-rend-spec-ng.txt b/proposals/224-rend-spec-ng.txt
index 32d29de..3bc1d97 100644
--- a/proposals/224-rend-spec-ng.txt
+++ b/proposals/224-rend-spec-ng.txt
@@ -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