1. How does Tor classify fast/slow relays (as in what is the bandwidth bar)?
  2. Is the Tor Path Selection protocol biased towards selecting fast relays for circuit construction? (The answer here How does a Tor client pick Tor nodes for circuit creation? states the bias but I am unsure if this is still the case.)

I am still trying to find my answers here (https://github.com/torproject/torspec).

  1. From the directory spec, the threshold is almost always 100 KB/s.

    A router is 'Fast' if it is active, and its bandwidth is either in the top 7/8ths for known active routers or at least 100KB/s.

  2. Yes the Tor path selection algorithm is weighted by relays' consensus weights and is described in the path spec document.

The actual way that these numbers are calculated is not straightforward. For example, bandwidths for flags are computed by the function dirserv_get_credible_bandwidth_kb() which depends on the measured and advertised bandwidths (and the advertised bandwidth depends on the observed bandwidth). The threshold for the Fast flag is computed in dirserv_compute_performance_thresholds(). Consensus weights also have a complicated calculation which you can find in the "3.8.3. Computing Bandwidth Weights" section of the directory spec document.

  • Thanks for the explanation. – Arushi Arora Feb 17 at 5:05
  • @ArushiArora I updated the answer slightly, I misread "or at least 100KB/s" as "and at least 100KB/s". So the Fast flag requires a bandwidth of only 100 KB/s. – Steve Feb 17 at 6:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.