Registering a Name
Alice wants alice.zec. Here's what happens:
- Generate an Ed25519 keypair -- this keypair proves ownership
- Send 0.01 ZEC to the ZNS registrar address with a signed memo
- Scanner validates -- name rules, signature, fee
- Done --
alice.zecis live
Alice Zcash Blockchain ZNS Scanner
| | |
|-- send 0.01 ZEC + memo -------->| |
| (shielded transaction) | |
| |-- new block ------------------>|
| | |-- validate name
| | |-- verify signature
| | |-- check fee
| | |-- register alice.zec
The Memo
The registration memo has 7 colon-separated fields:
ZNS:v1:REGISTER:{name}:{unified_address}:{ed25519_pubkey}:{signature}
The signature signs "REGISTER:{name}:{address}" using the Ed25519 private key. This proves Alice authorized the registration -- nobody can register a name on her behalf without her key.
Fees
Fees are burned -- sent to an address nobody can spend from. Names are permanent, no renewals.
| Name Length | Fee |
|---|---|
| 8+ characters | 0.01 ZEC |
| 5 -- 7 characters | 0.1 ZEC |
| 3 -- 4 characters | 1 ZEC |
The Registrar
The registrar address is deterministic -- derived from SHA-256("ZNS Registrar v1 - Zcash Naming Service"). Nobody holds the spending key. Its Incoming Viewing Key (IVK) is public so anyone can run their own scanner and verify registrations.