LTP: The Protocol That Kills MQTT (And Plants The Seeds of Sovereignty)
TL;DR
LTP is encrypted IoT telemetry with no broker, no cloud, and 8-byte overhead. It’s also a Trojan horse: every LTP node runs the full Libertaria stack, ready to activate governance, identity, and economy layers when the community is ready.
Nobody wakes up and says “I want to join a decentralized sovereign society.” But everyone wants cheaper, private, brokerless sensor monitoring. You sell the aspirin; the revolution is the side effect.
The Problem With MQTT
MQTT has been the default for IoT messaging for 25 years. It’s lightweight, it’s simple, and it’s completely inadequate for modern needs:
🔓 No Encryption By Default
MQTT brokers accept plaintext connections. Yes, you can add TLS, but almost nobody does in practice. Your sensor data — temperature readings, energy consumption, security alerts — traverses the internet in plaintext. Anyone with a packet sniffer can read it.
🏢 Centralized By Design
MQTT requires a broker. That broker is a single point of failure. If it goes down, your entire sensor network goes blind. If it’s compromised, an attacker sees everything. If the company running it changes their terms, you’re locked in.
👤 No Identity
MQTT authenticates by IP address or username/password. There’s no cryptographic identity. If someone compromises your network and connects with the right IP, they get your data. There’s no way to cryptographically prove “this reading came from the actual sensor, not a spoofed connection.”
🔄 Race Conditions on Retained Values
MQTT’s “retained message” feature is broken by design. When a new subscriber connects, which value do they get? The latest? Which one is “latest”? MQTT has no causal ordering. If two sensors publish to the same topic simultaneously, you get race conditions and inconsistent state.
The LTP Solution
LTP fixes all of this, then goes further. Much further.
🔐 E2EE By Default
Every LTP session uses Noise XX handshake — the same cryptography that powers Signal, WireGuard, and modern secure messaging. Your data is encrypted end-to-end by default. No configuration. No certificates to manage. It just works.
🕸️ Peer-to-Peer Mesh
LTP has no broker. Nodes connect directly to each other in a mesh topology. If one node goes down, the network routes around it. There’s no central server to compromise. There’s no cloud dependency. The network works offline, in disaster scenarios, or under network partition.
🆔 DID-Based Identity
LTP uses SoulKeys — Ed25519 keypairs that form Decentralized Identifiers (DIDs). Your identity is cryptographic, not just an IP address. When a sensor publishes a reading, it’s signed by the sensor’s private key. Anyone can verify: “this reading came from the legitimate device, not an impostor.”
⏱️ Lamport-Stamped Retained Values
LTP solves the race condition problem with Lamport clocks. Every message carries a logical timestamp. When you subscribe to a topic, you get the latest value in causal order. No ambiguity. No race conditions. Just consistent, ordered state.
The 8-Byte Miracle
MQTT keepalive packets are ~20 bytes. LTP’s Micro-LCC keepalives are 8 bytes. That’s not just 60% smaller — it’s the difference between “works on WiFi” and “works on satellite.”
For a solar cooperative monitoring 1000 panels:
| Protocol | Daily Bandwidth | Works on Satellite? |
|---|---|---|
| MQTT | 18.75 MB/day | ❌ No |
| LTP (Micro-LCC) | 0.15 MB/day | ✅ Yes |
The 8-byte frame is small enough to fit in a single UDP packet, even with IP overhead. That means no fragmentation, no reassembly, no complexity. It just works — even on 9600 baud satellite links.
The Will-Message: Dead Man’s Switch
Here’s where LTP stops being “just better MQTT” and becomes something entirely new.
LTP supports Will-Messages: pre-signed payloads that execute when a device goes offline unexpectedly. This isn’t just “publish ‘offline’ to a topic” like MQTT. This is:
- Smart contract triggers: “If my solar panel goes dark for >5 minutes, automatically file an insurance claim.”
- Key rotation: “If I go offline, transfer signing authority to my backup device.”
- Asset inheritance: “If I die, transfer my NFT-VCs to my designated heir.”
- Governance votes: “If I can’t vote in this decision, cast my pre-committed vote.”
The Will-Message is DID-addressable. It can target a topic, a specific identity, or a smart contract. The relay doesn’t know or care whether it’s delivering a “sensor offline” alert or triggering a $50,000 escrow release. Same wire format. Same authentication chain. The target decides what to do with it.
Mechanism over policy, all the way down.
The Trojan Horse
Now we get to the interesting part. LTP isn’t just a product — it’s a distribution strategy for sovereign infrastructure.
The Adoption Funnel
LTP Website: "Encrypted IoT telemetry. No broker. No cloud. 8 bytes."
│
▼
Community installs LTP on Raspberry Pis for solar monitoring
│ (Running: UTCP + LCC + Micro-LCC + ns-msg + SoulKey)
│
▼
"We want messaging between members" → Feed activates
│ (Running: + Feed Protocol + OPQ)
│
▼
"We want to coordinate decisions" → Governance activates
│ (Running: + Dual Delegation + Chapter Genesis)
│
▼
"We want our own economy" → Token layer activates
│ (Running: Full Libertaria Stack)
│
▼
Congratulations, you're a Chapter.
Every LTP node is running the full Libertaria stack from day one. The governance layer is dormant, waiting. The identity layer is already there. The trust graph is already building. When the community is ready to self-organize, they don’t need to migrate to new infrastructure. They just… activate the next layer.
The Janus Angle
LTP is implemented in Janus — a systems programming language designed for sovereign infrastructure. The code looks like this:
// Complete, runnable LTP program
import ltp
sensor SolarPanel {
publish(
$ltp.ocean.{location}.solar.power,
{ watts: adc.read(0) * 3.3 },
retain: true
) every 30s
}
will {
target: $ltp.contract.insurance.claim,
action: .invoke("solar_offline"),
trigger: .missed_keepalives(10)
}
People see this and think: “Wait, the language has native telemetry? What else does it have?”
That’s the hook. Nobody goes back from syntax to library calls. MQTT has API calls. LTP has language primitives.
Use Cases: Real World
Solar Cooperatives
A community in rural Germany installs LTP on 500 solar panels. They get:
- Real-time monitoring without cloud dependency
- Automatic insurance claims on panel failure
- Encrypted data that the energy company can’t snoop
- A governance framework ready to activate when they want to self-organize
Weather Networks
Climate researchers deploy LTP nodes across a watershed. They get:
- End-to-end encrypted data (governments can’t intercept)
- Mesh networking that works when cell towers fail
- Retained forecasts for offline areas
- A trust graph that verifies data provenance
Pager Systems
A ski resort deploys LTP for avalanche alerts. They get:
- Emergency broadcast without infrastructure dependency
- Satellite fallback when all local networks fail
- Cryptographically authenticated alerts (no spoofing)
- Offline operation in dead zones
The Mascot: Spark
Every protocol needs a mascot. LTP has Spark — a small, glowing firefly-like creature with circuit patterns on its wings.
Symbolism:
- Firefly = Distributed, many small lights forming a mesh
- Glow = Encrypted communication (hidden, but present)
- Circuit wings = Technology + nature convergence
- Small size = 8-byte philosophy
- Swarm behavior = Peer-to-peer networking
Spark’s tagline: “Small light. Big network.”
Getting Started
# Install LTP CLI
curl -fsSL https://ltp.libertaria.dev/install.sh | sh
# Generate your identity
ltp keygen --output identity.did
# Start a node
ltp node --identity identity.did --port 9999
# Publish a reading
ltp publish sensor/berlin/temperature 23.5
# Subscribe to readings
ltp subscribe sensor/+/temperature
Hardware: Raspberry Pi (any model), ESP32 with 4MB flash, any Linux system, LEO satellites (yes, really).
The Breadcrumbs
Every LTP touchpoint links back to the larger ecosystem:
- LTP README → “Built with Janus” → Janus website
- Architecture docs → “L0 Transport layer” → Libertaria RFCs
- Identity system → “SoulKey DID” → SSI Stack documentation
- Governance → “Activate when ready” → Chapter Genesis guide
The goal: Nobody feels sold to. Everyone feels helped. The sovereignty is opt-in, layer by layer.
Technical Specifications
| Feature | Specification |
|---|---|
| Frame sizes | 40B (Micro) to 8812B (Jumbo) |
| Keepalive | 8 bytes (Micro-LCC) |
| Encryption | Noise XX handshake |
| Identity | Ed25519 SoulKeys (DIDs) |
| Throughput | 100K+ msg/sec per node |
| Latency | <1ms local, <50ms global mesh |
| Memory | 50KB runtime (Kenya profile) |
| Platforms | ESP32, Raspberry Pi, Linux, Satellites |
Conclusion
LTP is not just better MQTT. LTP is sovereign infrastructure disguised as IoT telemetry.
It solves real problems today: encrypted monitoring, brokerless architecture, causal consistency. But it also plants the seeds for tomorrow: self-organizing communities, cryptographic governance, programmable economies.
You don’t need to believe in decentralization to use LTP. You just need to want cheaper, private, more reliable sensor monitoring. The sovereignty is a side effect. The revolution comes free with purchase.
Learn More
- Website: ltp.libertaria.dev
- Documentation: docs.libertaria.dev (LTP specification coming soon)
- Source: git.libertaria.dev/libertaria/libertaria-stack (LTP protocol in
protocols/ltp/) - Mascot: Spark says hi ✨🪲✨
“Small light. Big network.”