
Сеть без начальников и надзирателей
Отключение интернета стало обыденностью. В прошлом посте я рассуждал, чем заниматься, если это станет нормой: варить борщ, петь для себя, писать код в пустоту. Но за бытовыми вопросами прятался другой, более практичный: а можно ли вообще сохранить связь, когда интернета нет? Можно ли общаться с теми, с кем хочешь, не единственным активно навязываемым способом на три буквы, а без заботливого невидимого надзирателя? Просто напрямую, как нормальные люди, а не как участники «организованного распространения информации»?
Оказывается, можно. Технологии для этого существуют давно, просто большинство о них не знает. Чтобы понять, как они работают, нужно сначала разобраться, почему привычная связь так легко ломается.
Как устроен привычный интернет
Откройте любой мессенджер. Наберите сообщение. Нажмите «отправить». Сообщение уходит, но не собеседнику напрямую. Оно летит на сервер: мощный компьютер, который стоит в дата-центре где-нибудь в Амстердаме, Сингапуре или Москве. Сервер принимает ваше сообщение, запоминает его и пересылает получателю, когда тот выйдет в сеть.
Такая архитектура называется «клиент — серверной». Ваш телефон — клиент. Он обращается к серверу буквально за каждым чихом: отправить сообщение, получить сообщение, найти контакт, получить его статус, загрузить историю переписки. Сервер — центр, через который проходит всё. И поэтому через него очень удобно всё контролировать.
Представьте городскую телефонную станцию. Вы снимаете трубку, называете номер, телефонистка соединяет вас с нужным абонентом. Быстро, удобно, понятно. Но если телефонистка уйдёт на обед или кто-то перережет провод к станции, связи не будет. Ни у кого. Телефоны-то работают, вот только звонить некуда.
Именно это происходит при блокировке. Роскомнадзор вносит адрес сервера в реестр запрещённых, и все клиенты, которые пытаются к нему обратиться, получают в ответ тишину. Сервер на месте, работает. Но дорога к нему перекрыта. Один адрес, одно действие, и сервис недоступен для целой страны.
Это не баг, а свойство архитектуры. У неё много достоинств: сервер знает, кто где, моментально находит нужного человека, хранит вашу переписку, пока вы в отпуске без связи. Но есть и обратная сторона: одна точка отказа. Сервер — это и сила системы, и её уязвимость.
А что, если убрать сервер?
Представьте другой город. В нём нет телефонной станции. Вместо неё у каждого жителя есть рация. Хотите поговорить с Машей? Выходите на связь напрямую, без посредника. Маша отвечает. Никакой станции, никакой телефонистки, никакого провода, который можно перерезать.
Это одноранговая сеть, или, как её обычно называют, сеть «равный с равным». Каждый участник одновременно и клиент, и сервер. Он и запрашивает данные и передаёт их. Никто не главный.
Именно так работал файлообмен в начале 2000-х, когда миллионы людей качали музыку и фильмы через торренты. Файл не лежал на каком-то одном сервере. Его хранили тысячи обычных компьютеров по всему миру, и вы скачивали кусочки одновременно у многих из них. Блокировать один компьютер бессмысленно: остальные тысячи продолжат раздачу.
Идея красивая. Но у неё есть фундаментальная проблема.
Главный вопрос: как найти собеседника?
В обычной архитектуре с сервером всё просто. Маша отправляет серверу запрос: «Где Петя?» Сервер заглядывает в свою базу данных, находит Петю и соединяет их. Сервер — это справочная. Он знает всех.
А если сервера нет? Куда обращаться? Сеть — это миллионы компьютеров. Вы не знаете адрес Пети. Петя не знает ваш. Между вами нет посредника, который бы дал подсказку.
Самое наивное решение — прокричать на всю сеть: «Эй, кто знает Петю?» Каждый участник получает ваш крик, проверяет — не Петя ли он, и, если нет, передаёт крик дальше. Рано или поздно кто-то ответит. Это работает, но примерно также эффективно как поиск друга на стадионе путём выкрикивания его имени через мегафон. Шумно, медленно, и соседи по трибуне быстро попросят вас замолчать. При миллионах участников сеть просто захлебнётся от таких «криков».
Нужно решение поумнее.
Распределённый справочник
Представьте, что вы приехали в незнакомый город без карты и без навигатора. Вам нужно найти улицу Кленовую. Вы спрашиваете первого прохожего. Он не знает, где Кленовая, но знает, что она где-то на востоке: «Идите прямо, потом спросите у бабушки возле аптеки — она местная, должна знать». Бабушка тоже не знает точный адрес, но подсказывает: «Кленовая — это за парком, спросите там у продавца в киоске». Продавец наконец говорит: «Третий поворот направо, вон она». Три вопроса — и вы на месте.
Примерно так работает распределённая хеш-таблица (Distrubuted Hash Table, DHT) — технология, которая позволяет находить данные и людей в одноранговой сети без единого сервера.
Идея такая: каждый участник сети получает уникальный числовой адрес. Длинный — 160 двоичных разрядов. Этот адрес вычисляется математически и больше ни у кого не повторяется. Каждый участник знает не всех, а только нескольких ближних и дальних соседей (что такое «ближний» и «дальний» в этой системе — объясню чуть дальше).
Когда вам нужно найти Петю, вы спрашиваете у своих соседей: «Кто ближе к Петиному адресу?» Те отвечают: «Мы не знаем Петю, но вот Вася — он ближе к нему, спроси у него». Вы спрашиваете Васю, тот отправляет вас к Лене, Лена — к Игорю, и через несколько таких «прыжков» вы находите либо самого Петю, либо кого-то, кто знает, где он.
Сколько прыжков понадобится? Удивительно мало. В сети из десяти миллионов участников — около двадцати. Двадцать вопросов — и вы нашли нужного человека среди десяти миллионов. Без единого сервера.
Что значит «ближе» и «дальше» в цифровой сети?
Тут начинается самое хитрое. В обычной жизни «близко» — это когда рядом географически. В распределённой хеш-таблице расстояние между двумя адресами вычисляется математической операцией, которая называется «исключающее ИЛИ». Не пугайтесь названия: суть проста.
У каждого адреса есть двоичная запись — последовательность нулей и единиц. Берём адреса двух участников и сравниваем их поразрядно. Если биты совпадают — записываем ноль. Если различаются — единицу. Получившееся число и есть «расстояние».
Пример. Адрес Алисы: 0011. Адрес Бориса: 1001. Сравниваем:
- 0 и 1 — различаются → 1;
- 0 и 0 — совпадают → 0;
- 1 и 0 — различаются → 1;
- 1 и 1 — совпадают → 0.
Результат: 1010, то есть 10 в десятичной системе. Расстояние между Алисой и Борисом — 10 условных единиц.
Это расстояние не имеет ничего общего с географией. Алиса может сидеть в Москве, а Борис в Сиднее. В математическом смысле они могут быть «ближе» друг к другу, чем два соседа по подъезду. Зато эта система позволяет каждому участнику быстро определить: «Я к Пете близко или далеко? А кого из моих знакомых стоит спросить, чтобы подобраться поближе?»
Самая известная реализация такого подхода называется Кадемлия (Kademlia). Её придумали в 2002 году, и с тех пор она используется в торрент-сетях, криптовалютных блокчейнах и децентрализованных хранилищах данных. Технологии уже больше двадцати лет, и она успешно работает.
Проблема первого шага
Есть одна загвоздка. Чтобы начать искать кого-то через распределённый справочник, нужно знать хотя бы одного участника сети. Ведь если вы приехали в город и вокруг вообще никого — спрашивать дорогу не у кого.
Для этого существуют так называемые начальные узлы — компьютеры с известными адресами, к которым новичок подключается в первый раз. Это как справочная на вокзале: она не знает всех жителей города, но поможет сориентироваться и найти первых знакомых. После этого вы уже самостоятельно обрастаете связями и больше не зависите от начального узла.
Слабое место очевидно: если заблокировать все начальные узлы, новые участники не смогут войти в сеть. Это единственный элемент централизации в децентрализованной системе и, естественно, самая уязвимая точка.
Но инженеры не сидели сложа руки. За двадцать лет придумано несколько способов обойти эту проблему, и на практике их комбинируют.
Память о прошлых встречах. После первого подключения приложение запоминает адреса узлов, с которыми общалось. При следующем запуске оно обращается не к начальному узлу, а к тем, кого уже знает. Начальный узел нужен ровно один раз, при самом первом входе в сеть. Дальше вы самостоятельны.
Поиск по соседству. Если два устройства подключены к одной локальной сети — домашнему Вай-Фаю, офисному роутеру, — они могут найти друг друга вообще без интернета. Технология называется mDNS (мультикаст-DNS): устройство объявляет о себе в локальной сети, и все соседи его «слышат». Именно так работает, например, технология Apple Bonjour, когда ваш компьютер сам находит принтер. Тот же принцип используется для поиска участников одноранговой сети: Jami, к примеру, умеет находить собеседников в локальной сети даже без выхода в интернет.
Любой участник — потенциальный начальный узел. Начальный узел — это не особый сервер с привилегиями. Это обычный участник сети, адрес которого заранее известен. Любой компьютер с постоянным адресом может стать таким узлом. Заблокировали один? Завтра появится другой. В торрент-сетях таких узлов сотни, и их адреса распространяются разными путями — через сайты, форумы, даже устно.
Блютус и Вай-Фай напрямую. Это радикальное решение: не искать начальный узел в интернете, а найти живого человека рядом. Briar и BitChat именно так и работают — подключаются к ближайшим устройствам через Блютус и строят сеть из тех, кто физически рядом. Интернет не нужен вообще.
На практике надёжные приложения используют все эти способы одновременно. Не сработал один — сработает другой. Это не идеальная защита, но и не единственный замок на единственной двери.
Мессенджеры, которым не нужен сервер
Теория — это хорошо, но какие конкретные приложения можно поставить и попробовать прямо сейчас?
Tox — видеосвязь без посредников
Tox появился в 2013 году как ответ на покупку Скайпа корпорацией Майкрософт. Разработчики решили: если Скайп теперь принадлежит корпорации, значит, нужна альтернатива, которая не принадлежит никому.
Tox — это чистая одноранговая сеть. Для поиска собеседников используется та самая распределённая хеш-таблица. Каждый пользователь получает пару криптографических ключей: открытый (его можно показать всем, это ваш идентификатор) и закрытый (он хранится только у вас и обеспечивает шифрование). Никакой регистрации — ни телефона, ни почты.
Tox поддерживает текстовые сообщения, голосовые и видеозвонки, передачу файлов и общий доступ к экрану. Работает на всех основных операционных системах. Из минусов: разработка клиентов замедлилась, история сообщений не синхронизируется между устройствами, а передача больших файлов бывает нестабильной. Кроме того, поскольку поиск ведётся через хеш-таблицу, часть метаданных (кто с кем общается) теоретически может утечь.
По данным на 2026 год, Tox в России пока не заблокирован.
Jami — звонки через распределённый справочник
Jami (раньше назывался GNU Ring) — проект стартовал в 2004 году. Разрабатывается канадской компанией и распространяется как свободное программное обеспечение. Архитектура — одноранговая, на базе собственной реализации распределённой хеш-таблицы под названием OpenDHT.
Работает примерно так: при запуске ваше устройство становится узлом в распределённой сети. Когда вы ищете собеседника, запрос «прыгает» от узла к узлу, как в примере с поиском улицы в незнакомом городе, пока не находит нужного человека. Всё зашифровано сквозным шифрованием: сообщение шифруется на вашем устройстве, а расшифровывается только на устройстве получателя. Даже разработчики не могут прочитать вашу переписку.
Jami поддерживает текст, голос, видео, передачу файлов. Работает на компьютерах, телефонах. Может работать даже в локальной сети без выхода в интернет — устройства находят друг друга через широковещательные запросы.
Из минусов: Jami заметно разряжает батарею на мобильных устройствах (каждый телефон — полноценный узел сети, а это требует ресурсов) и малоизвестен — собеседников придётся уговаривать поставить приложение. Для первого входа в сеть нужен начальный узел, и если его заблокируют, понадобится знать адрес альтернативного.
Briar — связь без интернета
Briar идёт дальше всех. Этот мессенджер проектировали для журналистов и активистов, работающих в условиях репрессий, и исходили из предположения, что интернет может быть отключён полностью.
Когда интернет есть, Briar передаёт сообщения через сеть Tor — систему анонимной маршрутизации, которая скрывает, кто с кем общается. Когда интернета нет, Briar переключается на Блютус и Вай-Фай: устройства находят друг друга напрямую на расстоянии нескольких десятков метров. Если между вами и адресатом слишком большое расстояние, сообщение «перепрыгивает» через устройства других пользователей Briar — каждый телефон работает как ретранслятор.
Это называется ячеистой сетью. Она представляет собой цепочку устройств, которые передают данные друг другу. Телефон А не достаёт до телефона Г, но достаёт до телефона Б. Телефон Б достаёт до В, а В — до Г. Сообщение идёт по цепочке А → Б → В → Г. Ни серверов, ни интернета, ни сотовых вышек, только устройства людей поблизости.
Код Briar прошёл независимый аудит немецкой компании Cure53. Регистрация — без телефона и почты, достаточно придумать имя и пароль. Контакты добавляются при личной встрече через сканирование QR-кода. Это и удобно, и безопасно: никакой сервер не знает ваш список контактов.
Ограничения серьёзные: только текст (ни голоса, ни видео), нет версии для Айфона, нет синхронизации между устройствами. Если потеряете телефон, потеряете всю переписку. Но для задачи «связаться с человеком, когда отключили всё» Briar, пожалуй, лучшее, что существует.
В сентябре 2024 года Мосгорсуд вынес решение о блокировке Briar в России. Насколько эффективна эта блокировка для мессенджера, умеющего работать без интернета, — вопрос скорее философский.
BitChat — рация Джека Дорси
BitChat — самый молодой в этом списке. Его запустил в июле 2025 года Джек Дорси, сооснователь Твиттера. Идея та же, что у Briar: ячеистая сеть через Блютус, никаких серверов, никаких учётных записей. Но есть существенные отличия.
Во-первых, BitChat работает и на айфонах, и на Андроиде — кроссплатформенность, которой Briar до сих пор не добился. Во-вторых, у BitChat гибридная архитектура: когда рядом есть другие устройства с приложением, сообщения идут по Блютус-цепочке (до семи «прыжков» между устройствами, что расширяет охват со стандартных 10–30 метров). Когда появляется интернет, подключается протокол Nostr — децентрализованная сеть для обмена сообщениями глобального масштаба. Приложение само выбирает лучший маршрут.
Шифрование сквозное, на основе обмена ключами X25519 и алгоритма AES-256-GCM. Есть «режим паники»: тройное нажатие на логотип мгновенно стирает все данные с устройства. Исходный код открыт.
BitChat уже прошёл проверку реальностью. Во время протестов на Мадагаскаре в сентябре 2025 года приложение скачали 70 тысяч раз за неделю. В Непале в тот же месяц 50 тысяч загрузок за один день. В январе 2026-го рост загрузок фиксировали в Уганде и Иране, тоже во время блокировок интернета.
Из минусов: технология молодая и пока не прошла серьёзного независимого аудита безопасности. Один исследователь обнаружил возможность подделать чужую личность в чате. Дорси сам предупреждает в репозитории: не полагайтесь на безопасность приложения, пока не будет независимой проверки. Кроме того, в местности, где мало пользователей, ячеистая сеть просто не складывается — не через кого передавать сообщения.
Почему тогда все не перейдут на одноранговые сети?
Потому что за устойчивость приходится платить.
Скорость. В обычном мессенджере сообщение доходит за доли секунды: один прыжок до сервера, один от сервера. В одноранговой сети — несколько прыжков, каждый через чужое устройство, которое может быть медленным или далёким.
Доступность. Сервер работает круглосуточно. А ваш собеседник нет. Если Петя выключил телефон, сообщение некуда доставить: нет сервера, который подержал бы его до утра. Некоторые одноранговые мессенджеры решают эту проблему, но не все и не идеально.
Батарея. Когда ваш телефон — узел сети, он постоянно поддерживает соединения, обрабатывает запросы, пересылает чужие данные. Батарея разряжается заметно быстрее.
Удобство. Нет облачной синхронизации. Поменяли телефон, потеряли переписку. Нет красивых стикеров, реакций, каналов и ботов. Для большинства людей это критично.
Сетевой эффект. Мессенджер полезен ровно настолько, насколько им пользуются ваши знакомые. В Телеграме сотни миллионов. В Briar — тысячи. Математика безжалостна.
Устойчивость и свобода — вопрос архитектуры
Обе архитектуры существуют не случайно. Сервер — это быстро, удобно и надёжно, пока сервер доступен. Одноранговая сеть — это медленнее и неудобнее, зато нет единой точки, которую можно выключить.
Хорошая новость: необязательно выбирать что-то одно. Можно пользоваться привычным мессенджером для повседневных разговоров и держать на телефоне Briar, BitChat или Jami на случай, если привычный перестанет работать. Как фонарик в ящике стола: он не нужен каждый день, но когда выключают свет — бесценен.
Плохая новость: чтобы фонарик работал, его нужно достать до того, как погаснет свет. Установите приложение, добавьте контакты, попробуйте обменяться парой сообщений. Это занимает пять минут. А когда интернет уже отключат, поставить уже не получится.
Источники
Кадемлия — Стэнфордское руководство — подробное и доступное введение в алгоритм Кадемлия от Стэнфордского университета.
Распределённые хеш-таблицы — документация IPFS — объяснение принципов работы распределённых хеш-таблиц на примере файловой системы IPFS.
Одноранговые мессенджеры: Briar, Tox, Jami, xChat — развёрнутое сравнение одноранговых мессенджеров с точки зрения безопасности и шифрования.
Tox против Briar: сравнение безопасных одноранговых мессенджеров — детальное сопоставление двух подходов к одноранговому обмену сообщениями.
Общаемся без интернета: обзор ячеистых мессенджеров — блог «Лаборатории Касперского» — обзор мессенджеров, работающих через Блютус и ячеистые сети, на русском языке.
Децентрализованные мессенджеры: 8 альтернатив — обзор восьми децентрализованных мессенджеров с учётом ситуации с блокировками в России.
Jami — ваш мессенджер, которого невозможно заблокировать — подробный разбор Jami и его устойчивости к блокировкам.
Руководство пользователя Briar — официальная документация Briar на русском языке.
BitChat — Блютус-мессенджер Джека Дорси, работающий без интернета — обзор BitChat: архитектура, шифрование, применение во время протестов.
BitChat — Википедия — история проекта, технические детали и известные уязвимости.
Как работает BitChat Mesh — объяснение принципа работы BitChat на русском языке.