NIP-01 определяет событие с полями id, pubkey (32-байтовый ключ x-only в hex), created_at, kind, tags, content и sig (64 байта, hex). Значение id — это SHA-256 от компактной сериализации массива [0, pubkey, created_at, kind, tags, content] в JSON с предписанным экранированием, и подписывается именно этот id. Ретрансляторы (relays) хранят и пересылают события, а клиенты сами проверяют каждую подпись.
Ключи записываются как npub… и nsec… в кодировке bech32 (NIP-19); никогда не вставляйте nsec на веб-сайтах. Удалённые подписанты (NIP-46) и расширения браузера (NIP-07) держат ключи за пределами приложений. Проверка событий Nostr локально пересчитывает id и проверяет подписи.