Roger Mendoza

Reticulum: the open networking stack I stopped competing with

Reticulum is an encrypted, self-configuring network stack that runs over LoRa, packet radio, serial and IP with no central operator. Why Dictyon-net became a carrier layer for it instead of a rival.

Repo: markqvist/Reticulum · Reticulum License (see the repo's LICENSE file)

The best decision Dictyon-net made was to stop competing with Reticulum. This note is about why — and why Reticulum is worth knowing if you build anything off-grid.

What Reticulum is

Reticulum is a networking stack for links the internet doesn't cover well. It's:

  • Cryptography-based — X25519 key exchange, Ed25519 signatures and authenticated encryption on everything.
  • Medium-agnostic — LoRa, packet radio, serial lines, Wi-Fi and Ethernet, or tunnelled over IP.
  • Free of central control — addressing and routing need no coordinator; anyone can run a network.
  • Private by design — packets carry no source address.
  • Lightweight — it runs in userland anywhere Python 3 does.

Apps like Sideband, NomadNet and MeshChat sit on top of it.

Why I stopped competing

Dictyon-net began as its own network stack: addressing, handshakes, routing, transport. It worked, even across real radios. But that code had never had a security review, and hand-written crypto for people in difficult situations isn't something to ship on optimism. Reticulum's cryptography has had years of people trying to break it.

So Dictyon-net became a carrier layer for Reticulum: it models what physical media really cost — duty cycle, dwell limits, dial-up sessions, receive-only links — and hands Reticulum honest numbers. Reticulum keeps identity, routing and encryption.

What that looks like on real radios

On two Heltec V3 boards running RNode firmware, Reticulum reported the dictyon carrier as a live interface with the carrier's real MTU (222 bytes) and its effective rate rather than the nominal one. Two independent Reticulum nodes then found each other over the air and returned twelve of twelve signed probe replies — with round-trip times inside a range predicted beforehand. The full story is in first packet across real air.

Getting started

  1. Install it with pip install rns and run rnsd.
  2. For radio, flash a supported LoRa board with RNode firmware using rnodeconf. Buy boards for your region's band, use a data USB cable, and attach the antenna before powering up.
  3. Try Sideband or NomadNet to see messaging work before writing code.

The lesson beyond radio

If someone has already built the hard, security-critical part well, build the part they haven't. Contributing a missing piece to a mature open-source project beats maintaining a weaker copy of the whole thing.

Some links in these notes are affiliate links. If you buy through one, I may earn a commission at no extra cost to you. I only link to tools I use or would recommend.