Статистика сети AeroNyx и граница приватности
Что считает публичная конечная точка статистики сети AeroNyx, её известные ограничения (большинство агрегатов по узлам не фильтруются по свежести, итоги охватывают только активные узлы, вычисляются централизованно), поля доказательств двухшагового пути и то, чего конечная точка никогда не включает.
AeroNyx публикует агрегированную статистику сети через одну публичную конечную точку. Бэкенд AeroNyx вычисляет её на основе heartbeat узлов и отчётов о сеансах VPN. Она содержит только количества, итоговые суммы и группы статусов, никогда не содержит данных об отдельных пользователях и не поддаётся независимой проверке: это то, что сообщает бэкенд.
На этой странице объясняется, что считает каждое значение, какие у него известные ограничения и чего конечная точка никогда не включает.
Конечная точка
curl -s https://api.aeronyx.network/api/privacy_network/vpn/public/network-stats/
Аутентификация не требуется. Путь содержит vpn по историческим причинам; ответ охватывает VPN и уровень протокола узлов. Каждый ответ содержит метку времени generated_at. Берите актуальные значения из конечной точки, а не из копий.
Что считает каждый блок
Все блоки находятся внутри data.
| Блок | Что считает |
|---|---|
network | total_nodes: зарегистрированные узлы, помеченные как активные. vpn_nodes: активные узлы VPN. online_vpn_nodes: узлы VPN, последний heartbeat которых получен в пределах health.heartbeat_fresh_seconds (120 секунд). public_vpn_candidates: узлы VPN с видимостью «публичный», «защищённый паролем» или «не включённый в список». regions_count: число различных меток регионов. |
sessions | active_sessions, total_sessions (за всё время), sessions_started_24h и completed_sessions_24h для клиентских сеансов VPN. |
encrypted_traffic | bytes_in + bytes_out, суммированные по всем клиентским сеансам VPN за всё время (source: client_session_vpn_byte_counters). Это только трафик VPN. Сюда не входит трафик ретрансляции чата, обнаружения или другой трафик между узлами. |
encrypted_message_forwarding | count: сумма по узлам 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" и количество координаторов и свидетелей. Если ни один координатор не создаёт блоки, счётчики блоков не растут. См. Подписанный реестр обязательств. |
health | heartbeat_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 последних результата. Агрегированные данные находятся здесь:
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 -->