Like many routing protocols, the Tor anonymity network has decentralized path selection, in that clients locally and independently choose paths. As a result, network resources may be left idle, leaving the system in a suboptimal state. This is referred to as the price of anarchy, where agents acting in an uncoordinated fashion make poor decisions when viewed in a global context. In this paper we introduce ABRA, the avoiding bottleneck relay algorithm, which can be used to allow some coordination between clients and relays with the aim of increasing network utilization. At peak performance, using ABRA for circuit selection results in almost 20% higher network bandwidth usage compared to vanilla Tor. We find that ABRA significantly outperforms previously suggested circuit selection algorithms based on latency and congestion, and attains similar throughput to a fully centralized online algorithm, while an offline algorithm with knowledge of future requests could achieve up to 80% more network utilization than vanilla Tor. Finally, we perform a privacy analysis of ABRA against a passive and active adversary trying to reduce anonymity of clients and increase their view of the Tor network. We find that the algorithm does not enable new passive attacks and that colluding relays experience a minor increase in the fraction of streams compromised when acting in an adversarial manner.
['John Geddes', 'Mike Schliep', 'Nicholas Hopper']
ABRA CADABRA: Magically Increasing Network Utilization in Tor by Avoiding Bottlenecks