Home/Docs

Specifications

A protocol with one implementation is a format, not a standard

MeshDTN is open source, and the specification is public specifically so a second implementation is possible. Build one. We’ll help.

Published protocol

Frame layouts, field by field. Every identifier, frame and byte — on the air and across the companion bridge.

Conformance vectors

A shared file both implementations test against, so two ends of the same wire can’t silently drift apart.

A Charter that argues with itself

It records the arguments against every decision as carefully as the arguments for — so anyone who disagrees has what they need to reopen the question.

The implementation

What the specification buys you, in running code

Two implementations — meshdtn-firmware for the radio and meshdtn-app for the phone — built against the same published protocol and the same conformance vectors.

The system, end to end

  • Discovery and the companion bridge
  • Sealed message delivery, end to end
  • The bundle store and the kill index
  • Fragmentation and reassembly across different peers
  • Ranked reconciliation, with the exploration reserve
  • Background scan scheduling, and the arbiter that decides when it may use the radio
  • Sealing with X25519, HKDF-SHA256 and ChaCha20-Poly1305, from published libraries

Held to the vectors

The firmware carries 204 build environments, one per companion-capable board, and the app targets Android, iOS and desktop from a single Flutter codebase.

Both ends test against the same conformance corpus, so “it works here” and “it works on the wire” are the same statement. That corpus is published for anyone building a third.

The conformance vectors

Nothing here is audited

No security property in this project has been independently reviewed. Until it has been, every security property described here is a design target. Nothing in MeshDTN is “audited”, and the Charter forbids claiming otherwise.

MeshDTN uses standard, widely used primitives and invents none: X25519, HKDF-SHA256, ChaCha20-Poly1305 and HMAC-SHA256, from published libraries. There is no forward secrecy, and that is a deliberate trade for simplicity.

A library’s assurance covers the library, not the way this project combines it. Independent cryptographic review is where outside help is worth the most — the primitives are standard and the specification is public, which makes review tractable for anyone who does this professionally.

Contribute

Where help is most useful

Range and field data

From real terrain. Numbers from a bench are not numbers from a ridge.

iOS

The app is Flutter and targets iOS, and the platform work needs hands.

Cryptographic review

We use standard primitives and would value professional eyes. This is the gap that matters most.

Stations

Put one on a pole and tell us what happens over a month.

Build a second implementation. We’ll help.

The network is the people.