[tor-commits] [torspec/master] Document consensus method 31 as a fix for bug #19011.
asn at torproject.org
asn at torproject.org
Wed Jan 13 13:27:22 UTC 2021
commit a28dc7176d4e70313d45361e3e1f9d3999098a75
Author: Nick Mathewson <nickm at torproject.org>
Date: Wed Dec 9 13:18:43 2020 -0500
Document consensus method 31 as a fix for bug #19011.
---
dir-spec.txt | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/dir-spec.txt b/dir-spec.txt
index 148163d..668ff32 100644
--- a/dir-spec.txt
+++ b/dir-spec.txt
@@ -2805,6 +2805,10 @@
* If consensus method 30 or later is used, the base64 encoded
ntor-onion-key does not include the trailing = sign.
+ * If consensus method 31 or later is used, authorities parse the
+ "bwweightscale" and "maxunmeasuredbw" parameters correctly when
+ computing votes.
+
The signatures at the end of a consensus document are sorted in
ascending order by identity digest.
@@ -2891,6 +2895,8 @@
"28" -- Removes "a" lines from microdescriptors.
"29" -- Canonicalizes families in microdescriptors.
"30" -- Removes padding from ntor-onion-key.
+ "31" -- Uses correct parsing for bwweightscale and maxunmeasuredbw
+ when computing weights
Before generating a consensus, an authority must decide which consensus
method to use. To do this, it looks for the highest version number
@@ -2938,7 +2944,11 @@
3.8.3. Computing Bandwidth Weights
- Let weight_scale = 10000
+ Let weight_scale = 10000, or the value of the "bwweightscale" parameter.
+ (Before consensus method 31 there was a bug in parsing bwweightscale, so
+ that if there were any consensus parameters after it alphabetically, it
+ would always be treated as 10000. A similar bug existed for
+ "maxunmeasuredbw".)
Starting with consensus method 26, G, M, E, and D are initialized to 1 and
T to 4. Prior consensus methods initialize them all to 0. With this change,
@@ -3091,7 +3101,8 @@
To ensure consensus, all calculations are performed using integer math
with a fixed precision determined by the bwweightscale consensus
- parameter (defaults at 10000, Min: 1, Max: INT32_MAX).
+ parameter (defaults at 10000, Min: 1, Max: INT32_MAX). (See note above
+ about parsing bug in bwweightscale before consensus method 31.)
For future balancing improvements, Tor clients support 11 additional weights
for directory requests and middle weighting. These weights are currently
More information about the tor-commits
mailing list