Merge branch 'newcrypto'
[torspec/neena.git] / proposals / 145-newguard-flag.txt
blobd2eea6d7819db30ab16489f6594cfe19ffd47a30
1 Filename: 145-newguard-flag.txt
2 Title: Separate "suitable as a guard" from "suitable as a new guard"
3 Author: Nick Mathewson
4 Created: 1-Jul-2008
5 Status: Needs-Research
7 [This could be obsoleted by proposal 141, which could replace NewGuard
8 with a Guard weight.]
10 Overview
12    Right now, Tor has one flag that clients use both to tell which
13    nodes should be kept as guards, and which nodes should be picked
14    when choosing new guards.  This proposal separates this flag into
15    two.
17 Motivation
19    Balancing clients amoung guards is not done well by our current
20    algorithm.  When a new guard appears, it is chosen by clients
21    looking for a new guard with the same probability as all existing
22    guards... but new guards are likelier to be under capacity, whereas
23    old guards are likelier to be under more use.
25 Implementation
27    We add a new flag, NewGuard.  Clients will change so that when they
28    are choosing new guards, they only consider nodes with the NewGuard
29    flag set.
31    For now, authorities will always set NewGuard if they are setting
32    the Guard flag.  Later, it will be easy to migrate authorities to
33    set NewGuard for underused guards.
35 Alternatives
37    We might instead have authorities list weights with which nodes
38    should be picked as guards.