fix the other half of bug 1074
[tor/rransom.git] / doc / spec / proposals / 147-prevoting-opinions.txt
blob2b8cf30e46cda9b458139b5992a614e4dd139b9d
1 Filename: 147-prevoting-opinions.txt
2 Title: Eliminate the need for v2 directories in generating v3 directories
3 Version: $Revision$
4 Last-Modified: $Date$
5 Author: Nick Mathewson
6 Created: 2-Jul-2008
7 Status: Accepted
8 Target: 0.2.1.x
10 Overview
12   We propose a new v3 vote document type to replace the role of v2
13   networkstatus information in generating v3 consensuses.
15 Motivation
17   When authorities vote on which descriptors are to be listed in the
18   next consensus, it helps if they all know about the same descriptors
19   as one another.  But a hostile, confused, or out-of-date server may
20   upload a descriptor to only some authorities.  In the current v3
21   directory design, the authorities don't have a good way to tell one
22   another about the new descriptor until they exchange votes... but by
23   the time this happens, they are already committed to their votes,
24   and they can't add anybody they learn about from other authorities
25   until the next voting cycle.  That's no good!
27   The current Tor implementation avoids this problem by having
28   authorities also look at v2 networkstatus documents, but we'd like
29   in the long term to eliminate these, once 0.1.2.x is obsolete.
31 Design:
33   We add a new value for vote-status in v3 consensus documents in
34   addition to "consensus" and "vote": "opinion".  Authorities generate
35   and sign an opinion document as if they were generating a vote,
36   except that they generate opinions earlier than they generate votes.
38   Authorities don't need to generate more than one opinion document
39   per voting interval, but may.  They should send it to the other
40   authorities they know about, at the regular vote upload URL, before
41   the authorities begin voting, so that enough time remains for the
42   authorities to fetch new descriptors.
44   Additionally, authories make their opinions available at
45      http://<hostname>/tor/status-vote/next/opinion.z
46   and download opinions from authorities they haven't heard from in a
47   while.
49   Authorities MAY generate opinions on demand.
51   Upon receiving an opinion document, authorities scan it for any
52   descriptors that:
53      - They might accept.
54      - Are for routers they don't know about, or are published more
55        recently than any descriptor they have for that router.
56   Authorities then begin downloading such descriptors from authorities
57   that claim to have them.
59   Authorities MAY cache opinion documents, but don't need to.