Nostr WoT
NostrNIP-02Web of TrustIdentity

NIP-02 даёт petname разрешаемые пути

NIP-02 определяет относительные и абсолютные пути petname через списки подписок, но внедрение и правила экранирования остаются открытыми.

Nostr WoT Newsroom

Статья3 min read

Материал подготовлен редакцией Nostr WoT на основе указанных первоисточников и опубликован автоматически, без индивидуальной проверки человеком.

NIP-02 даёт petname разрешаемые пути

В NIP-02 появилась явная запись путей для схемы petname. PR #2472, объединённый 19 сентября 2026 года, заменяет старый пример из нескольких переходов правилами отображения и разрешения имён вроде ~/erin/charlie через списки подписок Nostr.

Изменение не добавляет тип события и не меняет структуру списка kind 3. Оно уточняет уже существующее необязательное поле. Четвёртое значение тега p может содержать локальное имя, которое выбирает автор списка:

json
["p", "21df6d143fb96c2ec9d63726bf9edc7121df6d143fb96c2ec9d63726bf9edc71", "", "erin"]

В контексте текущего пользователя клиент может показать этот известный публичный ключ как erin. Имя относится к представлению графа именно этим пользователем. Это не глобальное имя и другие пользователи не обязаны его принимать.

Каждый компонент ведёт к списку одного человека

Объединённый текст NIP-02 определяет разрешение по одному компоненту. Если список пользователя сопоставляет erin одному ключу, а список Erin сопоставляет charlie другому, клиент разрешает ~/erin/charlie: сначала ищет erin локально, получает последнее событие kind 3 от Erin и затем ищет в нём charlie.

Прежний текст показывал производные имена вроде frank.david.erin, но не задавал грамматику пути или порядок поиска. Новая версия описывает направление работы разрешателя: начать с корня, найти первое имя, затем использовать список этого профиля для следующего имени.

Форма ~ использует вошедшего пользователя как относительный корень. NIP-02 также приводит два абсолютных корня для случая без входа или когда текущий контекст не подходит:

text
~npub1.../erin/charlie
[email protected]/erin/charlie

Примеры показывают, чей контекст имён начинает путь. Они не создают глобальный реестр. Каждый следующий компонент зависит от petname в списке предыдущего профиля.

Читаемый путь не доказывает доверие

Пути могут показывать социальный контекст без единого центра, который раздаёт все имена. В интерфейсе web of trust ~/erin/charlie может быть полезнее отдельного ключа, потому что описывает, как пользователь приходит к Charlie через Erin.

Такой путь не является криптографическим доказательством личности. Событие kind 3 подписано, поэтому клиент может проверить, кто опубликовал каждое сопоставление. Однако автор может выбрать вводящий в заблуждение petname, изменить его или указать другой ключ. NIP-02 также говорит, что новый список заменяет предыдущий. Разрешателю нужно последнее действительное событие на каждом шаге.

Доступность тоже ограничивает разрешение. Для длинного пути могут понадобиться несколько списков на relay. Отсутствующее или устаревшее событие остановит поиск, даже если ключи остаются действительными. Клиентам стоит показывать разрешённый ключ, корень и место ошибки, а не выдавать путь за бесспорное имя аккаунта.

Детали разбора остаются открытыми

Merge меняет один файл: добавляет десять строк и удаляет двадцать. Он определяет относительные и абсолютные примеры, но не задаёт экранирование petname с /, пробелами или другими специальными символами. Эти случаи подняли в комментариях после merge, и текущий NIP пока их не решает.

Pull request также не содержит свидетельств опубликованной реализации. Это уточнение спецификации, а не доказательство того, что конкретный клиент уже умеет вводить, показывать или разрешать новую запись. Для совместимости клиентам нужно согласовать разбор и отображение неполных путей.

Полезная граница ясна: NIP-02 описывает цепочку локально назначенных имён. Он не делает их глобально уникальными идентификаторами, не заменяет проверку публичных ключей и не устанавливает оценку доверия.

Источники

Каждое утверждение в этом материале ссылается на первоисточник.

  1. PR #2472: nip02: make petnames great again — nostr-protocol/nips (19 сентября 2026 г.)
  2. NIP-02 at merge commit 11cca8f — nostr-protocol/nips (19 сентября 2026 г.)
  3. Merge commit 11cca8f — nostr-protocol/nips (19 сентября 2026 г.)

Ещё от редакции

Будьте в курсе

Получайте новости о выпущенных версиях Nostr WoT, новых функциях и интеграциях.

Вы будете получать рассылку на русском языке.

Мы сохраняем ваш адрес электронной почты и предпочитаемый язык для отправки рассылки.

Рассылки