Каковы ограничения подключения Клиента к Сети через TOR?

Недавно я читал вики-страницу Weaknesses о «Атаке на всех пользователей» и наткнулся на это утверждение:

IP-адреса большинства пользователей полностью общедоступны. Вы можете использовать Tor, чтобы скрыть это, но сеть не будет работать, если все так делают.

Из чего следует, что Клиент, подключающийся к Сети через TOR, не может таким образом выполнять все свои задачи. Каковы ограничения подключения Клиента к Сети через TOR, в отличие от стандартного подключения?

Ответы (2)

Биткойн-клиент спроектирован как одноранговая сеть. Чтобы присоединиться к сети, вам необходимо установить соединение с узлом, который принимает входящие соединения. Для защиты от определенных типов атак Sybil клиент пытается установить 8 исходящих подключений к географически разнесенным узлам.

Если вы подключаетесь к сети через tor, вы не можете принимать входящие подключения. Вы будете использовать 8 слотов входящих подключений, которые были доступны в сети (с исходящими подключениями, которые вы устанавливаете), но вы не будете добавлять их самостоятельно. Это может привести к тому, что в сети не хватит слотов для входящих подключений, что снизит надежность сети. В сети Биткойн в прошлом были проблемы с нехваткой доступных слотов для входящих подключений. Точно неясно, почему, но одна из возможностей — преднамеренное злонамеренное использование этих слотов.

Причина, по которой вы не можете полностью доверять клиентам, которые подключаются к вам входящим образом, заключается в том, что злоумышленник может тривиально использовать все ваши слоты входящих подключений, и все эти подключения могут быть из сговорчивых узлов, управляемых одним и тем же пользователем. Однако у вас есть полный контроль над тем, с кем вы устанавливаете исходящие соединения.

В общем, пока хотя бы одно из ваших подключений идет к хорошо связанному узлу, который не вступает в сговор со всеми другими узлами, к которым вы подключены, вы должны быть в безопасности.

Было бы неплохо, если бы у вас была возможность обновить свой ответ. Текущие версии Bitcoin Core имеют встроенный контроль Tor и могут принимать входящие соединения через сеть Tor. Здесь есть руководство по настройке .

В настоящее время биткойн-узел, использующий Tor для подключения к другому биткойн-узлу, должен пройти через выходной узел.

Работа над разрешением для этого выполняется, как описано здесь :

Поддержка IPv6 в несколько общем виде проложит путь к функционированию биткойнов, например, в качестве скрытой службы Tor или I2P, с использованием адресов, подобных onioncat, tor-encoded-in-IPv6.