[tor-bugs] #6790 [Tor Directory Authority]: Write proposal draft for directory mirrors to accept, aggregate and hand off descriptors to dirauths
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Mon Sep 10 22:28:41 UTC 2012
#6790: Write proposal draft for directory mirrors to accept, aggregate and hand
off descriptors to dirauths
-----------------------------------------------+----------------------------
Reporter: mikeperry | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: Tor: 0.2.4.x-final
Component: Tor Directory Authority | Version:
Keywords: MikePerry201210d, proposal-needed | Parent: #2664
Points: | Actualpoints:
-----------------------------------------------+----------------------------
Comment(by mikeperry):
Replying to [comment:15 nickm]:
> Replying to [comment:14 mikeperry]:
> > Can you explain more about 5 being unsolved? I haven't been following
microdesc development. You mean the only way to get microdescriptors right
now is from the dirauths directly?
>
> Not exactly.
>
> I mean that right now, when a directory cache wants to learn a
consensus, a router descriptor, or a microdescriptor, it fetches it from
one of the authorities. It can't just ask another cache: there is no
mechanism for *any* cache to learn this stuff right now other than asking
an authority, so if all the caches asked each other, nobody would find
out.
>
> Obviously, this could be improved as a Simple Matter of Software Design.
Yeah, I'm not suggesting some massive, expensive N^2 layer where all the
dir mirrors talk to eachother to exchange submitted relay descriptors or
consensus microdescs.
My goal is the simplest possible design that allows us to reduce the roles
of the dirauths to 3, 4, and 5. This means that dir mirrors (fine, even
the whole current consensus) are still allowed to talk to dirauths to
download and submit descriptor info. That way, if certain relays are
loud/busted/broken in terms of their mirroring functionality, we can just
drop them from the consensus as a last resort, or perhaps just add them to
a dirport firewall.
To preserve the consensus properties for descriptor submission with
minimal changes, it seems we have two options when the dirauths are
operating in this mode:
1. Relays submit descriptors to a dir mirror who submits it to all N
authorities
2. Relays submit descriptors k*N times, to the k*N dir mirrors in the
current consensus with the k closest idhexes to each of the N dirauths,
who then submit it forward to that dirauth.
In each case, the dir mirror should perform the same checks and rate
limits that the dirauths currently do. They might also need additional IP
restrictions too. It depends on what is actively enforced at the dirauths
right now before performing checks.
My goal is to get a proposal for this written by Oct 10th that describes a
way to support this as an optional mode of operation in extreme
circumstances that we can test periodically. If we don't get it coded for
0.2.4.x because other things end up more important, that's fine. It might
be the case that #572 by itself is enough to make me happy for emergency
circumstances.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6790#comment:16>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list