Chapter 9 — Decentralized IoT: Streamr and What Open Networks Offer
Every MQTT broker is a single point of failure. Your smart home depends on a process running on a Pi or a VPS. When that process dies, your sensors publish into a void.
Decentralized pub/sub networks offer an alternative: a peer-to-peer infrastructure where there is no central broker, no single point of failure, and — theoretically — no dependency on any single operator.
Streamr: The Architecture
Streamr is a P2P network for real-time data. Devices publish to a “stream” identified by an address. Subscribers anywhere in the world can listen to that stream. The routing is handled by the Streamr network of nodes, not by a central server.
For IoT use cases, this means:
- A sensor in your home can publish temperature data to a Streamr stream
- A dashboard in a different country can subscribe to that stream in real time
- If any node in the Streamr network fails, the data routes around it
The practical questions:
- Latency: slightly higher than a local MQTT broker, lower than a cloud MQTT service
- Cost: Streamr uses a token (DATA) for micropayments, but basic use is effectively free
- Reliability: dependent on the health of the Streamr network, which is improving but not yet at “production for critical infrastructure” level

Shodan: The Reminder About Exposure
Shodan is a search engine for internet-connected devices. It continuously scans the public internet and indexes everything it finds — open ports, device types, software versions, default credentials still in use.
Search for “MQTT” on Shodan and you will find thousands of MQTT brokers exposed to the public internet with no authentication, broadcasting the sensor data of homes, factories, and critical infrastructure to anyone who looks.
This is the practical reason to understand network exposure before thinking about decentralized IoT: the question is not just “how do I share my data?” but “who can see it when I do?”
For a homelab IoT setup:
- Never expose your MQTT broker directly to the internet
- If you need remote access, use a VPN (WireGuard is the right choice — fast, simple, minimal attack surface)
- Use MQTT authentication even on your local network
- Audit what’s running with
nmapordocker psbefore assuming your network is private
Takeaway: Decentralized networks are interesting but not yet the default for homelab IoT. Know what you’re exposing before you expose it. Use WireGuard for remote access, not open ports.