Nostr — «Notes and Other Stuff Transmitted by Relays» — открытый протокол для социальных приложений, в котором нет ни аккаунтов на серверах, ни центрального оператора: личность — это пара криптографических ключей, а сообщения — подписанные JSON-события, которые разносят «глупые» серверы-реле.1 Базовое устройство протокола — события, NIP, клиенты и реле — разобрано в отдельном обзоре; здесь фокус на практике: какие алгоритмы и криптография стоят под капотом, как безопасно пользоваться, что протокол даёт обычному человеку, как его применять для обхода блокировок, какие сервисы на нём работают и как активные сервисы защищаются от спама.

Спойлер к последнему пункту: встроенного ответа на спам у протокола нет, и это не недосмотр, а прямое следствие беспермиссионной модели. Всё, что есть, — набор механизмов, которые комбинируют клиенты, реле и сами пользователи.

Как устроен протокол и какие алгоритмы используются

В Nostr ровно два типа участников и один тип данных. Клиенты — приложения, с которыми работает пользователь. Реле — серверы на WebSocket, которые принимают подписанные события, хранят их и отдают по запросам; доверия к ним не требуется.1 Единственный объект сети — событие (event): JSON с полями id, pubkey, created_at, kind, tags, content и sig.2

Алгоритмически протокол держится на трёх примитивах:

Хеширование SHA-256. Поле id — SHA-256-хеш от канонической сериализации массива [0, pubkey, created_at, kind, tags, content] (UTF-8, компактный JSON, стандартные escape-последовательности).2 Хеш одновременно идентифицирует событие и фиксирует его содержимое: любое изменение полей меняет id.

Подписи Schnorr на кривой secp256k1 (BIP-340). Та же кривая, что в Bitcoin — это сознательный выбор: Nostr переиспользует хорошо изученную криптографическую библиотеку libsecp256k1 и формат подписей из BIP-340.23 Спецификация BIP-340 объясняет формат ключей: используется только x-координата точки, потому что «мы оптимизируем компактность», а «неявные координаты Y не являются снижением безопасности».3 Отсюда 32-байтовые публичные ключи (64 hex-символа) и «простой фиксированный 64-байтный формат» подписи.3 У схемы два полезных свойства: подписи немаллеабельны (их нельзя видоизменить, не сломав), а нонс при подписании вычисляется детерминированно — генератор случайных чисел для этого не нужен, что убирает целый класс ошибок реализации.3 Проверять подписи можно пачкой (batch verification), что для реле с тысячами событий в секунду ощутимо.3

Подпись гарантирует три вещи: событие создал владелец приватного ключа (аутентичность), содержимое не менялось (целостность — id входит в подписанные данные), и автор не сможет от него отказаться (неотказуемость). Никакой центр для проверки не нужен — достаточно публичного ключа.

Кодировки bech32 (NIP-19). Внутри событий ключи живут в hex, а людям показывают npub1... (публичный ключ), nsec1... (приватный) и note1... (id события) — мнемонические формы с контрольной суммой, чтобы опечатка не стоила аккаунта.4

Обмен с реле минимален: клиент шлёт EVENT (опубликовать), REQ (подписка с фильтрами) и CLOSE; реле отвечает EVENT, OK, EOSE (конец сохранённых событий), CLOSED и NOTICE.2 Фильтры — по ids, authors, kinds, тегам (#<буква>), диапазону времени since/until и limit; условия внутри фильтра комбинируются как AND, несколько фильтров в одном REQ — как OR.2 Расширения — COUNT (NIP-45) и аутентификация AUTH (NIP-42) — вынесены в отдельные NIP. Тип содержимого задаёт поле kind: 0 — профиль, 1 — заметка, 3 — подписки, 4 — личное сообщение (устаревшее), 10002 — список реле пользователя.2

Расширения протокола описываются документами NIP (Nostr Implementation Possibilities), и важно понимать их статус: это не чеклист, никто не обязан реализовывать какой-либо NIP целиком.5 Клиент собирает нужное подмножество — отсюда и гибкость экосистемы, и её фрагментация.

Криптография сообщений: NIP-44, личные сообщения и их пределы

Публичные заметки шифровать не нужно, а вот для личных сообщений протоколу пришлось пройти болезненную эволюцию. Старый механизм NIP-04 (AES-256-CBC без аутентификации) признан устаревшим самой спецификацией: он «даже близко не соответствует тому, что считается state-of-the-art», и протекает метаданными — кто, с кем и когда переписывается, видно из открытой части события.6

Современный стандарт шифрования — NIP-44 версии 2, прошедший аудит Cure53, который не нашёл эксплуатируемых уязвимостей в реализациях.78 Конвейер такой: стороны вычисляют общий секрет ECDH на secp256k1, из него функцией HKDF-extract с солью nip44-v2 получают ключ «разговора» (conversation key); на каждое сообщение генерируется случайный 32-байтный нонс, из которого HKDF-expand выдаёт 76 байт — ключ ChaCha20, нонс ChaCha20 и ключ HMAC; содержимое дополняется до степени двойки (это скрывает длину сообщения), шифруется ChaCha20, аутентифицируется HMAC-SHA-256 и кодируется в base64.7

Спецификация честно перечисляет, чего NIP-44 не даёт: ни денйабилити (отрицаемого авторства), ни forward secrecy (компрометация ключа раскрывает прошлую переписку), ни защиты от пост-квантовых атак.7 Для соцсети это приемлемый компромисс, но называть переписку «как в Signal» нельзя.

Личные сообщения по NIP-17 упаковываются в три слоя вместе с NIP-59 («gift wrap»): неподписанное сообщение-«слух» (rumor, kind:14) заворачивается в подписанную отправителем «печать» (seal, kind:13), а та — в подарочную обёртку (kind:1059), подписанную случайной одноразовой парой ключей.910 Реле видит только шифртекст от анонимного ключа. Спецификация NIP-17 формулирует результат так: «Личности участников, настоящие дата и время каждого сообщения, типы событий и другие теги — всё скрыто».9 Таймстемпы намеренно сдвигаются в пределах двух дней назад, чтобы thwart-анализ по времени не сработал.9 Под переписку рекомендуется выделять 1–3 специализированных DM-реле, которые клиент узнаёт из события kind:10050 получателя.9

Но в 2025 году криптографический разбор Nostr всё-таки состоялся, и он оказался неутешительным для legacy-кода. Работа «Not in The Prophecies: Practical Attacks on Nostr» (IACR ePrint 2025/1459, представлена на Black Hat USA 2025) продемонстрировала практическую атаку на конфиденциальность шифрованных DM: через механизм предпросмотра ссылок и маллеабельность CBC-режима (то есть через тот самый устаревший NIP-04, который часть клиентов продолжала использовать) злоумышленник может подменять содержимое и ключи; авторы собрали proof-of-concept для нескольких клиентов.1112 Корневая причина, по их заключению, — «криптографические изъяны в спецификации протокола и реализациях клиентов».11 Практический вывод прост: клиенты, которые всё ещё читают и пишут NIP-04, небезопасны, и переход на NIP-17/44/59 — не прихоть, а закрытие реальной дыры.

Как начать пользоваться: рекомендации

Онбординг ведёт клиент, а не сайт-регистратор: приложение генерирует пару ключей прямо на устройстве, без email, телефона и пароля.13 Из этого вытекают все практические правила.

Ключи — это всё. «Если вы потеряете приватный ключ, ваш аккаунт Nostr потерян» — сброса пароля, восстановления по email и службы поддержки в протоколе нет по определению.13 Практические стратегии резервного копирования: бумажная копия в нескольких физических местах (сейф, банковская ячейка), зашифрованный файл с сильным паролем на нескольких устройствах с регулярной проверкой восстановления, либо аппаратный носитель с PIN-кодом; девиз один — «потерянные ключи означают потерю личности».14

Не вставляйте nsec в сайты и приложения. Лестница риска выглядит так:

  1. Сырой nsec в поле ввода — максимум риска, годится только для одноразовых ключей. Ввод ключа руками в браузере спецификация NIP-07 прямо называет «утомительным и небезопасным».15
  2. Браузерный подписант (NIP-07) — расширение nos2x или Alby: клиент через window.nostr просит подписать событие, не получая сам ключ.15
  3. Удалённый подписант / bunker (NIP-46) — приватный ключ живёт в одном месте (nsecBunker, nsec.app) и не копируется в клиенты; связь идёт через зашифрованные NIP-44 события kind:24133 по адресу bunker://....16
  4. Системный подписант на Android (NIP-55) — приложение Amber хранит ключ и подписывает запросы других приложений через Intent’ы; с осени 2024 года развивается при поддержке OpenSats.1718

Чем выше ступень, тем меньше поверхностей, на которых ключ можно украсть. Для всего, что дороже одноразового эксперимента, разумный минимум — ступень 2, а лучше 3–4.

Реле настраиваются в клиенте. Рабочая модель — NIP-65 (outbox): пользователь публикует событие kind:10002 со списком своих write-реле (куда пишет) и read-реле (где искать ответы и упоминания), а подписчики читают его записи по этому списку.19 Спецификация рекомендует «держать списки kind:10002 маленькими — 2–4 реле каждой категории».19 Выбирать реле удобно по каталогу nostr.watch; если клиент «тормозит», причина почти всегда в реле, а не в сети.13 Платные реле — не только про деньги: «одно из главных преимуществ платных реле сегодня — более высокий сигнал пользователей и заметок», что «помогает не пускать спам-аккаунты в сеть».13

Тарифы и ограничения реле объявляют по NIP-11: HTTP-запрос с заголовком Accept: application/nostr+json возвращает документ с supported_nips, лимитами (max_content_length, min_pow_difficulty, auth_required, payment_required) и тарифами fees — вступительный взнос (admission), подписка (subscription) и плата за публикацию (publication, можно по типам событий).20

NIP-05 даёт человекочитаемый адрес вида имя@домен: клиент запрашивает https://<домен>/.well-known/nostr.json?name=<имя> и сопоставляет имя с публичным ключом.21 Важная оговорка спецификации: «NIP-05 предназначен не для верификации пользователя, а только для его идентификации» — это удобное имя, а не удостоверение; следовать клиенты должны ключу, а не адресу.21 Бесплатных провайдеров NIP-05 хватает (nostrcheck.me, zaps.lol), можно поднять и на своём домене, положив nostr.json в /.well-known/.13

Zaps — микроплатежи через Lightning — настраиваются связкой Lightning-кошелька (Alby, Wallet of Satoshi) и поддерживающего клиента. Механика описана в NIP-57: запрос на zap — событие kind:9734, квитанция об оплате — kind:9735, публикуемая в реле.22

Что Nostr даёт обычному человеку

Если отбросить идеологию, полезных свойств четыре.

Личность, которую нельзя отнять привязкой к серверу. Аккаунт — ключ, а не запись в базе. Сравнение с соседями по децентрализованному соцвебу подробнее разобрано в обзоре AT Protocol, здесь суть: в ActivityPub (Mastodon) аккаунт привязан к серверу — спецификация W3C прямо говорит, что аккаунты на разных серверах это разные акторы; в AT Protocol (Bluesky) личность переносима через DID; в Nostr переносимость встроена в саму модель — сменили клиент, переехали на другие реле, ключ остался тем же.2324

Смена клиента тривиальна. Данные лежат в реле, не в приложении: тот же nsec (или тот же подписант) в другом клиенте — та же личность, те же подписки, та же история. Никакого экспорта-импорта.

Прямые микроплатежи за контент. Zaps через Lightning — то, чего структурно нет ни в Mastodon, ни в Bluesky: платёж становится первоклассным проверяемым событием сети, прикреплённым к посту или профилю.22 Автор получает деньги без платформы-посредника.

Один протокол — много приложений. Nostr не знает, что такое лента, статья или стрим, — он знает только события. Микроблог, длинные тексты, аудиокомнаты, видеостримы, фотолента и мессенджер — это разные kind в одной сети с одной личностью (экосистема — в разделе ниже).

Обратная сторона у каждого пункта своя, и её надо назвать сразу. Управление ключами не прощает ошибок: ротации ключа в протоколе нет, компрометация nsec необратима.25 Nostr — не протокол приватности: социальный граф публичен (подписки — открытое событие kind:3), а клиент по умолчанию раскрывает реле ваш IP-адрес.26 И «устойчивость к цензуре» — свойство по замыслу, которое на практике работает хуже теории (об этом следующий раздел).

Обход блокировок: что действительно работает, а что нет

Начнём с архитектуры. Блокировать в Nostr нечего в привычном смысле: нет домена сервиса, нет центрального сервера, нет реестра аккаунтов. Чтобы «забанить» пользователя, цензору нужно снять его события со всех реле, которые их хранят. Эмпирически сеть реплицируется щедро: по выборке из 17,8 млн постов каждый пост в среднем скопирован на 34,6 реле, 93% постов встречаются более чем на одном реле, а сами реле распределены по 44 странам и 151 автономной системе, причём ни одна страна и ни одна AS не хостит больше 25% реле.27 Моделирование атак показывает: даже при падении топ-30 крупнейших реле доступно более 90% постов; после удаления топ-10 автономных систем в Nostr доступно более 80% постов — для сравнения, в Mastodon при том же сценарии доступность падает ниже 10%.27

Сообщество антицензурных инструментов net4people формулирует практический смысл так: «Пользователи, которых цензурируют на одних реле, могут поднять собственную сеть реле», обмениваться данными внутри неё и распространять контент независимо.28

Практический набор для устойчивости

  • Своё реле. nostr-rs-relay (Rust) или strfry (C++) ставятся в Docker за минуты и становятся личным outbox’ом: вы пишете на него, подписчики — читают по вашему NIP-65 списку.2919 Заблокировать ваше личное реле снаружи бессмысленно — контент продолжит жить на реле подписчиков и на агрегаторах.
  • Реле за Tor. Amethyst начиная с версии 0.92.1 (сентябрь 2024) включает «Tor-сервис по умолчанию для .onion-адресов и недоверенных реле из outbox-модели», плюс пресеты приватности и transient-аккаунты по NFC — «если вы активист и телефон конфискуют, на нём ничего не найдут».30 Каталоги onion-реле поддерживаются сообществом.31
  • Платные/приватные реле — личный outbox с вступительным взносом, который сложнее перечислить и забанить веером, заодно отсекающий спам.
  • Много реле в клиенте, а не зашитый по умолчанию список: чем шире ваш набор, тем меньше влияние блокировки любого из них.

Честные ограничения

Трезвость обязательна, потому что заявленная устойчивость сегодня работает хуже, чем хотелось бы. Сам fiatjaf в марте 2024 года опубликовал текст «Nostr не децентрализован и не устойчив к цензуре», где признал: «Nostr сегодня действительно централизован».32 Его эксперимент показателен: две одинаковые заметки, опубликованные одновременно, но на разные наборы реле, собрали несопоставимый охват, потому что клиенты подписчиков не ходили на заявленное им реле. Вывод автора жёсткий: «если бы речь шла не обо мне, а о публичной фигуре, которую цензурирует государство и банят (или тенбанят) три крупнейших публичных реле, печальная реальность состояла бы в том, что охват человека немедленно упал бы примерно до 10% прежнего».32 Причина — клиентская: крупные приложения поставляются с зашитым списком дефолтных реле, и сеть слежалась вокруг 10–15 серверов. fiatjaf считает это дефектом реализаций, а не протокола — «цензуроустойчивое обнаружение реле» должно исправить ситуацию, — но для пользователя итог пока тот же.32

Вторая оговорка — IP-адрес. Damus в README прямо предупреждает: «Ваш IP-адрес виден реле, к которым вы подключаетесь».26 Без Tor каждое реле знает, откуда вы пишете и что читаете, — для обхода блокировок это важно не меньше, чем выбор реле.

Третья — уровень транспорта. Nostr — это WebSocket поверх TLS, трафик выглядит как обычный HTTPS, но сам апгрейд до WebSocket имеет характерный профиль. Российский контекст показывает, что поведенческий анализ трафика уже применяется: по наблюдению профильных авторов, ТСПУ с июня 2026 года перешёл на «заморозку по fingerprint», которая ловит даже VLESS/REALITY.33 Исследований, целенаправленно измеряющих, отличает ли DPI Nostr-трафик от прочего WSS, в открытых источниках нет — это честный пробел в данных.

Российский контекст

Хронология блокировок мессенджеров делает вопрос практическим: Signal заблокирован в августе 2024 года, Viber — в декабре 2024-го, звонки WhatsApp и Telegram ограничены в августе 2025-го, полная блокировка WhatsApp — 11 февраля 2026 года, фактическая блокировка Telegram — к апрелю 2026-го.34 На этом фоне Nostr-мессенджеры стали появляться в российских магазинах: 0xchat («простое приложение для обмена сообщениями с акцентом на конфиденциальность, созданное на базе протокола Nostr») доступен не только в Google Play, но и в RuStore, поддерживает NIP-17 (шифрованные личные сообщения) и NIP-29 (группы на реле), звонки и Lightning-платежи.3536 Аудиторий, которым Nostr интересен как инструмент антицензуры, занимается и Human Rights Foundation: на Oslo Freedom Forum 2026 Nostr был отдельным треком, а мессенджер White Noise (протокол Marmot поверх Nostr и MLS) представлялся как инструмент для правозащитников.37

Итог по блокировкам: Nostr — не «волшебная кнопка обхода», а конструктор устойчивости. Заблокировать можно конкретные реле (DNS, IP) и, теоретически, профиль WebSocket-трафика; переживает блокировку любая комбинация «своё реле + Tor + outbox», потому что для полной цензуры придётся снимать контент со всех реле сразу, а их сотни в десятках стран.27 Работает это ровно настолько, насколько клиент реализует outbox-модель, — и сегодня это слабое звено.

Экосистема: какие сервисы используют Nostr

Экосистема 2025–2026 годов — это несколько десятков живых проектов. Ниже — проверенные, со статусом.

Микроблогинг и универсальные клиенты.

  • Primal (primal.net) — кросс-платформенный клиент с собственным кэширующим сервером, самокастодиальным Lightning-кошельком, длинными текстами (NIP-23), поиском (NIP-50) и Nostr Wallet Connect (NIP-47); развивается активно, последний Android-релиз — июнь 2026.38
  • Damus (damus.io) — iOS/macOS-клиент на Rust, ~2100 звёзд на GitHub, zaps, NWC, шифрованные DM; параллельно развивается десктопный Notedeck.39
  • Amethyst (amethyst.social) — Android-клиент со 100+ реализованными NIP, включая Cashu-кошелёк (NIP-60), Tor и negentropy-синхронизацию (NIP-77); 427 релизов, последний — июнь 2026.18
  • Snort (snort.social) — веб-клиент на React с широкой библиотекой, на которой построен и zap.stream.40
  • Coracle (coracle.social) — веб-клиент с упором на выбор реле и модерацию через web-of-trust (NIP-32, NIP-51, NIP-42 для закрытых реле).41
  • noStrudel (nostrudel.ninja) — «швейцарский нож»: показывает сырые пакеты протокола, удобен для отладки.42
  • Iris (iris.to) — мультиплатформенный мессенджер с Double Ratchet-шифрованием DM и Cashu-кошельком.43

Медиа и нишевые приложения.

  • zap.stream — видеостримы с монетизацией через Lightning (NIP-53).44
  • Habla.news — длинные тексты (NIP-23): публикация, курирование, монетизация.45
  • Olas — фото и видео в духе Instagram (события kind:20, медиа по протоколу Blossom).46
  • Wavlake — value-for-value стриминг музыки с прямыми выплатами артистам.47
  • Nostr Nests — аудиокомнаты; проект жив, но крупных релизов не было с февраля 2024 года.48

Мессенджеры.

  • 0xchat — кросс-платформенный (Flutter) чат: NIP-17, группы NIP-29, звонки, Lightning.35
  • White Noise на протоколе Marmot — групповые E2EE-чаты, где поверх Nostr работает MLS (Messaging Layer Security, тот же класс криптографии, что в Signal); в апреле 2026 года приложение прошло ревью Least Authority.37

Платежи и кошельки.

  • Alby (getalby.com) — автор NIP-47 (Nostr Wallet Connect): Lightning-адрес одновременно работает как NIP-05-идентификатор, клиенты управляют кошельком через Nostr; экосистема — 350 тыс.+ пользователей.49
  • Zeus (zeusln.com) — мобильный Lightning-кошелёк с полной поддержкой NWC и импортом контактов из Nostr.50
  • Wallet of Satoshi — самый простой кастодиальный Lightning-кошелёк с zaps.51
  • Stacker News — Bitcoin-форум в духе Hacker News, где посты и комментарии оплачиваются сатоши, а аккаунт — NIP-05-идентификатор.52
  • Fountain (fountain.fm) — подкаст-приложение Podcasting 2.0 с value4value-выплатами и Nostr-социалкой (интеграция — с августа 2024).53

Инфраструктура.

  • nostr.wine — платный агрегирующий/фильтрующий слой: вступительный взнос 18 888 сатоши, фильтр-реле — 10 000 сатоши в месяц; пайплайн «Purgatory» борется со спамом новичков, не вырезая живых пользователей.54
  • Blossom (BUD-01…12) — спецификация децентрализованного хранения медиафайлов, идентифицируемых SHA-256-хешами.55
  • Nostrcheck (nostrcheck.me) — бесплатные NIP-05, хостинг медиа (NIP-96 + Blossom) и публичное реле; 4,6 тыс. пользователей, 282 тыс. файлов.56
  • Amber и nsecBunker — подписанты NIP-55/NIP-46 (см. раздел рекомендаций).1857

Масштаб — трезво. Данные зависят от методики счёта. Академический снимок 2023 года: 1,5 млн уникальных публичных ключей и 17,8 млн постов на 712 реле в 44 странах.27 Nostr Biweekly Review (февраль 2025): ~394 тыс. аккаунтов со списками подписок, ~11 млн заметок, ~13 млн zaps за всю историю.58 Консервативный подсчёт glukhov.org (октябрь 2025): 21 281 «живой» пользователь, 3 675 активных в день.59 По nostr.watch на январь 2026 года в сети ~950 активных реле примерно в 50 странах.60 Рыночный прогнозный рынок Manifold в январе 2026 года разрешился как «нет» на вопрос, достигнет ли Nostr 100 тыс. активных пользователей в месяц по итогам 2025 года.61 Число zaps через 2025 год снижалось (−22% к февралю 2025 и дальше вниз), нишевые проекты стагнировали: YakiHonne заархивировал мобильный репозиторий в октябре 2025-го, у Nostr Nests нет релизов с начала 2024-го.5848 При этом финансовая поддержка сохраняется: Джек Дорси последовательно финансирует Nostr-разработку — от прямого доната fiatjaf в 2022 году до многомиллионных перечислений через OpenSats и некоммерческий проект «and Other Stuff» в 2024–2025 годах.62

Борьба со спамом в активных сервисах

Открытая беспермиссионная публикация означает, что спам в Nostr — не баг конкретного сервиса, а свойство среды. Академического измерения доли спама в трафике Nostr не существует — и это само по себе симптом: проблему признают все, измеряет никто. Архитектурный обзор децентрализованных соцсетей фиксирует qualitatively: «бесплатные реле не имеют эффективных механизмов противодействия спаму».63 Защита строится слоями — от клиента к реле, — и ни один слой не работает в одиночку.

Слой 1: клиент и социальный граф

Базовая защита бесплатна и встроена в то, как клиенты показывают ленту: «В ленте по умолчанию вы никогда не видите спама, потому что клиенты запрашивают информацию только от людей, на которых вы подписаны».64 Всё, что приходит мимо графа подписок, большинство клиентов просто не отображает.

Поверх этого — NIP-51, списки блокировки (kind:10000): в mute-лист попадают публичные ключи (p), хештеги (t), слова (word) и треды (e); публичная часть списка хранится в тегах события, приватная — зашифрованной в content.65 Mute-листы работают локально (реле только хранит событие), но публичные списки можно подписывать и использовать коллективно.

Следующий уровень — web-of-trust: вместо чёрных списков оценка по расстоянию в графе доверия. Клиент Coracle строит «модерацию и рекомендации на основе web-of-trust», присваивая аккаунтам оценки доверия и понижая всё, что вне вашего круга.41 Отдельные инструменты того же направления — Grapevine (персонализированные списки рекомендаций из подписок, мутов и репортов)66 и браузерное расширение nostr-wot.67 Автор Gossip Майк Дилгер продвигает gossip-модель — «чтение постов людей, на которых вы подписаны, с реле, которые используют они», — которая одновременно экономит трафик и сужает поверхность для спама; в обсуждениях NIP он последовательно предлагает репутационные механизмы поверх протокола.68

Наконец, NIP-56 — репорты (kind:1984) с кодами причин: nudity, malware, profanity, illegal, spam, impersonation, other; репорт ссылается тегом p на нарушителя и e — на конкретное событие.69 Спецификация аккуратно разграничивает роли: «Клиенты могут использовать репорты от друзей для принятия модерационных решений, если захотят», но «реле не рекомендуется выполнять автоматическую модерацию по репортам, поскольку их легко накрутить».69 Репорт в Nostr — сигнал для людей и их клиентов, а не команда для сервера.

Слой 2: реле

Реле ограничивают нагрузку rate limit’ами и требованиями NIP-11: максимальная длина сообщения, минимальная сложность PoW, обязательная аутентификация.20

Proof-of-Work (NIP-13) удорожает массовую рассылку: майнер перебирает значения в теге ["nonce", "<число>", "<целевая сложность>"], пока в id события не наберётся нужное число ведущих нулевых битов; релизующая сторона может отбрасывать всё, что дешевле порога.70 Спецификация прямо называет назначение: «Это доказательство может использоваться как средство сдерживания спама».70 Ограничения честные: единого стандарта сложности нет (каждое реле ставит свой порог), а вычисления можно заказать у внешнего провайдера — PoW «может быть аутсорсен», что подрывает модель «цена за спам» для мотивированного спамера с доступом к дешёвым вычислениям.70 На практике PoW включают немногие реле.

Платный вход работает надёжнее PoW, потому что атака становится прямо измеримо дорогой. Публичные реле «плавятся под растущим спросом, тогда как платные предоставляют самые надёжные сервисы», — констатирует обзор рынка платных реле; тестовые площадки пробовали плоский вступительный взнос порядка 1000 сатоши.71 nostr.wine пошёл дальше: фильтр-реле за 10 000 сатоши в месяц плюс пайплайн «Purgatory», созданный, «чтобы бороться со спамом новых пользователей, не теряя покрытия реальных».54 Операторы, включающие web-of-trust-фильтрацию на стороне реле, отчитываются об «нуле проблем со спамом».72

Слой 3: личные сообщения — самая больная точка

Исторически DM слали через NIP-04, у которого отправитель, получатель и время видны в открытой части события — спамер мог адресно рассылать шифртекст кому угодно, а реле не имели оснований его отбрасывать.6 NIP-17/44/59 закрыли метаданные (раздел про криптографию выше), но создали новую проблему: gift wrap подписан случайной одноразовой парой ключей, и «реле не могут полагаться на анти-спам или анти-sybil меры на основе pubkey (например, репутацию, web of trust)».10 В обсуждении спецификации это сформулировано без обиняков: «Выбор реле не может защитить пользователей от спама в DM… эту ответственность должен взять на себя клиент».73 Приватность и фильтрация по репутации здесь объективно противоречат друг другу, и протокол сознательно выбрал приватность. Практические ответы: DM-реле с платным входом (спам становится дорогим ещё до чтения), клиентские фильтры «принимать DM только от подписок» и zap-гейты (идея требовать микроплатёж за доставку DM от незнакомца обсуждается с 2023 года, но устойчивой реализации в основных клиентах на момент исследования нет — см. раздел о пробелах).

Слой 4: фишинг и кража ключей

Отдельный класс «спама» — охота за nsec. Масштаб измерил bigbrotr: в 41 млн событий с 1085 реле найдено 16 941 уникальных строк nsec1, из них 16 599 — валидные приватные ключи; 92% сгенерированы ботами («Mr.nsec»), но отфильтровались 38 активно используемых аккаунтов с скомпрометированным ключом и без признаков осведомлённости — суммарно более 21 000 подписчиков.74 Утечки идут непрерывно, а не всплесками: 56,5% — самосливы (пользователи сами публикуют ключ), 43,5% — публикации третьими лицами, причём на чужие публикации приходится 70,4% раскрытой аудитории.74 Поскольку ротации ключа нет, вердикт исследования однозначен: «Ротация ключа — единственное надёжное средство исправления».74 Защиты те же, что в разделе рекомендаций: подписанты вместо вставки nsec, никогда и никуда не вводить ключ на сайтах, для проверки утечек есть nsec-leak-checker — DVM, возвращающий результат в зашифрованном виде.

Сводная картина

СлойМеханизмЧто делаетОграничение
Клиентлента по подпискам, NIP-51, web-of-trust, NIP-56отсекает спам до отображениязащищает только вашего пользователя
Релеrate limit, NIP-13 PoW, платный вход, WOT-фильтрыудорожает рассылкунет единых порогов; PoW аутсорсится
DMNIP-17/44/59 + DM-реле с платным входомскрывает метаданные, удорожает атакуломает репутационную фильтрацию
Ключиподписанты, мониторинг утечекзакрывает фишингкомпрометация необратима

Дискуссионные вопросы и противоречия

Децентрализован ли Nostr? Зависит от слоя. На уровне данных — да: пост реплицируется в среднем 34,6 раза по 44 странам, и авторы эмпирического исследования заключают, что «Nostr достигает лучшей децентрализации, чем традиционные приложения Fediverse».27 На уровне клиентов — нет: трафик концентрируется вокруг дефолтных списков крупных приложений, и сам создатель протокола признаёт: «Nostr сегодня действительно централизован».32 Противоречие снимается различением: хранилище распределено, маршрутизация внимания — нет. Спор о числе реле (639 против 712 против ~950 в разные периоды) — тоже про методику: подсчёт «онлайн в моменте» и «появлявшихся за полгода» даёт разные ответы.276075

Насколько велик спам? Неизвестно. Ни одно опубликованное исследование не даёт доли спама в трафике; качественное признание проблемы есть у академиков63, операторов реле5471 и разработчиков клиентов41, количественных данных нет. Это главный пробел для будущего исследования.

Приватность против антиспама. Gift wrap (NIP-59) прячет метаданные DM ценой невозможности репутационной фильтрации на реле — спецификация признаёт это прямо.10 Любое усиление антиспама на сервере ослабляет приватность, и наоборот. Протокол выбрал приватность, переложив фильтрацию на клиенты.

Экономика реле не сходится. По тем же измерениям, 95% бесплатных реле не покрывают операционных расходов, 132 реле ушли в оффлайн навсегда, а расплата за массовую репликацию — 98,2% избыточного трафика (144 ТиБ за полгода измерений).27 Платные реле решают экономику одного оператора, но не отменяют вопроса: кто оплачивает глобальную ленту в масштабе Twitter и не превратится ли индексация в ту самую модель «клиент — сервер — база», от которой Nostr уходил.

Пользователи: рост или плато? Счётчики расходятся на порядок в зависимости от методики (1,5 млн ключей против 21 тыс. «живых» пользователей), прогнозный рынок зафиксировал недостижимость 100 тыс. MAU в 2025 году, а число zaps падало.275961 Одновременно растут инфраструктурные сервисы (платные реле, подписанты, Blossom-хостинг) и институциональная поддержка (OpenSats, HRF). Nostr 2025–2026 — маленькая, но живая и технически развивающаяся сеть, а не растущий мейнстрим.

Заключение

Nostr — минималистичный протокол, где личность равна паре ключей Schnorr/secp256k1, событие — подписанному SHA-256-идентифицируемому JSON, а серверы взаимозаменяемы и «глупы».23 Из этой простоты растут и преимущества, и ограничения.

Практический чек-лист, если решили пользоваться:

  1. Начните с готового клиента — Primal (универсальный, с кошельком) или Damus/Amethyst (мобильные).
  2. Сразу сохраните nsec в трёх местах и проверьте восстановление; потеря ключа необратима.1314
  3. Для всего серьёзнее одноразового аккаунта используйте подписант: NIP-07 в браузере, NIP-46 bunker, NIP-55 Amber на Android. Никогда не вставляйте nsec в сайты.151618
  4. Настройте NIP-05 для человекочитаемого имени и 2–4 своих write-реле (NIP-65); каталог — nostr.watch, имеет смысл одно платное реле.1319
  5. Zaps — через Alby или Wallet of Satoshi.2249

Если цель — устойчивость к блокировкам: поднимите своё реле (nostr-rs-relay или strfry), при необходимости за Tor (Amethyst это умеет), не полагайтесь на дефолтные списки клиента и помните, что без Tor реле видят ваш IP.293026 Чудес не обещает даже автор протокола: при бане на топ-реле охват падает до ~10%, пока клиенты не научатся добросовестно реализовывать outbox-модель.32

Если вы строите активный сервис на Nostr: закладывайте многослойную защиту — лента по графу и NIP-51/WOT в клиенте, PoW и rate limit на реле, платный вход там, где уместно, NIP-17 для DM с принятием факта, что фильтровать DM придётся клиенту, и обязательный мониторинг утечек nsec у пользователей.6465417071107374

Измерять пока нечего только в одном месте — в цифрах о спаме; всё остальное в Nostr уже посчитано, и картина реалистична: маленькая сеть с большой инженерной культурой, где приватность и антиспам объективно в конфликте, а устойчивость к цензуре — свойство, которое ещё предстоит дореализовать клиентам.

Quality Metrics

ПараметрЗначение
Режимdeep
Источников найдено70+
Источников процитировано75
Микс типовofficial (NIP/BIP-спеки, W3C): 21; academic (arXiv, IACR, Black Hat): 5; проекты и инфраструктура: 25; гайды/блоги/новости: 24
Покрытие цитатами~95% фактических утверждений
Sub-questions7
Раундов исследования1 (+ точечная доверификация load-bearing фактов по первоисточникам)
Параллельные агенты4 (механика/рекомендации, цензура, экосистема, спам)
Load-bearing факты сверены с первоисточникомNIP-01/11/13/51/56; цифры arXiv 2402.05709; ePrint 2025/1459; bigbrotr; net4people #196
Вопросы без данныхдоля спама в трафике; документированные волны DM-спама с цифрами; DM zap-гейты в основных клиентах; русскоязычная аналитика Nostr как инструмента антицензуры

  1. nostr-protocol. «Nostr — Notes and Other Stuff Transmitted by Relays.» https://github.com/nostr-protocol/nostr ↩︎ ↩︎

  2. nostr-protocol. «NIP-01: Basic protocol flow description.» https://github.com/nostr-protocol/nips/blob/master/01.md ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. Pieter Wuille et al. «BIP-340: Schnorr Signatures for secp256k1.» https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  4. nostr-protocol. «NIP-19: bech32-encoded entities.» https://github.com/nostr-protocol/nips/blob/master/19.md ↩︎

  5. nostr-protocol. «NIPs — Event Kinds table & standardization process (README).» https://github.com/nostr-protocol/nips/blob/master/README.md ↩︎

  6. nostr-protocol. «NIP-04: Encrypted Direct Message (deprecated).» https://nips.nostr.com/4 ↩︎ ↩︎

  7. nostr-protocol. «NIP-44: Encrypted Payloads (Version 2).» https://github.com/nostr-protocol/nips/blob/master/44.md ↩︎ ↩︎ ↩︎

  8. Nostr Compass. «NIP-44: Encrypted Payloads — Cure53 audit overview.» https://nostrcompass.org/en/topics/nip-44/ (аудит: https://cure53.de/audit-report_nip44-implementations.pdf↩︎

  9. nostr-protocol. «NIP-17: Private Direct Messages.» https://github.com/nostr-protocol/nips/blob/master/17.md ↩︎ ↩︎ ↩︎ ↩︎

  10. nostr-protocol. «NIP-59: Gift Wrap.» https://github.com/nostr-protocol/nips/blob/master/59.md ↩︎ ↩︎ ↩︎ ↩︎

  11. Hayato Kimura, Ryoma Ito, Kazuhiko Minematsu, Shogo Shiraki, Takanori Isobe. «Not in The Prophecies: Practical Attacks on Nostr.» IACR ePrint 2025/1459, 2025. https://eprint.iacr.org/2025/1459 ↩︎ ↩︎

  12. Hayato Kimura et al. «Not Sealed: Practical Attacks on Nostr, a Decentralized Censorship-Resistant Protocol.» Black Hat USA 2025. https://i.blackhat.com/BH-USA-25/Presentations/USA-25-Kimura-Not-Sealed-Practical-Attacks-on-Nostr.pdf ↩︎

  13. nostr.how. «Get Started / Relays / What are Zaps?» https://nostr.how/en/get-started ; https://nostr.how/en/relays ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  14. learnnostr.org. «Keys — backup strategies.» https://learnnostr.org/concepts/keys ↩︎ ↩︎

  15. nostr-protocol. «NIP-07: window.nostr capability for web browsers.» https://github.com/nostr-protocol/nips/blob/master/07.md ↩︎ ↩︎ ↩︎

  16. nostr-protocol. «NIP-46: Nostr Connect (Remote Signing).» https://github.com/nostr-protocol/nips/blob/master/46.md ↩︎ ↩︎

  17. nostr-protocol. «NIP-55: Android Signer.» https://github.com/nostr-protocol/nips/blob/master/55.md ↩︎

  18. greenart7c3. «Amber — Android Nostr signer / vitorpamplona/amethyst.» https://github.com/greenart7c3/Amber ; https://github.com/vitorpamplona/amethyst ↩︎ ↩︎ ↩︎ ↩︎

  19. nostr-protocol. «NIP-65: Relay List Metadata.» https://github.com/nostr-protocol/nips/blob/master/65.md ↩︎ ↩︎ ↩︎ ↩︎

  20. nostr-protocol. «NIP-11: Relay Information Document.» https://github.com/nostr-protocol/nips/blob/master/11.md ↩︎ ↩︎

  21. nostr-protocol. «NIP-05: Mapping Nostr keys to DNS-based internet identifiers.» https://github.com/nostr-protocol/nips/blob/master/05.md ↩︎ ↩︎

  22. nostr-protocol. «NIP-57: Lightning Zaps.» https://github.com/nostr-protocol/nips/blob/master/57.md ↩︎ ↩︎ ↩︎

  23. W3C Social Web Working Group. «ActivityPub — Section 4. Actors.» https://www.w3.org/TR/activitypub/ ↩︎

  24. Kleppmann et al. «Bluesky and the AT Protocol: Usable Decentralized Social Media.» arXiv:2402.03239, 2024. https://arxiv.org/abs/2402.03239 ↩︎

  25. nostr.co.uk. «Nostr Key Management: Complete Guide.» https://nostr.co.uk/learn/key-management/ ↩︎

  26. Damus team (jb55). «damus — iOS/macOS nostr client (README: IP exposure note).» https://github.com/damus-io/damus ↩︎ ↩︎ ↩︎

  27. Yiluo Wei, Gareth Tyson. «An Empirical Analysis of the Nostr Social Network: Decentralization, Availability, and Replication Overhead.» arXiv:2402.05709, 2024–2025 (ACM Proc. Networking). https://arxiv.org/abs/2402.05709 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  28. net4people BBS. «Issue #196: Nostr.» https://github.com/net4people/bbs/issues/196 ↩︎

  29. scsibug. «nostr-rs-relay — minimalistic Nostr relay in Rust.» https://github.com/scsibug/nostr-rs-relay ↩︎ ↩︎

  30. NoBS Bitcoin. «Amethyst v0.92.1 Adds Default Tor Support.» 28 сентября 2024. https://www.nobsbitcoin.com/amethyst-v0-92-1/ ↩︎ ↩︎

  31. 0xtrr. «onion-service-nostr-clients — список onion-реле.» https://github.com/0xtrr/onion-service-nostr-clients ↩︎

  32. fiatjaf. «Nostr is not decentralized nor censorship-resistant.» 19 марта 2024. https://fiatjaf.com/87a208d9.html ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  33. Habr. «ТСПУ и поведенческий анализ трафика: заморозка по fingerprint.» https://habr.com/ru/articles/1047442/ ↩︎

  34. itforprof.com. «Децентрализованные мессенджеры: хронология блокировок в России.» https://itforprof.com/messendzhery/decentralizovannye-messendzhery/ ↩︎

  35. 0xchat team. «0xchat — secure chatting app built on Nostr protocol.» https://0xchat.com ; https://github.com/0xchat-app/0xchat-app-main ↩︎ ↩︎

  36. RuStore. «XChat — приложение для обмена сообщениями на базе протокола Nostr.» https://www.rustore.ru/catalog/app/com.oxchat.lite ↩︎

  37. Marmot Protocol / White Noise. «E2EE group messaging on Nostr + MLS.» https://github.com/marmot-protocol/marmot ; https://www.whitenoise.chat ↩︎ ↩︎

  38. Primal team. «Primal — Nostr client with caching service and Lightning wallet.» https://primal.net ; https://github.com/PrimalHQ ↩︎

  39. Damus team (jb55). «damus — iOS/macOS nostr client.» https://damus.io ; https://github.com/damus-io/damus ↩︎

  40. v0l (Kieran). «snort — Nostr UI in React.» https://snort.social ; https://github.com/v0l/snort ↩︎

  41. Coracle team. «coracle — web-of-trust based moderation and content recommendations.» https://github.com/coracle-social/coracle ↩︎ ↩︎ ↩︎ ↩︎

  42. hzrd149. «nostrudel — Nostr sandbox/debug client.» https://nostrudel.ninja ; https://github.com/hzrd149/nostrudel ↩︎

  43. Martti Malmi. «Iris — messenger on Nostr with Double Ratchet DMs.» https://iris.to ↩︎

  44. v0l (Kieran). «zap.stream — live streaming with Lightning zaps (NIP-53).» https://zap.stream ↩︎

  45. verbiricha. «habla.news — long-form content (NIP-23).» https://habla.news ↩︎

  46. Sanity Island. «Olas — photo/video client (kind:20, Blossom).» https://www.nobsbitcoin.com/olas-v0-1-4/ ↩︎

  47. Wavlake. «Value-for-value music streaming on Lightning.» https://wavlake.com ↩︎

  48. Nostr Nests. «Live audio rooms on Nostr.» https://nostrnests.com ; https://github.com/nostrnests/nests ↩︎ ↩︎

  49. Alby. «Nostr Wallet Connect (NIP-47) — Alby Hub.» https://getalby.com ; https://nwc.dev ↩︎ ↩︎

  50. Zeus LN. «zeus — mobile Lightning wallet with NWC and Nostr contacts.» https://zeusln.com ↩︎

  51. Wallet of Satoshi. «The world’s simplest Bitcoin Lightning wallet.» https://www.walletofsatoshi.com ↩︎

  52. Stacker News. «Get paid to post and curate content with sats (NIP-05, NIP-57).» https://stacker.news ↩︎

  53. Fountain. «Podcasting 2.0 value4value app with Nostr social features.» https://fountain.fm ↩︎

  54. nostr.wine. «Filter Relay — subscription, Purgatory pipeline.» https://nostr-wine.github.io/filter-relay/ ↩︎ ↩︎ ↩︎

  55. hzrd149. «Blossom — storing blobs on public servers (BUD-01…12).» https://github.com/hzrd149/blossom ↩︎

  56. Nostrcheck. «Free NIP-05, NIP-96 + Blossom media hosting, public relay.» https://nostrcheck.me ↩︎

  57. kind-0. «nsecBunker — remote Nostr signer (NIP-46).» https://github.com/kind-0/nsecbunkerd ↩︎

  58. Nostr Biweekly Review. «Nostr network statistics, февраль 2025» (агрегировано в Weekly Nostr Recap: https://medium.com/@nomishkadilshan4/↩︎ ↩︎

  59. Sergey Glukhov. «Nostr overview and statistics.» Октябрь 2025. https://www.glukhov.org/post/2025/10/nostr-overview-and-statistics/ ↩︎ ↩︎

  60. Weekly Nostr Recap #57. «~950 relays in ~50 countries по данным nostr.watch.» Январь 2026. https://medium.com/@nomishkadilshan4/ ↩︎ ↩︎

  61. Manifold Markets. «Will Nostr reach 100,000 monthly active users in 2025? — resolved NO.» https://manifold.markets/itsTomekK/will-nostr-reach-100000-monthly-act ↩︎ ↩︎

  62. Forbes. «Your Guide To Nostr, The Decentralized Network For Everything.» 2024. https://www.forbes.com/sites/digital-assets/2024/07/17/your-guide-to-nostr-the-decentralized-network-for-everything/ ↩︎

  63. Ujun Jeong et al. «Navigating Decentralized Online Social Networks: An Overview of Technical and Societal Challenges.» arXiv:2504.00071, 2025. https://arxiv.org/abs/2504.00071 ↩︎ ↩︎

  64. nostr.org. «How Nostr works — default feeds and spam.» https://nostr.org ↩︎ ↩︎

  65. nostr-protocol. «NIP-51: Lists.» https://github.com/nostr-protocol/nips/blob/master/51.md ↩︎ ↩︎

  66. Pretty Good Freedom Tech. «Grapevine / GrapeRank — WoT-based recommendation lists.» https://grapevine.my ; https://github.com/Pretty-Good-Freedom-Tech/graperank-nodejs ↩︎

  67. nostr-wot. «Web of Trust scoring extension for Nostr clients.» https://nostr-wot.com/about ↩︎

  68. Mike Dilger. «The Gossip Model of relay selection.» https://mikedilger.com/gossip-model/ ; discussion: https://github.com/nostr-protocol/nips/issues/75 ↩︎

  69. nostr-protocol. «NIP-56: Reporting.» https://github.com/nostr-protocol/nips/blob/master/56.md ↩︎ ↩︎

  70. nostr-protocol. «NIP-13: Proof of Work.» https://github.com/nostr-protocol/nips/blob/master/13.md ↩︎ ↩︎ ↩︎ ↩︎

  71. Andre Neves. «The Rise of Paid Nostr Relays.» https://andreneves.xyz/p/the-rise-of-paid-nostr-relays ↩︎ ↩︎ ↩︎

  72. OpenSats. «Advancements in Nostr Relays (WoT-relay operator experience).» https://opensats.org/blog/advancements-in-nostr-relays ↩︎

  73. nostr-protocol. «NIPs issue #1282: relay choice cannot protect against DM spam.» https://github.com/nostr-protocol/nips/issues/1282 ↩︎ ↩︎

  74. bigbrotr. «Exposed nsec Analysis.» https://bigbrotr.com/blog/exposed-nsec-analysis/ ↩︎ ↩︎ ↩︎ ↩︎

  75. DoraHacks Research. «Nostr Relay Incentive.» 30 апреля 2024. https://research.dorahacks.io/2024/04/30/nostr-relay-incentive/ ↩︎