diff --git a/doc/node_snapshot.md b/doc/node_snapshot.md index 57c39b29..9198f4db 100644 --- a/doc/node_snapshot.md +++ b/doc/node_snapshot.md @@ -19,9 +19,12 @@ ID и время измерения не передаются: последни проверка с тем же результатом не меняет NODEINFO. Все поля SOCKMETA — отдельные байты; границы списков metadata/адресов/REALITY также входят в каноническую подпись. Алгоритм и условия неопределённости описаны в `doc/nat_detection.txt`. -`source=ETCP` обозначает измерение рабочего endpoint, `source=STUN` — резервную оценку -по IP/netif с другого порта. Source входит в подпись; SOCKMETA занимает 5 байт. -STUN mapped endpoint не публикуется как внешний адрес рабочего сокета. +`source=ETCP` обозначает наблюдение рабочего endpoint. Одно наблюдение может дать +адрес `TOPO_ADDR_NAT` при `mapping=UNKNOWN`, `inbound=UNKNOWN`: это NAT-кандидат +для пробного подключения, а не адрес интерфейса или подтверждённый открытый вход. +Общий внешний адрес подтверждает EIM; strict не публикует универсальный NAT-адрес. +Source входит в подпись; SOCKMETA занимает 5 байт. STUN другого порта остаётся +отдельной диагностикой и не назначает профиль или внешний адрес рабочего сокета. Таблица `node_snapshots` хранит полную сериализованную запись без группового окружения. `node_addresses` остаётся проекцией для поиска и отображения, а не