Keeping a separate list of dir guards and entry guards means doubling the tls load on the network. It would be good to have some more understanding of what attacks we worry about when we use the some nodes for both lists -- because bridge users do that right now.
"UseEntryGuardsAsDirGuards" sounds like it means to use your entry guards as your directory guards. If that is indeed what it means, then the proposal no longer describes what is implemented. If it isn't what it means, it probably needs a clearer name.
Keeping a separate list of dir guards and entry guards means doubling the tls load on the network. It would be good to have some more understanding of what attacks we worry about when we use the some nodes for both lists -- because bridge users do that right now.
It doesn't keep a separate list.
"UseEntryGuardsAsDirGuards" sounds like it means to use your entry guards as your directory guards. If that is indeed what it means, then the proposal no longer describes what is implemented. If it isn't what it means, it probably needs a clearer name.
Right; see the discussion on tor-dev with mike from back when the proposal came out.
In addition to my comments on tor-dev, there's another reason to use the same list for each: client fingerprintability. If we keep two separate lists, your combined set of Guards+DirectoryGuards is absolutely fingerprintable as you move your tor client from IP to IP.
For some back of the envelope calculations, the current Guard entropy is ~9 bits. This is equivalent to 512 equal-sized guard choices. If we scale back to 2 guards, we have: https://www.wolframalpha.com/input/?i=512+choose+2
Neither are great, but the 2-guard case already doesn't segment our userbase, and will certainly experience enough change to damage the fingerprint as Guards go up and down while clients are offline/inactive. It seems unlikely that such rotation will make a significant impact on the 5-guard case's tremendous fingerprintability, though.
There is a weird log_notice in add_an_entry_guard that logs OH I SAY!. I'm not exactly sure what it's supposed to mean or say but it was probably forgotten there.