В Bitcoin Core обсуждают отказ от CJDNS — зашифрованной сети, через которую узел может общаться с сетью помимо обычного интернета. Причина не в технологии, а в безлюдности: разработчик, открывший обсуждение, при запуске только через CJDNS находил максимум четыре соседних узла, обычно три. Из одиннадцати зашитых в код точек входа многие не отвечают. Обсуждение открыто двадцатого августа и помечено к версии 32.0.

Коротко: о чём речь

CJDNS — не кошелёк и не протокол биткоина, а транспорт: зашифрованная сеть поверх обычной, где адреса выводятся из криптографических ключей. Поддержку добавили в Core в 2022 году вместе с Tor и I2P как запасной канал связи.

Смысл такого канала — устойчивость. Если провайдер или государство блокирует обычные соединения, узел остаётся на связи через альтернативный транспорт и продолжает получать блоки.

Автор обсуждения ставит вопрос иначе: должна ли сеть соответствовать какому-то минимальному порогу, чтобы её поддержку имело смысл нести дальше. Названный им ориентир — низкие трёхзначные числа, то есть хотя бы около сотни узлов.

Что показывают замеры

Показатель Значение
Соседей при запуске только через CJDNS 3–4
Зашитых точек входа 11, многие не отвечают
Порог, при котором поддержку стоит нести около сотни узлов
Статус обсуждения открыто, помечено к версии 32.0
Поддержка добавлена 2022 год, версия 23.0
Заявленная причина техдолг от стыковки с IPv6 и постоянные правки

По подсчётам стороннего наблюдателя картина та же: из 25 известных адресов отвечали 22, а более строгую проверку качества прошли лишь семь. Решения пока нет — это предложение обсудить, а не объявление об удалении.

Почему пустая приватная сеть опаснее её отсутствия

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

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

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

Зашифрованная дорога, по которой ездит семь машин, приватности не даёт. Она даёт список из семи номеров.

Как это сочетается с решением по нешифрованным соединениям

На первый взгляд получается противоречие. Неделей раньше Core отложил отказ от нешифрованных соединений — то есть оставил в живых менее защищённый канал. Теперь обсуждают отказ от зашифрованного.

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

Для владельца узла практический вывод скромный: если вы не настраивали CJDNS вручную, вас это не касается вовсе. Если настраивали как единственный канал — стоит добавить обычный или Tor, не дожидаясь решения разработчиков.

Чего в источниках нет

Не приводится позиция самих разработчиков CJDNS и не сказано, обращались ли к ним.

Нет исторических данных: сколько узлов было в этой сети раньше и когда началось падение.

Не обсуждаются и альтернативы удалению — например, оставить поддержку без зашитых точек входа или перевести её в разряд экспериментальных.

Частые вопросы

Что такое CJDNS?

Зашифрованная сеть поверх обычного интернета, где адрес узла выводится из криптографического ключа. Для биткоина это запасной канал связи наряду с Tor и I2P.

Его уже удалили?

Нет. Открыто обсуждение о будущем поддержки, помеченное к версии 32.0. Решения не принято.

Почему хотят убрать?

Из-за малого числа узлов: при работе только через CJDNS находится три-четыре соседа. Плюс техдолг от стыковки с IPv6.

Что такое атака изоляции?

Ситуация, когда все соединения узла заняты машинами злоумышленника и он показывает жертве выдуманную картину сети. Чем меньше узлов в сети, тем дешевле такая атака.

Меня это затрагивает?

Только если вы включали CJDNS вручную. По умолчанию он не используется.

Что делать владельцу узла?

Если CJDNS настроен единственным каналом — добавить обычные соединения или Tor. Ждать решения разработчиков не обязательно.

Источники

Материал подготовлен на основе обсуждения в репозитории Bitcoin Core, открытого разработчиком mzumsande, и разбора CryptoSlate со сторонними замерами доступности узлов.