Bandwidth Authority Renovation
This ticket describes the Bandwidth Authority Refactoring Project.
Goals: Replace pyTorCtl with stem or txtorcon Address Critical Issues Address Scalability Issues Implement New Feedback Mechanisms
Critical: Bandwith Authorities are leaving 10 percent of the network unmeasured https://trac.torproject.org/projects/tor/ticket/13450
Understand how accurate the bandwidth authority estimates are https://trac.torproject.org/projects/tor/ticket/7177 The slowest fraction of the network takes 18 hours to complete https://trac.torproject.org/projects/tor/ticket/9795 BwAuth takes a long time to scan the network https://trac.torproject.org/projects/tor/ticket/13449 Make a torflow option that starts every testing circuit at a local Tor relay first https://trac.torproject.org/projects/tor/ticket/9762
Decentralized measurement for network load balancing
Split BwAuth children more equally https://trac.torproject.org/projects/tor/ticket/3440
Increase the number of parallel scanners in a BandwidthAuthority from 4 to 8 https://trac.torproject.org/projects/tor/ticket/9795
Implement bwauth cap for latency
Implement bwauth cap for TCP socket exhaustion https://trac.torproject.org/projects/tor/ticket/4709 Bwauth: Use only "slow" measurements for positive feedback https://trac.torproject.org/projects/tor/ticket/4730 Bandwidth auths should publish average and weighted onionskin failure rates https://trac.torproject.org/projects/tor/ticket/7281 Detect overtuned exit relays https://trac.torproject.org/projects/tor/ticket/10791
untracked issues?: Scalability - how are the BwAuths scaling? How long does this take? How much longer will it take with 10000 relays? Network stability? Circuit failure rates? Partition detection?
papers: EigenSpeed: Secure Peer-to-peer Bandwidth Evaluation https://www.usenix.org/legacy/event/iptps09/tech/full_papers/snader/snader.pdf http://www.cs.ucla.edu/~nrl/CapProbe/
Requirements and Software Design for a Better Tor Performance Measurement Tool https://research.torproject.org/techreports/torperf2-2013-10-30.pdf
 stem is "is a synchronous (threaded) Python library". There is/was? a plan to integrate it with txtorcon.