Onion bootstrap server is down: add (a) new onion bootstrap server(s) #1695

Open
opened 2020-12-08 02:47:18 +01:00 by sgj3 · 0 comments
sgj3 commented 2020-12-08 02:47:18 +01:00 (Migrated from github.com)

According to @g1itch in a comment on #1538, the sole onion bootstrap server is down. This poses extra problems when 'onionservicesonly=true' (old style) or 'onlynet=onion' (new style, see #1694): either bootstrapping stalls or we must connect to a non-onion endpoint.

I see at least two options here:

  1. Project maintainers run a suitable node and use that as the onion bootstrapping service. That may actually be the case for quzwelsuziwqgpt2.onion and it is just not properly maintained; I don't know who is responsible for that node.
  2. A snapshot is taken and periodically updated of all or some large proportion of onion nodes known to the developers. This snapshot is used in startBootstrappers() in src/network/connectionpool.py.

I prefer the second option as it is much more robust and removes single points of failure/surveillance. However, many of those onion nodes are ephemeral onion addresses and so will quickly be useless. Additionally, some users who may not want the increased load that comes from being a bootstrap node will be included without giving consent.

I am of course open to other ideas, too.

According to @g1itch in [a comment on](https://github.com/Bitmessage/PyBitmessage/issues/1538#issuecomment-703701796) #1538, the sole onion bootstrap server is down. This poses extra problems when 'onionservicesonly=true' (old style) or 'onlynet=onion' (new style, see #1694): either bootstrapping stalls or we must connect to a non-onion endpoint. I see at least two options here: 1. Project maintainers run a suitable node and use that as the onion bootstrapping service. That may actually be the case for `quzwelsuziwqgpt2.onion` and it is just not properly maintained; I don't know who is responsible for that node. 2. A snapshot is taken and periodically updated of all or some large proportion of onion nodes known to the developers. This snapshot is used in `startBootstrappers()` in `src/network/connectionpool.py`. I prefer the second option as it is much more robust and removes single points of failure/surveillance. However, many of those onion nodes are ephemeral onion addresses and so will quickly be useless. Additionally, some users who may not want the increased load that comes from being a bootstrap node will be included without giving consent. I am of course open to other ideas, too.
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Bitmessage/PyBitmessage-2025-03-02#1695
No description provided.