AxisOps Harbour
Labs

Insights

Meshtastic: a node is its key

Meshtastic is LoRa radios running a mesh protocol with no infrastructure underneath it. No base station, no carrier, no DNS, no certificate authority. Nodes relay for each other and the topology is whatever happens to be in range. The "hobbyist" framing does a lot of work to stop people looking at the engineering.

Read the release notes as an identity system

The 2.8 line's changes, from the firmware releases and the project blog:

  • Packet signing via XEdDSA.
  • Node IDs derived from the node's public-key identity rather than from its hardware MAC address.
  • A traffic management module doing deduplication and rate limiting.
  • Automatic variable hop limits responding to observed mesh activity.

The second is the architecturally interesting one. A node is its keypair. Nothing assigns the identity; it's derived from a secret the node holds. So there's no registry you can ask whether a node is who it claims to be, because there's nothing to ask. Trust gets established peer to peer or not at all. That does not make signatures a mesh-wide invariant: the default packet-signature policy accepts unsigned traffic so that older nodes remain usable. Strict mode is what turns rejection of unsigned traffic into a local rule.

Why that is unusual

Nearly every identity system we build has an authority somewhere: a CA, a directory, an identity provider, a registrar. The authority is what makes names mean anything, and it's also a central point of compulsion, failure and cost. Self-certifying identifiers do away with it: name and key are the same thing, so verification happens locally.

The trade is real: you lose human-meaningful names. A public key is not a name anyone can remember or type. Every system that has tried this, from PGP fingerprints to onion addresses, walks into the same wall, and the usual answer is a petname layer: locally-assigned nicknames mapped to keys, like your phone's contacts list, where "Mum" means something to you and nothing to the network.

It's the same trade the crypto wars entry touches from the other side. A system with no registry cannot be served an order for its registry.

A deliberate compatibility break

Firmware 2.7.15 (November 2025) disallowed the legacy direct-message path, which protected a DM with the shared channel key rather than the recipient's own, after CVE-2025-53627 showed it let a sender be spoofed. Nodes on older firmware could still relay traffic and use channels, and their DMs broke until they updated.

That's a security fix willing to break compatibility, with a cost attached. The opposite choice, keeping the insecure path working indefinitely, is the one almost everybody makes, and it's why so many protocols carry downgrade attacks.

What a network with no operator makes possible

A group of people can have communications that nobody provides. Twenty pounds of hardware per person, no SIM, no account, no monthly bill, no coverage map, no terms of service and no company that can be acquired, go bust, raise its prices or be ordered to hand over a participant list. For most of the history of telecommunications that was not available at any price.

That matters where infrastructure reaches badly. A valley with no mobile coverage, where the network exists because the farms each have a node on a barn roof. A week-long power cut, when the mobile network's batteries have gone and the mesh is still running because each node draws less than a light bulb. The network comes into being from the participants rather than being supplied to them.

Where the local infrastructure exists but cannot be trusted, the same property matters most. A network with no operator cannot be asked for records it does not keep, and a direct message encrypted to a key held on the receiving device is not readable by the relay nodes that carry it. The relaying itself is visible, headers included, and anything on a shared channel is readable by whoever holds that channel's key, so the property is confidentiality of content, not invisibility. That is a real capability for a journalist, a trade union or a family in a country where the carrier is an arm of the state.

The engineering lesson generalises beyond radio. Self-certifying identity removes an entire category of system: the provisioning service, the registration flow, the credential database, the password reset, the breach of that database. A node generates its own identity and is immediately addressable. Anybody who has built a device fleet knows provisioning is most of the work and most of the risk, and here it is absent.

The key is on the node

There is no chokepoint here, by design. There is no key to hold over you: it is generated on the node, never escrowed, and the identity is derived from it rather than assigned to it. No registry, so no participant list to subpoena, leak or sell. No operator, so no company to acquire, no account to suspend, nobody to serve a notice on. The firmware is open and the hardware is commodity, so no supply chain chokepoint beyond a radio module several vendors make.

Meshtastic is the clearest evidence that the ownable version is not a compromise forced by poverty: it beats the commercial alternative on resistance to compulsion, privacy and resilience, and loses only on bandwidth and convenience.

Two caveats. The absence of an authority means the absence of guarantees: no delivery, no capacity, no coverage commitment and a mesh that congests under load. And self-certifying identity moves the trust problem to key exchange, done in person or over some other channel, which is where users of every such system have always made their mistakes.

One direction of attack is worth watching, because it is where this kind of project usually loses: the regulation and the supply, not the protocol. ISM band rules, device certification requirements and the availability of cheap radio modules are decided by people with no attachment to unlicensed peer networks, and a licensing change could do what no technical attack can. If you want this capability to exist in ten years, defend the unlicensed spectrum and the right to build your own radio, not the software.

Current state

The 2.8 line is alpha as we write this. 2.8.0 was revoked over a defect in the packet-signing code and replaced by 2.8.1, and the project's own advice is that most people should stay on 2.7.

That's the project being straight about its own release.

We have not run a mesh of our own at any scale; everything above is read from the protocol and the release notes. The experiment that would settle it is a handful of nodes, measured range against terrain, observed behaviour as nodes drop out and whether the variable hop limit holds up under congestion. That is buildable for a few hundred pounds, and it is on the list.