On Tue, Sep 06, 2016 at 12:10:06PM -0400, Aaron Johnson wrote:
I suspect that one could approximate this number by accounting for the probability of all exits being selected as guard, middle, and exit, but I would prefer a simpler and more reliable approach.
This doesn’t seem like a bad approximation to me, given that for as long as I have been aware, exits have had zero probability of being chosen in any position other than the exit position.
Thanks, Aaron. You are right. Section 3.8.3 in dir-spec has the answer: https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n2611
I just proved this to myself with the small attached Python script. Currently, exit bandwidth is the network's scarce resource, which is not surprising since running an exit is riskier than running a guard or a middle. Since exits are scarce, the bandwidth weights in case 3, subcase A are currently in place: https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n2726
In that case, the specification hard-codes the probability of an exit taking on a non-exit role (Wgd, Wmd, and Wme) to 0.