[tor-dev] Shortcuts to data-heavy parts of the bootstrapping process

Roger Dingledine arma at torproject.org
Fri Sep 2 01:41:52 UTC 2022


On Fri, Sep 02, 2022 at 12:10:35AM +0000, Holmes Wilson wrote:
> At some point I got an error message that indicated that it was giving up but that I had enough information to connect to onion addresses. I can't reproduce the problem now on a normal network, and I just went through the Tor code looking for the error message I saw, but I couldn't find it.

It was probably this one:
https://gitlab.torproject.org/tpo/core/tor/-/issues/32165

> But I figured I'd ask here to see if anyone was familiar with shortcuts Tor can take in its connection process that safely save time and bandwidth on slow connections if the only thing I intend to use Tor for is connecting to onion addresses.

For very throttled network connections, there is another long-standing
issue that people run into during bootstrapping:
https://gitlab.torproject.org/tpo/core/tor/-/issues/16844

> Are there any steps in bootstrapping that can be skipped if I only care about making and receiving onion address connections?

Hm! I think the answer is "nothing easy that you can do currently."

You still need to learn about most of the relays in the network, in order
to make proper three-hop circuits on your side that are hard to predict
even for somebody who watches what subset of the directory information you
learn (this is a category of attacks known as 'epistemic attacks', in this
case on routing; see https://www.freehaven.net/anonbib/#danezis-pet2008
for more).

In the glorious future, we might have more theoretically scalable
directory designs, such as the Walking Onions approach:
https://www.usenix.org/conference/usenixsecurity20/presentation/komlo
but those won't be out anytime soon and also maybe it will turn out that
they are most useful for their theoretical scaling properties rather
than their practical ones.

--Roger



More information about the tor-dev mailing list