n0-space/nips + nostr — Nostr Protocol Reference
n0-space/nips + nostr — Nostr Protocol Reference
Metadata
- n0-space/nips: https://github.com/n0-space/nips (fork of nostr-protocol/nips)
- License: None specified (public domain assumed)
- Language: Markdown (59 files, 700KB)
- Content: Nostr Implementation Possibilities (NIP-01 through NIP-94+)
- n0-space/nostr: https://github.com/n0-space/nostr (fork of nostr-protocol/nostr)
- License: Public domain
- Language: Markdown + reference code (12 files, 248KB)
- Content: Core Nostr protocol specification
Purpose
Nostr = “Notes and Other Stuff Transmitted by Relays” Simplest open protocol for censorship-resistant global communication.
Core Concepts
- Identity: Cryptographic keypairs (npub/nsec)
- Transport: WebSocket relays (anyone can run one)
- Events: Signed JSON envelopes (kind, content, tags, sig)
- Clients: Read/write events to relays
- Relays: Store and forward events (no consensus, no blockchain)
Key NIPs (Nostr Implementation Possibilities)
| NIP | Title | Relevance |
|---|---|---|
| NIP-01 | Basic protocol flow | Core — how clients/relays interact |
| NIP-02 | Follow List | Social graph |
| NIP-04 | Encrypted DM | Deprecated — use NIP-44 |
| NIP-05 | DNS-based identity | npub → human-readable name |
| NIP-07 | window.nostr | Browser extension API |
| NIP-10 | e/p tags | Threading, mentions |
| NIP-11 | Relay info | Relay metadata |
| NIP-13 | Proof of Work | Anti-spam |
| NIP-15 | Marketplace | Resilient marketplaces |
| NIP-19 | bech32 encoding | npub, nsec, note, nprofile |
| NIP-21 | nostr: URI scheme | Deep links |
| NIP-27 | Mentions | Rich text mentions |
| NIP-44 | Encrypted payloads | Replaces NIP-04 |
| NIP-55 | External signers | Amber, etc. |
| NIP-94 | File metadata | File uploads |
Kapnet-Nostr Mapping (KAP-100)
Our TXXM protocol maps to Nostr events:
| Kapnet Concept | Nostr Equivalent |
|---|---|
| TXXM envelope | kind-30078 event |
| TXXM type | t tag or content field |
| KOR namespace | d tag (replaceable event ID) |
| Braid ordering | created_at + sequence |
| Knot checkpoint | kind-30078 with d tag |
| Session | kind-0 profile + p tags |
| Governance | kind-1 text + t tags |
| Hedlbit payment | kind-9735 (zap) or custom |
Relevance to Kapnet
As Transport Layer
Nostr IS our transport. All Kapnet TXXMs are Nostr events.
- kind-30078 for TXXM envelopes
- kind-1 for text notes (WELCOME, FAQ)
- kind-0 for profiles
- kind-9735 for Lightning payments (zaps)
As Identity Layer
npub = identity. No passwords, no OAuth.
- Ambassador npub = public identity
- HermQube npub = operator identity
- All souls have npubs
As Discovery Layer
- NIP-05: npub → DNS mapping (kapnet@pluronymous.org)
- NIP-11: Relay info (our relay capabilities)
- NIP-19: bech32 encoding (npub, nsec, note)
Action Items
- Read NIP-01 (basic protocol)
- Read NIP-19 (bech32 encoding)
- Read NIP-44 (encrypted payloads — replaces our NIP-04 usage)
- Read NIP-94 (file metadata — for blob TXXMs)
- Implement KAP-100 Nostr mapping
- Set up NIP-05 verification (kapnet@pluronymous.org)
Write a comment