mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-14 07:03:44 +01:00
d230827912
Tor doesn't use SVN anymore, making $Revision$, $Id$ and $Date$ meaningless. Remove them without replacement.
59 lines
2.3 KiB
Plaintext
59 lines
2.3 KiB
Plaintext
Filename: 147-prevoting-opinions.txt
|
|
Title: Eliminate the need for v2 directories in generating v3 directories
|
|
Author: Nick Mathewson
|
|
Created: 2-Jul-2008
|
|
Status: Accepted
|
|
Target: 0.2.1.x
|
|
|
|
Overview
|
|
|
|
We propose a new v3 vote document type to replace the role of v2
|
|
networkstatus information in generating v3 consensuses.
|
|
|
|
Motivation
|
|
|
|
When authorities vote on which descriptors are to be listed in the
|
|
next consensus, it helps if they all know about the same descriptors
|
|
as one another. But a hostile, confused, or out-of-date server may
|
|
upload a descriptor to only some authorities. In the current v3
|
|
directory design, the authorities don't have a good way to tell one
|
|
another about the new descriptor until they exchange votes... but by
|
|
the time this happens, they are already committed to their votes,
|
|
and they can't add anybody they learn about from other authorities
|
|
until the next voting cycle. That's no good!
|
|
|
|
The current Tor implementation avoids this problem by having
|
|
authorities also look at v2 networkstatus documents, but we'd like
|
|
in the long term to eliminate these, once 0.1.2.x is obsolete.
|
|
|
|
Design:
|
|
|
|
We add a new value for vote-status in v3 consensus documents in
|
|
addition to "consensus" and "vote": "opinion". Authorities generate
|
|
and sign an opinion document as if they were generating a vote,
|
|
except that they generate opinions earlier than they generate votes.
|
|
|
|
Authorities don't need to generate more than one opinion document
|
|
per voting interval, but may. They should send it to the other
|
|
authorities they know about, at the regular vote upload URL, before
|
|
the authorities begin voting, so that enough time remains for the
|
|
authorities to fetch new descriptors.
|
|
|
|
Additionally, authories make their opinions available at
|
|
http://<hostname>/tor/status-vote/next/opinion.z
|
|
and download opinions from authorities they haven't heard from in a
|
|
while.
|
|
|
|
Authorities MAY generate opinions on demand.
|
|
|
|
Upon receiving an opinion document, authorities scan it for any
|
|
descriptors that:
|
|
- They might accept.
|
|
- Are for routers they don't know about, or are published more
|
|
recently than any descriptor they have for that router.
|
|
Authorities then begin downloading such descriptors from authorities
|
|
that claim to have them.
|
|
|
|
Authorities MAY cache opinion documents, but don't need to.
|
|
|