aboutsummaryrefslogtreecommitdiff
path: root/path-spec.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2021-08-16 12:25:27 -0400
committerNick Mathewson <nickm@torproject.org>2021-08-16 12:30:11 -0400
commit764abbfdea60b6a709801b244a2e3a798858a491 (patch)
tree5c89f1215b5eca346d0dd3a607c80dec487dd984 /path-spec.txt
parent8b911a241e4294aeb7b6bf249e22682989ef81c2 (diff)
downloadtorspec-764abbfdea60b6a709801b244a2e3a798858a491.tar.gz
torspec-764abbfdea60b6a709801b244a2e3a798858a491.zip
Specify the exact "fraction of paths" calculation that Tor uses.
Diffstat (limited to 'path-spec.txt')
-rw-r--r--path-spec.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/path-spec.txt b/path-spec.txt
index 092e8d4..f02bee6 100644
--- a/path-spec.txt
+++ b/path-spec.txt
@@ -144,6 +144,23 @@ of their choices.
NUM_GUARDS_TO_USE guards among our primary guards. (see
guard-spec.txt)
+ We define the "fraction of bandwidth-weighted paths" as the product of
+ these three fractions.
+
+ * The fraction of descriptors that we have for nodes with the Guard
+ flag, weighted by their bandwidth for the guard position.
+ * The fraction of descriptors that we have for all nodes,
+ weighted by their bandwidth for the middle position position.
+ * The fraction of descriptors that we have for nodes with the Exit
+ flag, weighted by their bandwidth for the exit position.
+
+ If the consensus has zero weighted bandwidth for a given kind of
+ relay (Guard, Middle, or Exit), Tor instead uses the fraction of relays
+ for which it has the descriptor (not weighted by bandwidth at all).
+
+ If the consensus lists zero exit-flagged relays, Tor instead uses the
+ fraction of middle relays.
+
2.1.1. Clients build circuits preemptively