[tor-dev] Proposal 236 and the guardiness of a guard

Fri Aug 1 18:39:19 UTC 2014

Nicholas Hopper <hopper at cs.umn.edu> writes:

> On Thu, Jul 31, 2014 at 11:24 AM, George Kadianakis
> <desnacked at riseup.net> wrote:
>> - You can see that old guards (like RichardFeynman) see a shrinkage
>>   both on their guard and on their middle probabilities. This happens
>>   because both the total guard weight and the total middle weight get
>>   bigger [5], so their weight percentage gets smaller.
>
> This doesn't sound right - total guard weight shouldn't change.  All
> the proposal does is re-allocate some fraction of the weight of a
> guard back to the middle (M) category.

OK, I have some new data.

I plotted the (vanilla) probability distribution of all possible
middle nodes (so not only guard nodes like the previous graphs) for
the consensus with valid-after '2014-08-01 13:00:00'.

I also parsed 2.5 months worth of consensuses to do the guardiness
trick on the guard nodes, and then plotted the probability
distribution of all possible middle nodes + the guardiness trick.

You can find a boxplot here (to see how outliers are distributed):
https://people.torproject.org/~asn/guards4/middle_boxplot.png

You can read the output of the script here:
https://people.torproject.org/~asn/guards4/results_sort_guardiness.txt
(It's sorted based on the guardiness probability distribution.
You can find one sorted based on the vanilla probability distribution
here: https://people.torproject.org/~asn/guards4/results_sort_vanilla.txt)

Some notes:
- You can see that young guards like 'monoversum' and 'yolocaust' got a
decent weight upgrade because of their age putting them first in
middle probability.

- If you scroll to the bottom you see some nodes with probability 0.0.

These nodes are plainly Exit nodes and they get nulled because of
the bandwidth weight Wme being 0. OTOH, Guard+Exit nodes don't get
nulled since Wmd=867; which is quite low and explains why no
Guard+Exit nodes are on the top of the middle probability
distribution.

This is related to what Zack asked.

My plan forward is to start working on the output file format (which
means that I will have to take decisions on whether the script will be
run repeatedly, or use some sort of state file) and also get more
confidence that my script does not have any stupid bugs. I will
publish my script RSN.

Cheers!