Finding
the network.
The install left one node configured and alone. Discovery is how it finds everyone else — with no operator, no server, and no map handed to it.
it goes and · asks ·
One node, asking
Configured, powered — and with no idea who else is out there.
- No directory to look in
- No server to phone
- No map handed down
The only way to learn the network is to go and ask.
It works by asking
The node probes outward from each of its own interfaces.
- Ask every reachable address: who are you?
- Plain request / response — the oldest way
- Nothing is trusted until it answers
Reachability has to be re-proven constantly — so asking is the right shape.
Just two questions
Every ask is the same short conversation.
- Who are you? — your name and identity
- Who do you know? — the peers you can reach
That's the whole exchange. Everything else is repeating it.
Then their children. Then grandchildren.
Ask the same two questions of everyone they named.
- Same questions to each child
- Same again to each grandchild
- Bounded — a shallow walk, not the whole world
Two levels out is enough — every node walks at once, so even complex networks synchronize fast.
.2 proves, .1 carries
Probe to prove the path works — then record who answered.
- The .2 proves it: a live round-trip, not a promise
- The reply .1 carries the peer's identity
- Ask that peer what it knows — recurse, bounded
Reachability is measured, never asserted.
The wire decides
Every path is proven with a real round-trip — so every path has a real number.
- More than one route? Lowest measured round-trip wins
- Can't reach it directly? A relay vouches for it
- No static weights — only what the wire just did
Asking is nearly free
The same questions, over and over — and usually the same answer.
- Unchanged replies ride SAME / DIFF compression
- A peer that hasn't moved answers in 21 bytes
You can afford to re-prove constantly because re-proving costs almost nothing.
Every node, its own table
From the answers, each node writes its own routing table.
- No coordinator, no master list
- Built from what this node reached and measured
- A split network keeps working on both sides
Two ponds become one
Separate networks come into range — and merge on their own.
- Discovery finds the new neighbours
- The mesh converges; databasehost re-elected
- Every routing table and /etc/hosts rewritten
Nobody configured anything. Everyone can suddenly reach everyone.
A node drops. Nobody notices.
The same loop, running the other direction.
- A node reboots or loses its link
- Routes re-form around the gap
- It comes back — and is re-absorbed, no manual step
Split and merge aren't special cases. They're the loop, always running.
One living
network.
The lone node is now part of a coherent whole.
- Every node holds its own measured table
- Every name resolves
- It re-derives itself the moment anything changes
Nobody drew this map. It assembled itself.
You now have one running
The cheapest contribution is a topology that breaks it
The known ceiling is fifty-eight nodes, and as few as sixteen where one broker carries a second pond. It should be fifty-nine thousand. The build manual’s Known Limits appendix says where the number comes from and why a bigger one is not the fix.
- No licence, no engine access, no Python
- The simulator runs the real code, not a reimplementation
- A topology that fails today and passes on a fix is an oracle
Better gets demonstrated, not argued — and the gate does not care who either of us is.