Архитектура приложения и протокола AeroNyx
Как связаны AeroNyx App с закрытым исходным кодом, центральные сервисы под управлением AeroNyx и сеть узлов с открытым исходным кодом, и где проходит каждая граница доверия для чата, вложений, звонков, ИИ Nyxi, памяти и VPN.
AeroNyx состоит из трёх частей. Первая — AeroNyx App с закрытым исходным кодом. Вторая — набор центральных сервисов, которыми управляет AeroNyx. Третья — сеть узлов с открытым исходным кодом под лицензией AGPL-3.0. Содержимое сообщений и вложений шифруется сквозным шифрованием. Центральные сервисы всё же обрабатывают метаданные доставки, списки контактов, состав групп и разговоры с ИИ Nyxi. На этой странице описано, как части связаны между собой и где проходит каждая граница доверия.
Компоненты
| Компонент | Кто управляет | Исходный код | Роль |
|---|---|---|---|
| AeroNyx App (iOS, Android, macOS, Windows) | Работает на вашем устройстве | Закрытый | Создаёт ключи, шифрует и расшифровывает сообщения, запускает VPN-клиент, запускает кошелёк и хранит память Nyxi на устройстве |
| Ретранслятор чата (RelayWS) | AeroNyx | Закрытый | Доставляет зашифрованные сообщения чата, ставит их в очередь для устройств не в сети и хранит контакты, группы и профили |
| Хранилище вложений | Cloudflare R2 через AeroNyx | — | Хранит зашифрованные файлы вложений с помощью краткоживущих предподписанных ссылок для загрузки и скачивания |
| ИИ-бэкенд | AeroNyx | Закрытый | Обрабатывает запросы к Nyxi, хранит разговоры, списывает баллы и отправляет инференс в сервис конфиденциальных вычислений Phala |
| Аккаунты и платежи | AeroNyx | Закрытый | Обрабатывает членство, баллы, платежи в USDT и выдачу VPN-ваучеров |
| Push-уведомления | AeroNyx через APNs | — | Отправляет уведомления без содержимого сообщений на iOS и macOS. На Android push-уведомлений нет. |
| Сервис звонков | AeroNyx | — | Обрабатывает сигнализацию звонков и запускает медиасервер. Медиаданные звонков шифруются сквозным шифрованием. |
| Узлы AeroNyx | Операторы узлов | AGPL-3.0, github.com/AeroNyxNetwork/AeroNyx | Работают как VPN-шлюзы, передают необязательный двухшаговый маршрут чата и анонимные почтовые ящики, хранят запечатанные копии MemChain и выполняют обнаружение узлов |
| Nodeboard | AeroNyx | Закрытый | Консоль оператора для регистрации узлов и управления ими |
Идентичность кошелька и идентичность в чате
AeroNyx хранит идентичность вашего кошелька отдельно от ваших идентичностей в чате.
| Идентичность | Для чего используется |
|---|---|
| Идентичность кошелька | Активы, членство, баллы и владение узлами |
| Идентичность в чате (P2P) | Контакты, личные и групповые чаты, QR-коды и пригласительные ссылки |
Каждая идентичность в чате — это пара ключей Ed25519, которую генерирует ваше устройство. Она не выводится из кошелька, и контакты видят её вместо адреса вашего кошелька. У вас может быть несколько идентичностей в чате. Удаление или ротация одной идентичности в чате не затрагивает ваш кошелёк и другие идентичности.
Обмен сообщениями
Содержимое сообщения шифруется и подписывается на устройстве отправителя и расшифровывается только на устройствах получателя. Ретранслятор никогда не получает ключи чата, ключи групп или ключи вложений. Точные форматы описаны в разделах Интеграция клиента с ретранслятором чата AeroNyx и Руководство по интеграции с Chat API AeroNyx.
Путь по умолчанию: центральный ретранслятор
По умолчанию каждое сообщение проходит через центральный ретранслятор чата (RelayWS), которым управляет AeroNyx. Ретранслятор обрабатывает следующее:
- Метаданные доставки. Он видит открытые ключи отправителя и получателя, идентификаторы групп и сообщений, временные метки, размеры полезной нагрузки, состояние доставки и прочтения, сигналы присутствия и набора текста, метаданные сигнализации звонков и IP-адреса подключений.
- Контакты. Он хранит ваш список контактов: открытый ключ каждого контакта, а также заданные вами никнейм и заметку. Они хранятся в открытом виде, чтобы список синхронизировался между вашими устройствами.
- Группы. Он хранит названия групп, описания, владельцев и списки участников в открытом виде. Ключи групповых сообщений хранятся только в зашифрованном виде, по одному разу для каждого участника.
- Офлайн-очередь. Он держит зашифрованные сообщения для устройств не в сети и удаляет их после доставки.
Иначе говоря, центральный ретранслятор не может прочитать то, что вы пишете. Он может видеть, с кем вы общаетесь, когда вы общаетесь и в каких группах состоите.
Необязательный путь: двухшаговый приватный маршрут
В приложении есть настройка Сначала приватный маршрут, которая по умолчанию выключена. Когда она включена, приложение отправляет личные сообщения через два узла AeroNyx, а не передаёт их центральному ретранслятору. Приложение оборачивает сообщение, уже зашифрованное сквозным шифрованием, в один слой шифрования для каждого узла. Каждый узел может снять только свой слой и узнаёт только следующий переход. Приложение считает сообщение доставленным только после проверки подписанной квитанции от конечного узла. Если приватный маршрут недоступен, сообщение ждёт на вашем устройстве. Оно отправляется через стандартный ретранслятор, только если вы одобрите это для данного сообщения.
ПО узлов публикует свои ограничения. Пути состоят из двух переходов, а сеть невелика, поэтому множество пользователей, среди которых вы теряетесь, невелико. Конструкция защищает от ретрансляторов, которые любопытны, но следуют протоколу. Она не защищает от противника, который наблюдает за всей сетью. См. Обнаружение узлов и зашифрованная многошаговая ретрансляция.
Вложения
Каждая фотография, видео, голосовое сообщение или файл шифруется на устройстве собственным случайным ключом AES-256-GCM. Затем приложение загружает его напрямую в Cloudflare R2 по предподписанному URL, который выдаёт бэкенд. Хранилище никогда не получает ключ файла, имя файла или открытый текст. Ключ передаётся внутри сообщения, зашифрованного сквозным шифрованием. Прежние эндпоинты загрузки на бэкенде AeroNyx сохраняются как резервный вариант. Эндпоинты и ограничения описаны в разделе Интеграция клиента с ретранслятором чата AeroNyx.
Группы и звонки
Групповые сообщения шифруются общим ключом группы. Когда участник выходит из группы или удаляется из неё, ключ группы ротируется. Голосовые и видеозвонки сигнализируются через центральный ретранслятор и передаются медиасервером, которым управляет AeroNyx. Аудио и видео звонков шифруются сквозным шифрованием на уровне кадров.
Резервная копия идентичности (.ayx)
Идентичность в чате можно экспортировать в файл .ayx. Файл содержит seed идентичности, зашифрованный ключом, который выводится из вашего пароля с помощью PBKDF2 и случайной соли. Seed никогда не хранится в файле в открытом виде. Экспорт и импорт выполняются только по вашей инициативе. AeroNyx не хранит копию файла и не имеет ключа восстановления. Если вы потеряете и устройство, и резервную копию, идентичность восстановить невозможно.
ИИ Nyxi и память
Разговоры с Nyxi проходят через бэкенд AeroNyx и хранятся там. Они не зашифрованы сквозным шифрованием. Бэкенд отправляет запросы на инференс к моделям в сервисе конфиденциальных вычислений (TEE) Phala. Приложение пока само не проверяет аттестацию Phala.
Память Nyxi по умолчанию выключена. Когда вы её включаете:
- Воспоминания извлекаются из ваших разговоров ИИ-моделью через бэкенд. Поэтому при извлечении виден текст разговора.
- Сами воспоминания сначала хранятся на вашем устройстве, в локальной базе данных.
- Пока VPN подключён, приложение может также загружать на узел запечатанную, подписанную владельцем копию каждого воспоминания. Узел хранит шифротекст. Эта копия создаётся по принципу best-effort и не является сервисом резервного копирования.
См. MemChain и Blind Vault: что они хранят и чего не хранят.
Состояние реестра обязательств
MemChain включает подписанный реестр обязательств — журнал только для добавления, в котором фиксируются обязательства по зашифрованным записям памяти. Он заморожен: с июля 2026 года не было произведено ни одного нового блока, а его единственный узел-координатор с тех пор выведен из эксплуатации. Это не блокчейн, и у него нет глобального консенсуса. См. Подписанный реестр обязательств: устройство, текущее состояние и ограничения.
Сеть приватности (VPN)
VPN — это шлюз на одном узле. Приложение открывает зашифрованный UDP-туннель к одному узлу AeroNyx, и этот узел пересылает ваш трафик в интернет. Как и любой выходной узел VPN, он видит IP-адреса назначения и обрабатывает ваши DNS-запросы. Приложение аутентифицирует каждое подключение с помощью слепо подписанного ваучера и одноразового ключа клиента. Поэтому узел может проверить, что вам разрешено подключаться, не узнавая ваш аккаунт. Полное сравнение приведено в статье Сеть приватности AeroNyx и традиционный VPN.
Что узлы видят по своей конструкции
ПО узлов построено так, что узлы никогда не держат ключи к содержимому сообщений, содержимому вложений или открытому тексту MemChain. На путях чата и хранения узел обрабатывает только следующее:
- шифротекст и его размер
- подписи
- следующий переход
- временные метки
- защиту от повторов
- ограничения частоты запросов
- агрегированные счётчики
Исключение — VPN-шлюз. Он является выходом в интернет, поэтому неизбежно видит адреса назначения и DNS-запросы пересылаемого трафика.
Nodeboard — это консоль оператора. Она показывает людям, которые запускают узел, записи VPN-сессий этого узла по каждой сессии: ключ клиента, объём в байтах, время начала и окончания. Операторы могут завершать сессии и ставить в очередь блокировки ключей клиентов. Когда приложение использует ваучеры, этот ключ клиента является одноразовым и не указывает на аккаунт. Публичная статистика только агрегированная.
Что сегодня работает централизованно
Приложение использует как центральные сервисы, так и децентрализованную сеть узлов, и децентрализованные пути не заменяют центральные. Сегодня централизованными являются следующие части:
- ретранслятор чата
- хранилище вложений в R2
- push-уведомления через APNs
- сервис звонков
- ИИ-бэкенд
- аккаунты и платежи
- выдача ваучеров
- каталог узлов
ПО узлов имеет открытый исходный код, поэтому другие могут его проверять и запускать. Обзор простым языком приведён в статье Что такое AeroNyx.
Что читать дальше
- Что такое AeroNyx
- Сеть приватности AeroNyx и традиционный VPN
- Интеграция клиента с ретранслятором чата AeroNyx
- Обнаружение узлов и зашифрованная многошаговая ретрансляция
- MemChain и Blind Vault: что они хранят и чего не хранят
- Руководство по консоли оператора Nodeboard AeroNyx
Часто задаваемые вопросы
Видит ли центральный ретранслятор чата, с кем я общаюсь?
Да. Центральный ретранслятор видит открытые ключи отправителя и получателя каждого сообщения, а также временные метки, размеры и состояние доставки. Он также хранит ваш список контактов и состав групп. Он не может прочитать содержимое сообщений или вложений, которое зашифровано сквозным шифрованием.
Как отправлять сообщения в чате без центрального ретранслятора?
Включите Сначала приватный маршрут в настройках чата приложения. Тогда личные сообщения будут проходить по двухшаговому маршруту через узлы AeroNyx. Если маршрут недоступен, сообщение ждёт, пока вы не одобрите его отправку через стандартный ретранслятор. По умолчанию настройка выключена.
Где хранятся зашифрованные вложения?
Зашифрованные вложения хранятся в Cloudflare R2. Приложение загружает их по предподписанным URL, которые выдаёт бэкенд AeroNyx. Перед загрузкой каждый файл шифруется на вашем устройстве собственным ключом. Ключ передаётся только внутри сообщения, зашифрованного сквозным шифрованием.
Работает ли реестр обязательств MemChain?
Нет. Реестр обязательств заморожен. С июля 2026 года он не произвёл ни одного нового блока, а его единственный узел-координатор с тех пор выведен из эксплуатации. Сама память Nyxi по-прежнему работает на вашем устройстве и не зависит от реестра.
Позволяет ли резервная копия .ayx компании AeroNyx восстановить мою идентичность?
Нет. Файл .ayx — это зашифрованная паролем копия вашей идентичности в чате, которую вы экспортируете и храните сами. AeroNyx не хранит её и не имеет ключа восстановления.