{"id":"a551d57d2ea1cb1cbd31d32800f304bec79c4f713916cfb8059ddd74f0419e9b","pubkey":"43185edecb675892824b1a37a57f3e407fbde2eda7201a3829b8cf4ba7c5b4f0","created_at":1782681154,"kind":30817,"tags":[["title","Issue #2330: N0..N3 Namecoin RFC track"],["alt","Custom NIP: Issue #2330: N0..N3 Namecoin RFC track"],["l","recreated-github-pr"],["L","org.nostr-protocol.nips"],["d","issue-2330-n-track-rfc"]],"content":"> **Recreation note.** This is a copy of issue [nostr-protocol/nips#2330](https://github.com/nostr-protocol/nips/issues/2330) (the broader N0..N3 RFC track), preserved as a custom NIP because my GitHub account (`mstrofnone`) is currently suspended.\n\n---\n\n## Background\n\nThis issue is a recreation, on this mirror, of the broader [N0..N3 RFC track](https://github.com/nostr-protocol/nips/issues/2330) originally filed upstream at `nostr-protocol/nips#2330`. The companion PR on this mirror — \"NIP-05 verification via Namecoin (.bit)\" — implements the narrowest N1 slice of that track. This issue exists so reviewers on this mirror can discuss the broader track in one place.\n\n## Summary\n\nAdds a coherent track of optional NIPs that use the [Namecoin blockchain](https://www.namecoin.org/) as a censorship-resistant alternative anchor for parts of Nostr's identity / discovery / verification surface. All four pieces are independent — clients can ship N1 alone, or any subset — and all four use only the existing ifa-0001 Domain Name Object schema. No new top-level Namecoin record keys.\n\n| Slot | Purpose | Deployment status |\n| ---- | ------- | ----------------- |\n| **N1** | NIP-05 verification over `.bit` (the narrow PR in this mirror) | 8 wire-compatible impls across 6 platforms, all merged upstream |\n| **N2** | Relay discovery via `.bit` (relay list pinned in chain record) | implemented in Amethyst PR #2595, dart-nostr #44 |\n| **N3** | TLSA-style pin for `.bit` relay WebSocket certs | implemented in Amethyst PR #2595, dart-nostr #44 |\n| **N4** | Block-height-pinned identity / receipt (optional `block` field) | spec only |\n\nEach piece independently composes with existing NIPs (NIP-05, NIP-65, NIP-11). The Namecoin record container (\"N0\") is folded directly into N1 in the companion PR; standalone container NIP isn't useful without a consuming NIP.\n\n## Implementation matrix (N1)\n\n8 wire-compatible reference implementations across 6 platforms have shipped N1 against the live Namecoin chain, with byte-for-byte agreement on the same on-chain records:\n\n| Platform | Implementation | Status |\n| --- | --- | --- |\n| Android / iOS / Desktop (Kotlin/KMP) | vitorpamplona/amethyst (Quartz `namecoin` module + Amethyst `LocalCache`) | merged |\n| iOS (Swift) | nostur-com/nostur-ios-public — `NamecoinNip05Service.swift` | merged |\n| TypeScript / Node | nbd-wtf/nostr-tools — `nip05namecoin` module | merged |\n| Flutter / Dart | ethicnology/dart-nostr — `nip05_namecoin.dart` | merged |\n| Web (browser-resident `wss://` ElectrumX) | CodyTseng/jumble | merged |\n| Web | hzrd149/nostrudel | open |\n| Sidecar / relay | mstrofnone/strfry-nip05-namecoin (Node strfry plugin), mstrofnone/nostrlib-nip05-namecoin (Go) | shipped |\n| CLI | fiatjaf/nak (via the Go lib) — PR open | open |\n\n## Live demo\n\n- Verifier: `_@testls.bit` resolves via Namecoin `d/testls` → pubkey, with an ifa-0001 `import` chain (`d/testls → dd/testls → d/cl-testls`) exercising the multi-record path.\n- `.bit`-served relay: `wss://relay.testls.bit/` (TLSA-pinned, Tor-reachable). Hosts a kind:30023 long-form announcement of the track.\n\n## Scope discipline\n\nThis issue is for **track-level discussion**. Spec PRs land one NIP at a time:\n\n- N1: the \"NIP-05 verification via Namecoin (.bit)\" PR on this mirror (recreated from `nostr-protocol/nips#2349`).\n- N2/N3/N4: follow-up PRs after N1 lands. Specs already drafted at https://github.com/mstrofnone/nips ; happy to open them separately.\n\nCC: none — opening cold so the broadest set of reviewers can chime in.\n","sig":"f015650a2270c6264381b617073ed05e05c1818977416eb590814bf70ea9e058d66c30ab25609b05f09e3a29bf4824447ac2fb11983e8eb8f715206aa203e525"}