I was just at an event with a slow (but reliable) network and Tor was not able to connect; the "Loading relay descriptors" step just took too long.
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.
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.
Are there any steps in bootstrapping that can be skipped if I only care about making and receiving onion address connections?
Holmes
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
Thanks, this is super helpful.
And yes, it was that error message. The "such as paths to onion services" was a tease, because I was like "oh yes, that's exactly what I need! I should ask someone about this!" :)
Here's to a glorious future full of scalable directory designs that are both practical and theoretical!
H
On Fri Sep 2, 2022, 01:41 AM GMT, Roger Dingledine mailto:arma@torproject.org wrote:
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
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev