[tor-bugs] #8240 [Tor]: Raise our guard rotation period

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Feb 18 21:38:12 UTC 2013


#8240: Raise our guard rotation period
----------------------------------------------------+-----------------------
 Reporter:  arma                                    |          Owner:                    
     Type:  defect                                  |         Status:  needs_review      
 Priority:  major                                   |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor                                     |        Version:                    
 Keywords:  tor-client needs-proposal 023-backport  |         Parent:                    
   Points:                                          |   Actualpoints:                    
----------------------------------------------------+-----------------------

Comment(by arma):

 Replying to [comment:9 mikeperry]:
 > Replying to [comment:7 arma]:
 > > I like the notion of changing the weights, but I feel like inflating
 the Bandwidth= weight is the wrong way to do it. I increasingly think we
 need a per-relay thing to say "how much of a guard it is".
 >
 > Correct, this would be a change to the authority consensus process that
 computes these weights:
 https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt#l1482

 I guess I'm not being clear. Here's an attack, if we continue having only
 one weight per relay in the consensus. Let's say a new mid-sized
 adversarial exit relay shows up. It has the Exit flag, no guard flag, and
 not a very high Bandwidth= number on the w line, since it's being used as
 an Exit and a Middle, so it isn't super-impressive with its download
 speeds.

 When it earns the Guard flag, clients will back off from using it as the
 middle hop, and partially back off from using it as the exit hop, since
 they assume other clients will be using it as a guard. So its usage will
 go way down.

 In this ticket we remark several times that we hope the bwauths will then
 find it to be much faster, and give it a larger Bandwidth= weight, so
 clients will more quickly pick it as a Guard.

 But as a side effect, we have just inflated the chance that clients will
 pick it as an Exit too, since it's the same Bandwidth= weight that tells
 how useful it 'should' be for either position. So an adversary can arrange
 to run lots of these newly-got-the-Guard-flag relays and get more than his
 fair share of exit traffic.

 Instead I'm suggesting that we have a second weight on that w line, which
 shows, for each guard, how much of his steady-state client quota we think
 he should have by now. And then clients would use this number to treat a
 half-way-there guard as having more available capacity for other path
 positions than an all-the-way-there guard.

 I agree that this complicates things. I don't see a way of doing it
 without having a new parameter, per relay, though.

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


More information about the tor-bugs mailing list