1. Introduction to Tor bandwidth scanner

1.1. Brief introduction to Tor


1.2. Directory Authorities

a special-purpose relay that maintains a list of currently-running relays
and periodically publishes a consensus together with the other
directory authorities.




1.3. Consensus documents

a single document compiled and voted on by the directory authorities once
per hour, ensuring that all clients have the same information about the relays
that make up the Tor network.




1.3.1. Why is needed to have a consensus documents?

so that all relays have same view of the network

1.3.2. How is consensus created

  1. relays publish descriptors to a directory authority (dirauth)
  2. dirauths exchange descriptors with each other
  3. the dirauths that have measurements from a bandwidth scanner (4/10):
    1. read those measurements
    2. calculate bandwidth weights
    3. create vote documents including the measured bandwidth and consensus weight
  4. dirauths exchange votes
  5. dirauths create consensus documents
  6. dirauths publish consensus documents

1.4. Why is needed to have relays’ bandwidth measurements (aka scanners)?

  • to distribute the network load according to relay capacity
  • relays self-advertise their bandwidths, but a malicious relay could self-advertise more bandwidth in order to get more circuits to it. Having more circuits makes easier some attacks (source routed?)

1.5. What a better bandwidth scanner could improve

  • distribute the network load smarter making Tor network faster and more fair
  • increase the diversity of the relays (currently most of the bandwidth is in Germany)
  • encourage relay operators to increase the capacity of their relays

See :ref:analysis and :ref:requirements for more details.