Experimental networking protocol
The domain is the network.
Names, not numbers. Identity, not assumptions. Built on today's Internet. Designed for tomorrow's.
DNX is an experimental protocol in which your namespace hierarchy becomes the routing topology — routers forward on names, and every reply is verifiable against the key that owns that name.
How DNX works
A name becomes a route.
Today a name is a lookup key: DNS turns it into an address, and the address does the real work. DNX removes that translation step. The name is the routing information, and the key bound to it is the proof of who answered.
- Register. A node generates an ed25519 keypair on first boot and binds it to a fully-qualified domain at the registry. The key is the machine; the name is its handle. First key to claim a name owns it.
- Resolve. Asking for a name returns its public key, its routing locator, and its live endpoint — refreshed by heartbeat every 15 seconds, not cached for hours.
- Rendezvous. The registry introduces the two nodes so both fire packets outward at the same moment, opening each NAT from the inside. No port forwarding, no VPN, no router configuration.
- Handshake. An X25519 exchange, signed by the ed25519 identity the registry bound to the name. The session key is therefore provably owned by whoever owns the name — and it is discarded every five minutes.
- Route. Packets are forwarded hop by hop on the name hierarchy itself. Each router reads exactly one level and passes it on; none reads the whole name, and none can read the payload.
Architecture
Where DNX sits.
DNX is an overlay, deliberately. It runs on UDP/IP today for the same reason IP first ran over the phone network: the on-ramp matters more than the purity. Everything above the substrate line is DNX's own.
Routing
Each hop reads one level.
This is the part that has to scale, and the reason it can: a router never reads a whole name. It reads the single level it is responsible for, forwards, and forgets the rest. A core router therefore holds one entry per top-level domain — not one per host.
A packet routing across two datacenters, hop by hop, purely by name — with the real forwarding trace streamed back live from both machines: routing.dnxroute.com
The registry
So who controls the names?
This is the first question worth asking about DNX, and the honest answer today is uncomfortable: one server, run by one person. That is a prototype's answer, not an architecture's, and it is the largest unbuilt part of the design.
What the architecture intends is the same thing DNS already does — delegation. The unit of authority is a zone, and whoever operates a name runs the registry for everything beneath it. A company runs its own for its own namespace, inside its own network if it prefers, and nobody outside needs to know it exists.
What a registry actually does
Three jobs are currently bundled into one service, and they have nothing in common. Naming authority answers who owns a name and changes almost never. Location directory answers where that name is right now and changes constantly. Rendezvous introduces two peers so they can punch through NAT, and holds nothing at all.
Separating them is most of the deployment story, because they want completely different trust, scale and caching.
Honest gaps
- No delegation between registries yet — there is only one.
- Registry replies are unsigned, so an on-path attacker can forge resolution answers.
- No replication, so it is a single point of failure.
- It observes every resolution, and therefore knows who talks to whom.
Status
What actually runs today.
DNX is an experiment, not a product. Below is the honest split between what is implemented and deployed, and what is still specification.
| Capability | State | Notes |
|---|---|---|
| Name → key registry | Live | First-come-first-served binding, signed heartbeats, seconds-fresh records |
| NAT traversal | Live | Proven cloud → residential NAT with zero router configuration |
| Encrypted sessions | Live | X25519 + ChaCha20-Poly1305, forward secrecy on a 5-minute rekey |
| Name-hierarchical routing | Live | Distributed routers across two datacenters, forwarding by name level |
| Reliable streams | Built | Sequencing, ACKs, retransmit, flow control — tested, not yet deployed |
| TCP tunnelling | Built | Real HTTP carried over DNX in the lab; deployment pending |
| Signed registry replies | Planned | A known gap — see the protocol's security section |
| Registry federation | Planned | Today the registry is a single point of failure and of control |
DNX is a research prototype with documented weaknesses, an unaudited implementation, and a wire format that will change. It is published so the design can be argued with, not so it can be relied upon.
Why DNX exists
The Internet is full of workarounds.
Almost every layer we bolt onto networking exists to recover something the network itself does not know. NAT exists because addresses ran out. VPNs exist because NAT broke reachability. TLS exists because an address proves nothing about who answered. DNS exists because numbers are unusable by people.
Each of these works. Together they mean a modern connection is a stack of compensations, and the network still cannot answer the simplest question: who is this?
DNX asks what happens if identity lives at the addressing layer instead of above it.
What that changes
- A reply proves the name's owner answered — not merely that an address responded.
- A machine behind a home router is as reachable as a datacenter server, with no configuration.
- Records go stale in seconds, not TTL hours.
- Moving a host does not invalidate the routes above it.
Read next
Go deeper.
The protocol
Wire format, identity model, forwarding algorithm, and a security section that lists its own weaknesses.
Why not DNS, WireGuard, or libp2p?
Honest comparisons, including the cases where the existing tool is simply the better answer.
Engineering journal
Design decisions and the bugs behind them — including a routing loop and a deadlock caught before they shipped.
Design notes go deeper on single questions: how the registry works and how it would federate. Changes still being argued live in proposals.