Investigate "path bias lite" for guards that fail too many circuits?
Our guard/circuit code can currently report 3 statuses for an attempt to build a circuit through a guard:
- Success. (This happens whenever the circuit is completely built.)
- Failure. (This happens when the circuit fails or times out before its first hop is done.)
- Indeterminate. (This happens when the circuit fails or times out at some point after its first hop.)
Note that an "Indeterminate" circuit could be the guard's fault (e.g., if it kills the circuit after seeing who the second guard is), or it could be not the guard's fault (e.g., if the second or third hop is down).
So, maybe we should do something in response to a guard that has too many indeterminate circuit failures? That "something" might not have to be a full implementation of path bias detection (that's #65 (closed)), but it might help our security to have some kind of logic to detect these cases.
cc @mikeperry