[tor-bugs] #28807 [Core Tor/DirAuth]: Ask authority operators to set `MaxAdvertisedBandwidth 0` in their torrcs (was: Use of Directory Authorities in usual circuits may need an option to be disabled)

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Dec 11 03:02:40 UTC 2018


#28807: Ask authority operators to set `MaxAdvertisedBandwidth 0` in their torrcs
-------------------------------------------------+------------------------
 Reporter:  wagon                                |          Owner:  (none)
     Type:  enhancement                          |         Status:  new
 Priority:  Medium                               |      Milestone:
Component:  Core Tor/DirAuth                     |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tor-client, tor-dirauth, tor-bwauth  |  Actual Points:
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+------------------------
Changes (by teor):

 * keywords:  tor-client, tor-dirauth, tor-bwauth, tor-doc, tor-spec => tor-
     client, tor-dirauth, tor-bwauth
 * version:  Tor: 0.3.4.9 =>
 * component:  Core Tor/Tor => Core Tor/DirAuth


Comment:

 Replying to [ticket:28807 wagon]:
 > Currently, it seems that Tor clients don't use DA nodes for construction
 of circuits because all DA's bandwidth is set to 20, which is a very low
 value.

 That's not strictly true, and the details are important.

 20 is the maximum consensus weight for an unmeasured relay, set by tor
 authorities.

 Most unmeasured relays have weights of:
 * 0 (self-reported 0 bandwidth) or
 * 20 (self-reported a bandwidth of 20 or higher):
 https://github.com/torproject/tor/blob/1eb3719a62074baef97ec1aa5c144096706fb97f/src/feature/dirauth/dirvote.c#L1498

 Secondly, the total consensus weight right now is 58103330:
 {{{
 $ cat path/to/cached-microdesc-consensus | grep "^w " | cut -d= -f2 | cut
 -d" " -f1 | paste -s -d+ - | bc
 58103330
 }}}

 There are 10 authorities with a consensus weight of 20:
 https://metrics.torproject.org/rs.html#search/flag:Authority

 There are approximately 2 million Tor clients:
 https://metrics.torproject.org/userstats-relay-country.html

 Therefore, each time every client makes a circuit, this many clients will
 choose an authority:
 {{{
 20*10*2000000/58103330 = 6.9
 }}}
 (Authorities are only chosen as middle nodes, because they don't have any
 other relevant flags.)

 So I'm not sure this is a big problem. It probably doesn't deserve much
 effort from us.

 A. Here's one way we could fix it:
 1. Introduce a new consensus method that supports the bwweightscale and
 maxunmeasuredbw consensus parameters properly (#19011)
 2. Convince directory authority operators to set maxunmeasuredbw to:
   * 1 (0.34 clients choosing an authority each time every client builds 1
 circuit), or
   * 0 (no clients choosing authorities for circuits)
 But this change affects all unmeasured relays, not just authorities.

 B. Here's another way we could fix it:
 1. Convince directory authority operators to set `MaxAdvertisedBandwidth
 0` in their torrcs

 Since authorities are unmeasured, tor will use min(self-reported
 bandwidth, MaxAdvertisedBandwidth, 20) as their bandwidth. sbws and
 Torflow never produce results for authorities, so they will always be
 unmeasured. (sbws 1.0.3 and later will also apply the
 MaxAdvertisedBandwidth limit if authorities are ever measured. See #28598,
 #28588.)

 It seems like B is the easiest option, so I'm putting this ticket in the
 DirAuth component.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28807#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list