fix the other half of bug 1074
[tor/rransom.git] / doc / spec / proposals / 123-autonaming.txt
blob6cd25329f8e537a2f6b4a7531096a4bb1bcd03db
1 Filename: 123-autonaming.txt
2 Title: Naming authorities automatically create bindings
3 Version: $Revision$
4 Last-Modified: $Date$
5 Author: Peter Palfrader
6 Created: 2007-10-11
7 Status: Closed
8 Implemented-In: 0.2.0.x
10 Overview:
12   Tor's directory authorities can give certain servers a "Named" flag
13   in the network-status entry, when they want to bind that nickname to
14   that identity key. This allows clients to specify a nickname rather
15   than an identity fingerprint and still be certain they're getting the
16   "right" server.
18   Authority operators name a server by adding their nickname and
19   identity fingerprint to the 'approved-routers' file.  Historically
20   being listed in the file was required for a router, at first for being
21   listed in the directory at all, and later in order to be used by
22   clients as a first or last hop of a circuit.
24   Adding identities to the list of named routers so far has been a
25   manual, time consuming, and boring job.  Given that and the fact that
26   the Tor network works just fine without named routers the last
27   authority to keep a current binding list stopped updating it well over
28   half a year ago.
30   Naming, if it were done, would serve a useful purpose however in that
31   users can have a reasonable expectation that the exit server Bob they
32   are using in their http://www.google.com.bob.exit/ URL is the same
33   Bob every time.
35 Proposal:
36   I propose that identity<->name binding be completely automated:
38   New bindings should be added after the router has been around for a
39   bit and their name has not been used by other routers, similarly names
40   that have not appeared on the network for a long time should be freed
41   in case a new router wants to use it.
43   The following rules are suggested:
44   i) If a named router has not been online for half a year, the
45      identity<->name binding for that name is removed.  The nickname
46      is free to be taken by other routers now.
47   ii) If a router claims a certain nickname and
48        a) has been on the network for at least two weeks, and
49        b) that nickname is not yet linked to a different router, and
50        c) no other router has wanted that nickname in the last month,
51       a new binding should be created for this router and its desired
52       nickname.
54  This automaton does not necessarily need to live in the Tor code, it
55  can do its job just as well when it's an external tool.