How the Tor Project Plans to Increase Network Speeds

The Tor Project is implementing a comprehensive set of technical upgrades designed to eliminate latency bottlenecks, improve throughput, and scale the network for growing user demand. These initiatives focus on replacing legacy networking protocols, deploying modern congestion control algorithms, transitioning to a high-performance Rust codebase, and minimizing consensus overhead. Together, these structural changes aim to deliver a faster, more responsive browsing experience without compromising user anonymity.

Implementation of Modern Congestion Control

Historically, Tor relied on a legacy, fixed-window mechanism to manage traffic across circuits. Because Tor multiplexes multiple data streams over a single TCP connection across three relays, standard TCP congestion management often caused severe packet buffering and latency spikes.

The Tor Project introduced modern, delay-based congestion control algorithms (such as Tor-Westwood and Vegas) directly into the Tor protocol. Instead of waiting for packet drops to adjust speeds, these algorithms detect latency increases at the relay level. This update eliminates artificial speed caps on fast connections, prevents bufferbloat across nodes, and significantly improves throughput on high-bandwidth links.

The Walking Onions Architecture

Every Tor client currently downloads a directory consensus file listing every available relay on the network. As the network grows, downloading and processing these consensus documents consumes substantial bandwidth and adds startup latency for users.

To solve this, the Tor Project designed Walking Onions, a next-generation directory protocol. Walking Onions allows clients to create circuits using cryptographic route tokens authenticated by relays rather than downloading the entire network directory. This drastically reduces metadata transfer, accelerates circuit creation, and minimizes overall bandwidth consumption across the network.

Migration to Arti (Rust Implementation)

Tor’s legacy client codebase was written in C, which presents limitations in multi-core performance and memory concurrency. The Tor Project is actively developing Arti, an entirely rewritten Tor implementation in Rust.

Arti provides superior asynchronous I/O handling, robust concurrency, and optimized CPU utilization. By leveraging Rust’s modern tooling and safety guarantees, Arti processes traffic more efficiently than the original C client, reducing client-side processing bottlenecks and speeding up connection handling.

Proof-of-Work (PoW) Defense for Onion Services

Denial-of-Service (DoS) attacks on onion services historically overwhelmed rendezvous circuits and congested relays, degrading speeds for all users. The Tor Project has integrated dynamic Proof-of-Work defenses into onion service introduction points.

When an onion service experiences high traffic, incoming connections must solve a dynamic cryptographic puzzle. Legitimate user traffic is prioritized and processed quickly, while malicious flooding attacks are filtered out. This keeps relays operating smoothly and maintains stable network speeds during traffic spikes.

Accurate Bandwidth Scanning and Load Balancing

Tor balances traffic across its decentralized network using bandwidth scanners (such as Sbws) that dynamically measure relay capacities and assign routing weights. The Tor Project continuously refines these measurement tools to prevent relay saturation. By providing more accurate capacity metrics, the network distributes user traffic evenly across available relays, preventing overloaded bottlenecks and maximizing global throughput.