Обнаружение узлов и проверяемая доставка шифротекста

AeroNyx19 июня 2026 г.3 мин чтения56 просмотров

Как узлы AeroNyx находят подписанных peers, выбирают сетево-разнесенный двухпереходный маршрут, пересылают непрозрачный ChatRelay и подтверждают terminal-доставку подписанной квитанцией.

17 июля 2026 года production smoke test передал непрозрачный ChatRelay от аутентифицированного клиента с US1 через Korean1 на Noway1. Terminal сохранил payload в pending store и вернул подписанную receipt, проверенную source. Это ограниченное доказательство подходящего двухпереходного ChatRelay, а не утверждение, что весь трафик AeroNyx использует onion routing.

Инвариант протокола: Relay-инфраструктура не должна получать открытый текст или ключи расшифрования. Middle видит только ограниченные route metadata, proof, TTL, next hop и непрозрачный шифротекст; terminal получает лишь минимум delivery metadata для store-and-forward и шифротекст.

Что уже работает

В production работают подписанные peer descriptor, постоянный peer store, gossip, reachability probe, приоритет receipt-capable маршрутов, аутентифицированные client session, terminal pending store и подписанные delivery receipt.

Поток аутентифицированной доставки

  1. Клиент создает session через Ed25519 и временный X25519 и отправляет ChatRelay внутри зашифрованного DataPacket. Source связывает sender с session identity и выбирает разнесенные middle/terminal. Доставка учитывается только после проверки receipt, связанной с route, точным payload commitment, ожидаемым terminal и freshness.
text
authenticated client -> source -> middle -> terminal pending store
                                  <- terminal-signed receipt <-

Terminal receipt связана с route ID, точным payload commitment, ожидаемой terminal identity и окном freshness. Несовпадающая или устаревшая receipt отклоняется.

Уровни доказательств

Три уровня разделены, чтобы health check не выдавался за доставку пользователя:

Код доказательстваЗначение
synthetic_onion_message_delivery_probeКонтролируемый probe маршрута, не реальный пользовательский трафик.
opaque_relay_acceptanceПринята origin-neutral шифрованная relay-работа; это не доказательство terminal delivery.
verified_client_onion_delivery_receiptPayload аутентифицированного клиента достиг ожидаемого terminal, receipt проверена source.

Разнообразие маршрута

Source, middle и terminal должны быть разными. Одинаковые IPv4 /24, IPv6 /48 и нормализованный DNS host отклоняются; ошибочный endpoint закрывается fail closed. Разнесение по ASN и владельцу оператора еще не реализовано.

Совместимость разных версий

Receipt-capable маршруты имеют приоритет. Старые peers допустимы как ограниченный fallback, но без валидной terminal receipt не увеличивают verified_client_onion_deliveries и не считаются проверенной доставкой.

Контракт публичного API

Прямая card узла доступна через GET http://<node>:8422/api/discovery/public-card, а privacy-safe aggregate сети — через GET https://api.aeronyx.network/api/privacy_network/vpn/public/network-stats/. Старый сегмент vpn сохранен только для обратной совместимости; продукт называется AeroNyx Privacy Protocol.

json
{
  "real_relay_ready": true,
  "verified_client_onion_deliveries": 1,
  "verified_client_onion_delivery_age_seconds": 42,
  "message_delivery_proof_ready": true,
  "message_delivery_ready": true,
  "message_delivery_evidence_mode": "verified_client_onion_delivery_receipt"
}

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

Публичный API показывает только агрегированные readiness, count и age доказательства. Он не раскрывает route ID, endpoint, keys, payload, адреса клиентов, назначения, DNS или social graph. Система не читает контент, но пока не доказывает защиту от глобального анализа трафика или анонимность уровня Tor.

Текущие ограничения

  • Проверка охватывает только подходящий двухпереходный receipt-capable ChatRelay, не весь трафик, voice или media. verified_client_onion_deliveries — process-local freshness signal, сбрасываемый при restart, а не lifetime total или global consensus.

Формулировки в продукте

Только verified_client_onion_delivery_receipt отображается как Verified client delivery, opaque_relay_acceptance — как Encrypted relay active, а synthetic_onion_message_delivery_probe — как Path probe passed. Эти состояния нельзя объединять.

Связанная документация