FGTW Identity

Readable Names for Cryptographic Identities

Custom DHT • Kademlia routing • Decentralized discovery

The Problem

Cryptographic systems use public keys as identities:
random 256-bit numbers that look like 71916849411390349927326459079491417677155222436162033175112723725944664108335

Humans can't remember these.
We want Tae Ora, not 29243907897268769068263847572130640405526670312934002257665713467491539430103.

But human-readable names create problems:

Centralization

DNS requires ICANN. ENS requires Ethereum. Someone controls the registry.

Collision

Two people want "alice". Who gets it? First-come? Auction? Authority decides?

Hijacking

If names can be transferred, they can be stolen. Phishing, coercion, hacking.

Discovery

How do strangers find you? Global directory? That's centralization again.

How It Works

Deterministic Addressing

Your handle hashes to a 32-byte DHT address. Anyone can compute where to look—no central registry needed.

↓

Peer Records

Each device you use creates a peer record stored in the DHT. Multiple devices = multiple records
all linked to your handle hash.

PeerRecord {
    handle_hash: [u8; 32], // BLAKE3 of your handle
    device_pubkey: [u8; 32], // This device's X25519 public key
    ip: SocketAddr, // Where to reach this device
    last_seen: f64, // Eagle timestamp
}

When someone messages "fractaldecoder", they hash your name, query the DHT, get your device records, and establish TLS connections.

Trust & Discovery

Vouching System (Planned)

FGTW will use social vouching to establish identity trust. Existing users vouch for new users, creating a web of cryptographic attestations.

When Alice vouches for Bob:
0. Alice signs: "I vouch for Bob's identity at hash(bob)"
1. Bob includes Alice's vouching signature in his DHT record
2. Others who trust Alice can transitively trust Bob
3. Multiple vouches build reputation

This prevents:

Current implementation uses simple DHT lookup.
Vouching is in design phase.

Kademlia Routing

FGTW uses Kademlia XOR-distance routing to find peers. Each node maintains a routing table.

How Discovery Works

0. Hash handle: handle_hash = BLAKE3("alice")
1. Calculate XOR distance from your node ID to handle_hash
2. Query closest k nodes iteratively
3. Nodes return peer records for "alice"
4. Connect directly to alice's devices via TLS

Nodes maintain routing tables based on XOR distance. Closer nodes (by XOR metric) are queried first, making lookups efficient—O(log N) hops.

Protocol Messages

All messages use VSF (Versatile Storage Format) serialization for compact, efficient network traffic.

Comparison to Other Systems

Property DNS ENS Namecoin Tor Onion FGTW Binding
Decentralized ✗ Partial ✓ ✓ ✓
Human-readable ✓ ✓ ✓ ✗ ✓
No registration fee ✗ ✗ ✗ ✓ ✓
No blockchain ✓ ✗ ✗ ✓ ✓
Works offline ✗ ✗ ✗ ✗ ✓
Collision resolution Authority Auction First-come N/A Vouching
Immutable ✗ ✗ ✗ ✓ ✓
Social recovery ✗ ✗ ✗ ✗ ✓

FGTW combines human-readable names with decentralization, avoiding the tradeoffs of DNS, blockchain, and onion routing.

Technical Details

Cryptographic Primitives

Hash function: BLAKE3 (faster than SHA-256)
Signing/Encryption: X25519 (Curve25519 Diffie-Hellman)
Serialization: VSF - compact binary encoding
Routing: Kademlia XOR distance (256 buckets, O(log N) lookups)

Network Stack

Integration with Photon

FGTW provides the identity layer for Photon Messenger:

Handle Lookup

Message "alice" without knowing IP or public key—FGTW handles discovery

Multi-Device

All your devices registered under one handle, messages routed automatically

Social Recovery

Key shards distributed to trusted contacts—lose all devices, friends reconstruct your identity

Project Status

FGTW is functional and serving as the identity layer for Photon Messenger.

Current status: DHT, Kademlia routing, and handle registration working, and registration is open to everyone. The network will not be wiped; handles lock in fully once ferros is running and has been in use for a while.

License: MIT OR Apache-2.0 (dual)

Repository: github.com/nickspiker/photon