From c68d6fbc397bbe47f1bf9afc0cf15f25e4c95580 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 11 Oct 2012 10:31:49 -0400 Subject: edits to proposals 206..208 --- proposals/207-directory-guards.txt | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'proposals/207-directory-guards.txt') diff --git a/proposals/207-directory-guards.txt b/proposals/207-directory-guards.txt index 1310e14..d0563be 100644 --- a/proposals/207-directory-guards.txt +++ b/proposals/207-directory-guards.txt @@ -17,37 +17,36 @@ Motivation: Proposal: - In the same way as they currently pick guard nodes as needed, adding - more as those nodes are down, clients should also pick a small-ish - set of directory guard nodes, to persist in Tor's state file. + In the same way as they currently pick guard nodes as needed, adding more + guards as those nodes are down, clients should also pick a small-ish set + of directory guard nodes, to persist in Tor's state file. Clients should not pick their own guards as directory guards, or pick their directory guards as regular guards. - When downloading a regular directory object (i.e., not a hidden + When downloading a regular directory object (that is, not a hidden service descriptor), clients should prefer their directory guards first. Then they should try more directories from a recent consensus (if they have one) and pick one of those as a new guard if the existing guards are down and a new one is up. Failing that, they should fall back to a directory authority (or a directory source, if - those get implemented). + those get implemented-- see proposal 206). - - When fetching multiple descriptors in parallel from their guards, - clients should add new guards and try them if only one of the - client's directory guards is running. + If a client has only one directory guard running, they should add new + guards and try them, and then use their directory guards to fetch multiple + descriptors in parallel. Discussion: - The rule that the set of guards and the set directory guards need to + The rule that the set of guards and the set of directory guards need to be disjoint, and the rule that multiple directory guards need to be providing descriptors, are both attempts to make it harder for a - single node to capture route. + single node to capture a route. Open questions and notes: What properties does a node need to be a suitable directory guard? - If we require that it have the Guard flag, we'll lose some nodes; + If we require that it have the Guard flag, we'll lose some nodes: only 74% of the directory caches have it (weighted by bandwidth). We may want to tune the algorithm used to update guards. -- cgit v1.2.3-54-g00ecf