I'm giving everybody a 1 hour head start.
Two names have been registered for testing: `titan` and `bitcoin`. Everything else is unclaimed. Keep reading to see what I'm talking about.
https://2zrgjemvgxppn2jwgm61w6yrqqlcmm8njvhby68a9cj7ooo5phshakespeare.nsite.lol/
NSite's currently have two glaring problems. DNS dependency and names you can't remember. Try to type that from memory.
Titan is a native desktop browser that resolves nsite:// URLs. See the video below. When you type nsite://titan, the browser looks up "titan" in a name index, gets the associated Nostr pubkey, fetches the site manifest from relays, downloads the content from Blossom servers, and renders it. No DNS. No certificates. No hosting providers.
Like normal domain names, I bet you can remember nsite://titan.
You can also use the underlying npub directly for navigating. E.g., nsite://2zrgjemvgxppn2jwgm61w6yrqqlcmm8njvhby68a9cj7ooo5phshakespeare.
Titan is still in early alpha. It's missing essential features and will have bugs. Feel free to contribute.
The name "titan" is registered on Bitcoin using an OP_RETURN transaction. As long as it's up to me, it's permanent. The protocol allows for transferring this name. You can learn more about this in the README and docs (
https://github.com/btcjt/titan/tree/main/docs).
How it works:
Every name registration is a single Bitcoin transaction with an OP_RETURN output containing an NSIT payload — a protocol prefix, the name, and the Nostr pubkey it points to.
First-in-chain wins. The first valid registration claims the name. Duplicates are ignored. The blockchain is the arbiter.
Names are controlled by a Bitcoin UTXO. Whoever can spend that output controls the name — update the pubkey or hand off ownership entirely.
Every step from name to rendered page is cryptographically verified. Name to pubkey is secured by Bitcoin proof-of-work. Pubkey to manifest is signed by the site owner's Nostr key. Manifest to content is addressed by SHA256 hash.
The browser doesn't need Bitcoin Core. Name lookups happen through Nostr events published by an indexer service that watches the blockchain. Anyone can -- and maybe should -- run their own indexer. The Titan browser uses the titan npub by default, but you can change it to point to yours.
You can register names at nsite://titan/register — it walks you through step-by-step generating the register transaction using Bitcoin Core (bitcoin-cli).
nsite:// is an open scheme. Other browsers can implement it. Other indexers can publish the same name events. Titan is the reference client.
Two names registered for testing: `titan` and `bitcoin`. Everything else is unclaimed. Insert cringy Satoshi quote about getting some -- just in case.
Open source:

GitHub
GitHub - btcjt/titan: A native nsite:// browser for the Nostr web. Named after Titan, moon of Saturn.
A native nsite:// browser for the Nostr web. Named after Titan, moon of Saturn. - btcjt/titan