# [tor-dev] [RFC] Proposal draft: The move to a single guard node

Nicholas Hopper hopper at cs.umn.edu
Wed Mar 26 16:57:08 UTC 2014

```I think I'll have more to say later, but...

On Wed, Mar 26, 2014 at 11:36 AM, George Kadianakis
<desnacked at riseup.net> wrote:
> 1.3. Age of guard as a factor on guard probabilities
>
>    By increasing the guard rotation period we also increase the lack
>    of clients for young guards since clients will rotate guards even
>    more infrequently now (see 'Phase three' of [1]).
>
>    We can try to mitigate this phenomenon by giving higher priority to
>    young guards to be picked as guards:
>
>    To do so, everytime an authority needs to vote for a guard, it
>    reads a set of consensus documents spanning the past NNN months, and
>    calculates the age of the guard; that is, in how many consensuses
>    its public key has been included in the past.
>
>    The authorities include the age of each guard by appending
>    '[SP "Age=" INT]' in the guard's "w" line.
>
>    When a client picks a guard, it applies the age of each guard as a
>    weight on its guard probability. XXX unspecified how

I'm pretty sure this section has it backwards from what was the intent
of the discussion of "guard age" at the dev meeting.  The weight
factor should be applied when choosing a "new guard" as a middle or
exit node, because it is being underutilized as a guard.  This makes
it straightforward to apply: if relay R has had the guard flag for
fraction k of the last rotation period, then its weight for some other
position should be

k*(weight with the guard flag) + (1-k)*(weight without the guard flag)

--
------------------------------------------------------------------------
Nicholas Hopper
Associate Professor, Computer Science & Engineering, University of Minnesota
Visiting Research Director, The Tor Project
------------------------------------------------------------------------
```