One constant change makes ALL names require authority signature. Eliminates the 90K pre-registration race entirely. Lethean becomes a proper TLD registrar for .lthn — curated namespace, revenue from name sales, squatting impossible at protocol level. Co-Authored-By: Charon <charon@lethean.io>
209 lines
7.5 KiB
Markdown
209 lines
7.5 KiB
Markdown
# Mainnet Name Registration Plan
|
|
|
|
> **Status:** Validating on testnet
|
|
> **Date:** 2026-04-03
|
|
> **Authors:** Snider, Charon
|
|
|
|
## Problem
|
|
|
|
The Lethean chain merges two blockchains — a main chain (aliases) and an HNS sidechain (DNS). The sidechain blocks Alexa top 100K domains and ICANN TLDs from being registered by random users. But the main chain has no such protection — anyone could register `@google` as an alias before the sidechain has a chance to refuse it.
|
|
|
|
This creates a window for name squatting that corrupts the namespace before real users arrive.
|
|
|
|
## Numbers
|
|
|
|
| Category | Count |
|
|
|----------|-------|
|
|
| Reserved (Alexa top 100K) | 90,016 |
|
|
| Locked (ICANN TLDs) | 11,554 |
|
|
| **Total unique names** | **90,041** |
|
|
| Long names (>=6 chars, public) | 73,977 |
|
|
| Short names (<6 chars, need authority key) | 16,062 |
|
|
|
|
**Source:** `blockchain-network-dcore/lib/covenants/names.json` and `lockup.json`
|
|
|
|
## Strategy
|
|
|
|
### Phase 1: Genesis + HF Warmup
|
|
|
|
1. Mainnet launches with HF0 — 10M LTHN premine in SWAP wallet
|
|
2. During HF warmup (HF0 → HF1), send **1,000+ LTHN** from genesis to dedicated namereg wallets
|
|
3. Multiple namereg wallets (2-4) for parallel registration
|
|
4. Destination for all reserved aliases: a **multi-sig wallet** controlled by the team
|
|
|
|
### Phase 2: Staking Funds the Protection
|
|
|
|
1. Network wallet stakes during warmup — earns ~720 LTHN/day from PoS
|
|
2. Legacy users haven't reclaimed tokens yet (SWAP happens later)
|
|
3. Staking rewards from the network's own balance fund all registrations
|
|
4. The network literally pays for its own name protection
|
|
|
|
### Phase 3: Batch Registration
|
|
|
|
When aliases activate (HF that enables alias registration):
|
|
|
|
1. Namereg wallets already have coins and mature UTXOs ready
|
|
2. Multiple wallets work in parallel, each tackling a chunk of the 90K list
|
|
3. Priority order:
|
|
- **Tier 1:** Top brands (google, facebook, amazon, etc) — ~120 names
|
|
- **Tier 2:** Long names from Alexa list (>=6 chars) — ~73,977 names
|
|
- **Tier 3:** Short names with authority key (<6 chars) — ~16,062 names
|
|
4. Rate: ~1 alias per 3 seconds per wallet = ~28,800/day with 1 wallet, ~115,200/day with 4
|
|
|
|
### Phase 4: Ongoing Governance
|
|
|
|
1. All reserved names sit in a multi-sig wallet
|
|
2. Legitimate brand owners can request transfer (proof of domain ownership)
|
|
3. Community aliases (common words like "wallet", "exchange") remain locked
|
|
4. Infrastructure names (@vpn, @proxy, @exit, etc) transferred to service operators
|
|
|
|
## Cost Model
|
|
|
|
| Item | Cost |
|
|
|------|------|
|
|
| Alias registration fee | 1 LTHN each |
|
|
| Transaction fee | 0.01 LTHN each |
|
|
| **Total for 90K names** | **~90,900 LTHN** |
|
|
| PoS earnings (720/day) | Covered in ~126 days |
|
|
| With 1000 LTHN seed | First ~1000 names immediate |
|
|
|
|
The network earns back the registration cost through staking before legacy users even begin the SWAP process.
|
|
|
|
## Technical Requirements
|
|
|
|
### Testnet Validation (current)
|
|
|
|
- [x] PoS staking working (first PoS block at height 12,382)
|
|
- [x] Alias registration via wallet RPC confirmed
|
|
- [x] Batch registration script built and tested
|
|
- [x] Priority name list generated from HNS data (90,041 names)
|
|
- [ ] Multi-wallet parallel registration tested
|
|
- [ ] Authority key for short names (<6 chars) tested
|
|
- [ ] Full 90K registration completed on testnet
|
|
- [ ] Explorer confirms all names visible
|
|
- [ ] LNS resolves registered names
|
|
|
|
### Mainnet Requirements
|
|
|
|
- [ ] Multi-sig wallet created for reserved names
|
|
- [ ] Genesis transaction plan (SWAP wallet → namereg wallets)
|
|
- [ ] Authority key provisioned for short-name registration
|
|
- [ ] Ansible playbook for deploying namereg wallets on prod
|
|
- [ ] Monitoring: alias count dashboard, registration rate, failures
|
|
|
|
## Alias Comment Format
|
|
|
|
All reserved names use this comment format for identification:
|
|
|
|
```
|
|
v=lthn1;type=reserved;reason=hns-protected
|
|
```
|
|
|
|
This allows:
|
|
- LNS to identify reserved vs user-registered names
|
|
- Future tools to query reserved names
|
|
- Governance decisions (release to brand owners) to be automated
|
|
|
|
## Daemon Configuration
|
|
|
|
PoS staking requires `--rpc-ignore-offline` when the daemon has no peers:
|
|
|
|
```
|
|
lethean-chain-node --rpc-ignore-offline --do-pos-mining
|
|
```
|
|
|
|
Without this flag, the daemon refuses PoS mining requests when disconnected.
|
|
|
|
## Batch Registration Tool
|
|
|
|
```bash
|
|
# Generate priority list from HNS data
|
|
python3 tools/generate-name-list.py
|
|
|
|
# Register names (3s delay, checks balance every 10)
|
|
bash tools/register-reserved.sh /tmp/protected-names-long.txt http://127.0.0.1:46944/json_rpc 10 3
|
|
```
|
|
|
|
Tool location: `docker/tools/register-reserved.sh`
|
|
|
|
## Option B: TLD Registrar Model (Recommended)
|
|
|
|
Instead of racing to pre-register 90K names, change one constant to make
|
|
ALL alias registration require the authority key:
|
|
|
|
```c
|
|
// currency_config.h — one line change
|
|
#define ALIAS_MINIMUM_PUBLIC_SHORT_NAME_ALLOWED 64 // was 6
|
|
```
|
|
|
|
This makes Lethean a proper TLD registrar — every name under `.lthn`
|
|
requires authority signature. No squatting possible at any length.
|
|
|
|
### Why This Is Better
|
|
|
|
| Pre-reg (Option A) | Registrar (Option B) |
|
|
|---------------------|----------------------|
|
|
| Race against squatters | No race — authority controls all |
|
|
| 90K transactions needed | Zero pre-registration needed |
|
|
| ~90K LTHN cost | Zero cost |
|
|
| Only covers known names | Covers ALL names, forever |
|
|
| New brands unprotected | New brands protected by default |
|
|
|
|
### Registrar Portal Flow
|
|
|
|
1. User requests `@myname` via website or CLI
|
|
2. Portal checks: not taken, not reserved, not offensive
|
|
3. User pays registration fee (1 LTHN + portal fee if desired)
|
|
4. Authority key signs the registration transaction
|
|
5. Name goes live on chain within 1 block
|
|
|
|
### Revenue Potential
|
|
|
|
| Name Type | Price |
|
|
|-----------|-------|
|
|
| Standard (6+ chars) | 1 LTHN (chain fee only) |
|
|
| Short (3-5 chars) | 10-100 LTHN (premium) |
|
|
| Ultra-short (1-2 chars) | Auction or reserved |
|
|
|
|
### Implementation
|
|
|
|
- **Hardfork:** Change `ALIAS_MINIMUM_PUBLIC_SHORT_NAME_ALLOWED` to 64
|
|
- **Portal:** Web API that accepts requests, validates, signs with authority key
|
|
- **Key security:** Authority private key in HSM or multi-sig, never on a hot server
|
|
- **Delegation:** Portal signs, daemon validates — separation of concerns
|
|
|
|
### Why Lethean Should Be a Registrar
|
|
|
|
- Lethean owns `.lthn` on Handshake — it IS the TLD operator
|
|
- Names route real traffic (VPN, DNS, service discovery)
|
|
- A curated namespace is trustworthy; a squatted one is worthless
|
|
- Every TLD in the world works this way — `.com`, `.co.uk`, `.eth`
|
|
- Revenue stream from name sales funds network development
|
|
|
|
### Migration Path
|
|
|
|
1. Testnet: validate both approaches (pre-reg + registrar)
|
|
2. HF proposal: include the constant change in next hardfork
|
|
3. Build portal: simple web UI + authority signing service
|
|
4. Mainnet launch: registrar model active from HF activation
|
|
5. Pre-reg only needed for names registered BEFORE the HF
|
|
|
|
## Risk Mitigations
|
|
|
|
| Risk | Mitigation |
|
|
|------|-----------|
|
|
| Tx pool congestion | Multiple wallets, 3s delay, batch checkpoints |
|
|
| Insufficient funds | Staking covers ongoing costs, seed from genesis |
|
|
| Authority key compromise | Multi-sig for the key, not single holder |
|
|
| Name disputes post-launch | Governance process for brand transfers |
|
|
| Testnet/mainnet drift | Same tooling, same scripts, validated on testnet first |
|
|
|
|
## Timeline
|
|
|
|
| Phase | When | Duration |
|
|
|-------|------|----------|
|
|
| Testnet validation | Now (Apr 2026) | 1-2 weeks |
|
|
| Mainnet genesis | TBD (Darbs approval) | Day 0 |
|
|
| HF warmup | Day 0-7 | 1 week |
|
|
| Batch registration | Day 7+ | 1-4 days (with parallel wallets) |
|
|
| Full coverage | Day 14 | All 90K protected |
|