aboutsummaryrefslogtreecommitdiff
path: root/proposals/236-single-guard-node.txt
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2014-08-31 16:27:35 +0300
committerNick Mathewson <nickm@torproject.org>2014-09-01 16:19:44 -0400
commit7647f6d4de98acae6b71782648b0a646f11b146a (patch)
tree285d7a5b9d699a7ca7ce08b75f0b6a9cd06d8dba /proposals/236-single-guard-node.txt
parentd4cb76a81f26dcc41a2c2041b12977dfdf62c3f8 (diff)
downloadtorspec-7647f6d4de98acae6b71782648b0a646f11b146a.tar.gz
torspec-7647f6d4de98acae6b71782648b0a646f11b146a.zip
Specify how Guard Fraction voting should occur.
Diffstat (limited to 'proposals/236-single-guard-node.txt')
-rw-r--r--proposals/236-single-guard-node.txt26
1 files changed, 21 insertions, 5 deletions
diff --git a/proposals/236-single-guard-node.txt b/proposals/236-single-guard-node.txt
index d7c03d3..32327db 100644
--- a/proposals/236-single-guard-node.txt
+++ b/proposals/236-single-guard-node.txt
@@ -110,12 +110,14 @@ Status: Open
To do so, everytime an authority needs to vote for a guard, it
reads a set of consensus documents spanning the past NNN months,
where NNN is the number of months in the guard rotation period (10
- months if this proposal is adopted in full) and calculates the
- visibility of the guard; that is, in how many consensuses it has
- had the guard flag.
+ months if this proposal is adopted in full) and calculates in how
+ many consensuses it has had the guard flag for.
- The authorities include the age of each guard by appending
- '[SP "GV=" INT]' in the guard's "w" line.
+ Then, in their votes, the authorities include the Guard Fraction of
+ each guard by appending '[SP "GuardFraction=" INT]' in the guard's
+ "w" line. Its value is an integer between 0 and 100, with 0 meaning
+ that it's a brand new guard, and 100 that it has been present in
+ all the inspected consensuses.
A guard N that has been visible for V out of NNN*30*24 consensuses
has had the opportunity to be chosen as a guard by approximately
@@ -142,6 +144,20 @@ Status: Open
D' = D + F*B, if N has the exit flag
E' = E + (1-F)*B, if N has the exit flag
+1.3.1. Guard Fraction voting
+
+ To pass that information to clients, we introduce consensus method
+ 19, where if 3 or more authorities provided GuardFraction values in
+ their votes, the authorities produce a consensus containing a
+ GuardFraction keyword equal to the low-median of the GuardFraction
+ votes.
+
+ The GuardFraction keyword is appended in the 'w' line of each router
+ in the consensus, after the optional 'Unmeasured' keyword. Example:
+ w Bandwidth=20 Unmeasured=1 GuardFraction=66
+ or
+ w Bandwidth=53600 GuardFraction=99
+
1.4. Raise the bandwidth threshold for being a guard
From dir-spec.txt: