[tor-bugs] #28676 [Core Tor/Tor]: Tor versions of Tor nodes should be accessible through ControlPort

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Dec 21 11:15:20 UTC 2018


#28676: Tor versions of Tor nodes should be accessible through ControlPort
--------------------------+----------------------------------
 Reporter:  wagon         |          Owner:  (none)
     Type:  enhancement   |         Status:  new
 Priority:  Medium        |      Milestone:  Tor: unspecified
Component:  Core Tor/Tor  |        Version:  Tor: 0.3.4.9
 Severity:  Normal        |     Resolution:
 Keywords:                |  Actual Points:
Parent ID:  #7646         |         Points:
 Reviewer:                |        Sponsor:
--------------------------+----------------------------------

Comment (by wagon):

 Now I think the picture is more clear, so I'll reply to myself and to
 above comments.

 Replying to [comment:18 wagon]:
 > There is a command `GETINFO dir/status-vote/current/consensus` which
 returns the same output as the content of the file `cached-microdesc-
 consensus`. So, it has Tor versions of all nodes. However, output of this
 command is very big, so tools which use `ControlPort` may not behave
 nicely if this command is run often.
 >
 > This command works even if `UseMicrodescriptors` is set to 0. I don't
 know what this command is exactly doing. Does it query local cache or
 download these "microdescriptors" from network every time it is running?
 In any case, I wonder why it doesn't update the content of the file
 `cached-microdesc-consensus`. Apart from this command there are commands
 `ns/id/FINGERPRINT` and `ns/all`, where the latter prints almost the same
 as `dir/status-vote/current/consensus`, but without Tor versions and
 global headers/footers. The commands `dir/status-vote/current/consensus`
 and `ns/all` mostly duplicate each other.
 >
 > Initially I understood descriptor as a "complete" version of
 microdescriptor, but this doesn't look correct. "Full" descriptors, which
 can be learnt separately by `desc/id/FINGERPRINT` or all together by `desc
 /all-recent`, don't contain final bandwidth and relay flags that
 "microdescriptor" has. I guess, when `UseMicrodescriptors` is set to 0,
 Tor just continue to use microdescriptors, but stops updating
 microdescriptors local file `cached-microdesc-consensus`. So,
 microdescriptors and descriptors look as mutually complementing each
 other, where microdescriptor mostly has parameters useful for clients,
 while descriptor has parameters mostly useful for relays (I may be totally
 wrong).

 "Descriptor" is mostly what replay publishes about himself. "Consensus" is
 mostly the result of agreement between authorities about a relay. These
 types of information indeed complement each other. In some parts it may be
 counter-intuitive. For example, it looks natural for a relay to decide if
 he wants to be an Exit or a middleman, but actually some flags are judged
 by authorities, also an an Exit flag. Similarly, bandwidth is judged by
 bandwidth authorities. Thus, descriptor (or its reduced version
 "microdescriptor") doesn't have this information just because it comes
 from another source.

 When microdescriptors are used, they are stored in `cached-microdescs*`
 file(s). "Consensus" is stored in `cached-microdesc-consensus`. Similarly,
 when `UseMicrodesriptor` is 0, descriptors are stored in `cached-
 descriptors*` file(s), while "consensus" is stored in `cached-consensus`.
 So, if `UseMicrodesriptor` is 0, relay flags and bandwidth are indeed
 stored at disk, but in `cached-consensus`, not `cached-microdesc-
 consensus`, and `cached-microdesc-consensus` is not updated. Thus, actual
 question would be why Tor now needs to support two different files
 `cached-consensus` and `cached-microdesc-consensus`, when their content is
 mostly the same. I guess the current status quo can be explained by
 historical reasons to get smooth transition from descriptors to
 microdescriptors. #7646 is a more proper ticket for general discussions
 about these things.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28676#comment:24>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list