Статистика сети AeroNyx и граница приватности

AeroNyx6 мин чтения

Что считает публичная конечная точка статистики сети AeroNyx, её известные ограничения (большинство агрегатов по узлам не фильтруются по свежести, итоги охватывают только активные узлы, вычисляются централизованно), поля доказательств двухшагового пути и то, чего конечная точка никогда не включает.

AeroNyx публикует агрегированную статистику сети через одну публичную конечную точку. Бэкенд AeroNyx вычисляет её на основе heartbeat узлов и отчётов о сеансах VPN. Она содержит только количества, итоговые суммы и группы статусов, никогда не содержит данных об отдельных пользователях и не поддаётся независимой проверке: это то, что сообщает бэкенд.

На этой странице объясняется, что считает каждое значение, какие у него известные ограничения и чего конечная точка никогда не включает.

Конечная точка

bash
curl -s https://api.aeronyx.network/api/privacy_network/vpn/public/network-stats/

Аутентификация не требуется. Путь содержит vpn по историческим причинам; ответ охватывает VPN и уровень протокола узлов. Каждый ответ содержит метку времени generated_at. Берите актуальные значения из конечной точки, а не из копий.

Что считает каждый блок

Все блоки находятся внутри data.

БлокЧто считает
networktotal_nodes: зарегистрированные узлы, помеченные как активные. vpn_nodes: активные узлы VPN. online_vpn_nodes: узлы VPN, последний heartbeat которых получен в пределах health.heartbeat_fresh_seconds (120 секунд). public_vpn_candidates: узлы VPN с видимостью «публичный», «защищённый паролем» или «не включённый в список». regions_count: число различных меток регионов.
sessionsactive_sessions, total_sessions (за всё время), sessions_started_24h и completed_sessions_24h для клиентских сеансов VPN.
encrypted_trafficbytes_in + bytes_out, суммированные по всем клиентским сеансам VPN за всё время (source: client_session_vpn_byte_counters). Это только трафик VPN. Сюда не входит трафик ретрансляции чата, обнаружения или другой трафик между узлами.
encrypted_message_forwardingcount: сумма по узлам VPN счётчика пакетов данных VPN, которые каждый узел успешно обработал. Бэкенд суммирует приросты каждого узла, считает сброс счётчика (например, при перезапуске) новым началом и отбрасывает неправдоподобные скачки. reported_nodes — число узлов, сообщивших значение счётчика.
protocol_public_cardСводка по протоколу узлов: общие status и stage, сколько из сообщающих узлов готовы, а также карточки состояния протокола, проверенной сети пиров и готовности «слепой» ретрансляции.
protocol_statusПодробное представление протокола: network_story (готовность одношаговых и двухшаговых маршрутов), local_relay_capability (количество узлов с настроенным, анонсированным и заблокированным ChatRelay), protocol_foundation (доказательства проверки путей и данные о ретрансляции), peer_store (количество пиров, счётчики «слепой» ретрансляции, кворум пиров, жизненный цикл пиров) и memory_chain.
protocol_status.memory_chainСостояние подписанного реестра обязательств, только для узлов со свежим heartbeat. Сообщает network_consensus: "not_claimed" и количество координаторов и свидетелей. Если ни один координатор не создаёт блоки, счётчики блоков не растут. См. Подписанный реестр обязательств.
healthheartbeat_fresh_seconds (120), выборки heartbeat и корректные выборки за последние 24 часа, availability_24h_percent (корректные выборки ÷ все выборки) и latest_heartbeat_at.

Известные ограничения

  • В количества узлов протокола входят только узлы, приславшие отчёт за последние 120 секунд. encrypted_message_forwarding, protocol_public_card и protocol_status строятся по узлам со свежим heartbeat — это тот же набор, что и у network.online_vpn_nodes. Узел, ушедший из сети, исчезает из этих количеств в течение двух минут. До октября 2026 года они учитывали и последний снимок узлов, не находящихся в сети.
  • total_nodes, vpn_nodes и public_vpn_candidates не проверяют свежесть. Они считают зарегистрированные активные узлы независимо от того, в сети они или нет. Сравнивайте их с network.online_vpn_nodes.
  • Итоговые суммы охватывают только активные в данный момент узлы. Сеансы и байты суммируются по узлам, которые активны сейчас. Когда узел деактивируют, его сеансы выпадают из итогов, поэтому итоги за всё время могут уменьшаться.
  • «Зашифрованный трафик» — это трафик VPN, о котором узлы сообщают по каждому сеансу. Это не мера объёма ретрансляции или чата.
  • Значения поступают от центрального бэкенда. Они строятся на основе того, что узлы ему сообщают, не подписываются и не поддаются независимой проверке. Используйте их как эксплуатационный обзор, а не как доказательство.

История доказательств двухшагового пути

Узлы регулярно проверяют синтетический двухшаговый путь (входной, промежуточный, конечный узел) и хранят 32 последних результата. Агрегированные данные находятся здесь:

text
data.protocol_status.protocol_foundation.two_hop_path_proof_history
ПолеЗначение
reported_nodesУзлы, сообщившие историю доказательств
retained_events, attempted, succeeded, failed, success_percentСуммы по сохранённым результатам всех сообщающих узлов. Старые неудачи остаются здесь, пока не выйдут за пределы окна каждого узла.
min_latest_age_seconds, min_latest_success_age_seconds, min_latest_failure_age_secondsВозраст самого последнего результата, успеха и неудачи по всем узлам
proof_ready_nodesУзлы, в последнем отчёте которых указано, что доказательство готово
recent_success_ready_nodesУзлы, последний результат которых был принят в пределах 30 минут до их отчёта
failure_streak_nodesУзлы, сообщающие о нескольких недавних неудачах подряд
freshness_countsЧисло узлов в каждой группе свежести: fresh_success, stale_success, recent_failure, no_success, forming (попыток ещё не было), future_ignored (проблема с часами)
latest_outcome_countsЧисло узлов по последнему результату, например accepted или none
latest_reason_countsЧисло узлов по группе последней причины, например onion_terminal_delivered
proof_scope_countsСохранённые результаты по области: message_delivery или control_plane
reason_bucket_counts, failure_reason_bucket_countsСохранённые результаты по причине: все и только неудачи
path_shape_countsСохранённые результаты по форме пути, например entry_middle_terminal
candidate_pool_countsСохранённые результаты по тому, сколько кандидатов в промежуточные и конечные узлы было доступно при выполнении проверки: incomplete, thin, forming или healthy
ttl_shape_countsСохранённые результаты по схеме TTL шагов, например entry_ttl_2_onward_ttl_1
source, privacy_boundaryОткуда получены данные и что из них исключено

Для оценки текущей готовности смотрите на количества узлов (proof_ready_nodes, recent_success_ready_nodes, freshness_counts), а для истории — на суммы событий. Поля на уровне узлов включают только узлы со свежим heartbeat, поэтому узел, переставший отправлять отчёты, исчезает из них в течение двух минут. Это синтетические доказательства проверки путей, а не пользовательские сообщения.

О том, что проверяют эти доказательства, см. Обнаружение узлов и зашифрованная ретрансляция.

Граница приватности

Публичная конечная точка может включать:

  • агрегированное количество узлов и регионов
  • агрегированные счётчики байтов и сеансов VPN
  • агрегированные счётчики пересылки пакетов
  • свежесть heartbeat и доступность
  • группы готовности обнаружения, ретрансляции и доказательств
  • агрегированные данные о ёмкости и нагрузке на хосты

Публичная конечная точка не должна включать:

  • закрытые ключи узлов или полные идентификаторы узлов
  • идентификаторы маршрутов или выбранные шаги
  • необработанные адреса конечных точек в публичных сводках
  • зашифрованную полезную нагрузку или открытый текст сообщений
  • идентичности отправителей или получателей
  • IP-адреса клиентов
  • содержимое DNS, домены, URL-адреса или историю просмотра
  • полезную нагрузку пакетов
  • секреты ваучеров
  • трафик в разрезе отдельных пользователей или кошельков
  • открытый текст MemChain
  • связи социального графа

Эта граница относится к публичной конечной точке. Операторы узлов видят в Nodeboard больше сведений о сеансах на своих узлах, включая записи о трафике по каждому сеансу и каждому ключу клиента; см. Руководство по консоли оператора Nodeboard. О том, как AeroNyx обращается с данными в целом, см. Центр доверия.

<!-- faq:start -->

Часто задаваемые вопросы

Что измеряет «зашифрованный трафик»?

Это сумма счётчиков байтов, которые узлы сообщают для клиентских сеансов VPN, за всё время, по активным в данный момент узлам. Сюда не входит трафик ретрансляции чата или трафик между узлами.

Включают ли количества узлов узлы, которых нет в сети?

Количества по протоколу и пересылке — нет: в них входят только узлы с heartbeat за последние 120 секунд. network.total_nodes, network.vpn_nodes и network.public_vpn_candidates считают зарегистрированные активные узлы независимо от того, в сети они или нет, поэтому сравнивайте их с network.online_vpn_nodes.

Могут ли итоги за всё время уменьшаться?

Да. Итоги суммируются по узлам, активным в данный момент, поэтому при деактивации узла его сеансы и байты из них выпадают.

Можно ли независимо проверить эти значения?

Нет, бэкенд AeroNyx вычисляет их по отчётам узлов и не подписывает их. Операторы узлов могут проверить свои узлы локально с помощью инструментов проверки состояния из раздела Эксплуатация и проверка узла AeroNyx.

Раскрывает ли конечная точка, кто пользуется AeroNyx?

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

<!-- faq:end -->