Reticulum – Decentralized Mesh Network
reticulum.network
reticulum.network
Very often what comes as top priority is communication itself, which means radio-amateur radio frequencies where encryption is only available for signing messages but not the content.
Reticulum can be 100% private as it can choose to send packets in plain text. Can also broadcast messages without a specific target receiver, these are features that are necessary for radio transmission on amateur frequencies.
On LoRa: attention that default reticulum is still "too talkative". Meaning that in some LoRa frequencies there is a legal limit to how many messages (transmission time) your device can send per hour and even the automated announcements (to say "Hello, I'm here") quickly waste that available space.
On Internet: reticulum is great. I'm seeing about 700 connected devices across different hubs.
People often compare reticulum to Meshcore or Meshtastic but they often neglect one important aspect: those are exclusive LoRa implementations. Reticulum is the same protocol (language) no matter the network underneath. This means that you can connect a phone via BLE to a LoRa link which on the other side is connected on the Internet and then flies down to another BLE somewhere. This is not common to find on reticulum but possible.
There is a lot of good work on the topic. Maybe it will surface here on HN soon when more stable. In October there is an yearly event in Coimbra, Portugal where these topics are presented and tested in deep.
So it gets ride of IP addresses and can jump boundaries between different network types. I'm using it for BLE to BLE communication, I've seen videos of people using it for USB to USB communication. There aren't many limitations as long as data can flow.
How would that work? Do you have a link?
On the video was using for an embedded device without WiFi nor Bluetooth to communicate with the host computer where it was connected.
I'm now cautiously optimistic. This or something similar is likely the long term future of mesh networks, but in the short to medium term, meshcore is the way to go.
I don't want to shit-talk Ratspeak, but the foregone description of community and momentum seems far fetched. Additionally, the vibe is pretty off compared to Reticulum. Nothing here points to "successor" IMO.
Porting Nomadnet is not easy task at all even with these nice TUI libraries for Go...
Sure, but if it’s anything like MeshCore, a few observer nodes will be able to see which repeaters the message first entered the network from and from that know roughly where it was located.
The worst part privacy wise could be the announce packets which include a hop count and the address for the origin so if you had enough interfaces you could roughly say where a node is on a network graph (geo locating that is an entire other problem)
Privacy also depends on what interfaces you communicate over, eg TCP reveals IP addresses to the nodes you directly connect to (combine with hop counts to see if a packet definitely originated from that node), LoRa gives an idea of how close it might be because of its range limits and the fact radio emissions can be located.
There's a rust port of the Reticulum, but it's std rust, which has a similar problem to Python.
edit: The core problem isn't so much that it requires Python and a GPOS; it's that they don't publish a spec, and instead direct you to use their Python package; the code is the spec is another way of phrasing that.
PC not really required. 512MB of RAM and enough Linux to get Python will run Reticulum, on Raspberry Pi's for example.
It has a lnsd daemon which runs the full stack as a native binary and some firmware implementations (like for the Heltec T114).
With the Artificial Inanity systems and the Rampant Orphan Botnet Ecologies (ROBE) beginning to spew tremendous amounts of crap (a technical term) onto the Ret, things are getting tricky for us ITA.
Also reticulum and crypto seem like they go together. Non-http crypto transactions?
What about entirely-non-http blockchains?
A new bitcoin that is completely off the internet as we know it??
You can certainly bake in fairness, congestion control, etc. in the protocol level, but protocols require 2 participants to follow rules/spec to work, and if one side doesn't follow the rules/spec, at the very least some bandwidth will be consumed.
The only way to absolutely prevent DoS/DDoS is to have more bandwidth than all possible simultaneous attackers, or limit physical access to the medium. Cellular networks, for example, keep direct physical access to its medium under tight lock and key through proprietary, non-open-source baseband firmware.
I would say it has a fairly reasonable number of protections with things like being able to prioritise certain interfaces and controlling the announce rate from a node and rate limiting the number of announces a destination makes. What in particular is abusable?
Yeah it seems like you are in fact right...
[1] https://rns.recipes/forum/general/rns-150-testing-traffic-pr...
personally i find it a beautiful match
> The reticulum is the second chamber in the four-chamber alimentary canal of a ruminant mammal.
I guess, on the internet nobody knows you're a ruminant mammal...
We need to develop one universal standard that covers everyone's use cases.
Rayfish, Tailscale, ZeroTier, Netbird etc are a different category of tool, designed to facilitate connectivity between you and your own pool of machines. They don't generally do much in the way of multi-hop routing, but rather they orchestrate VPN tunnels on top of another routed network (like the internet).
Reticulum would be better compared to Yggdrasil, cjdns etc as routing schemes for larger networks or true meshes, which can work independently of (and have no dependency upon) the internet.
The full protocol spec is there, I built mine from this without even touching the reference implementation.
I suppose it means it's easier to develop the protocol only having to update one Python codebase but it does mean other implementations are kinda in a state where there isn't anything to properly verify they work.
There's also a issue with quite a few vibe coded implementations that don't actually properly work filling the space.
The internet may be ripe for disruption, as it has been domesticated for corporate use. It is no longer ours. Browsers have become an operating system unto themselves. Something much simpler would work also. Corporate bloat is continuing to pile up, while markdown evolves to do everything we want.
Is that even the right question?
I only read the intro message but the framing I arrived/guessed at was:
"open, distributed alternative to tailscale"
So I think my first usecase would be to use this instead of tailscale to connect to my Pi?
You're right, and I think a lot of these projects hit the same problem: "what can this offer me that centralized platforms can't?"
Take the Gemini protocol: if someone invents a "Gemini killer app" it can be replicated over the web because the web's features are a superset of Gemini's features. Medium is the centralized equivalent of traditional blogging. Spotify is eating podcasting. The whole indie web could be emulated by Meta (it's not currently big enough for them to care). Much like capitalism eating subcultures, the existing LCD internet will consume, commoditize and re-sell all alternatives.
The only exceptions I can think of are decentralization itself (centralization can only offer an emulation of decentralization) and freedom from corporate censorship, and not enough people care about them to make the switch.
I'd love to hear counterexamples if anyone has them, because I don't like this conclusion.
It's mostly one dude who really went into the depths of it, considered a lot of details and managed to deliver a resolute implementation and presentation. Judging by the Ayn Rand quote, I believe he may ideologically fall onto the regarded side of the anarchist spectrum and may be less motivated by humanitarian aspects, as you may otherwise expect for "crisis resistant" technology. The rest of the small community seems to be made of similar libertarian type individuals, which may be one of the reasons why it doesn't gain more support). Regardless, in terms of economics, I believe the author actually decided not to play, so you may ask yourself, if you may have asked a leading question. I believe the actual answer concerning motivation is this: For the fun, the challenge and the beauty of it. It's a PoC/reference of an idea, rather than the answer to an immediate or anticipated need.
The ecosystem as a whole is a most lovely project to dive into, lot's of nuances to explore. Ideological differences aside, I am positively at awe, what the author accomplished there. Here is a spoiler, something stuck with me: A single RNode is enough to bootstrap the entire Reticulum network stack. It's web-hosting the firmware, software and documentation, everything you need, and every RNode can become a wifi access point for ad-hoc distribution. Beautiful, thoughtful feature you may merely accidentally stumble into, as it's just an understated side-note. The "it's just one guy" critique hits differently, when you see the extent of what that "one guy" actually accomplished.
- We need hardware that solves radio mesh problems:
- Multifrequency (more than 8 bands and frequencies with different range) with programmable hopping between them (as opposed to LoRa default hopping which is random). I will use LoRa hardware for now on 169MHz to increase range and force frequency change in a non-random way. Still as mentioned LoRa rules cannot scale so we will have to build it in a non scalable manner and then change the limitations if adoptions ensues.
- The radios need to be able to receive on many frequencies at the same time, atleast for the stem nodes.
- We need glue between old sync. IP/TCP/UDP (HTTP/SMTP/DNS) and async. IP2/"events" as he calls them.- To scale geographical position is paramount and to remain independent of GPS we can use trilateration.
- The debate about encryption is a problem because it will have to evolve and to hardcode it into the base protocol will cause big disruptions down the road. I suggest the base layer is open and you apply encryption at the end; the reason for this is that privacy deters scalability and I prefer to have a truly scalable system that knows your position than the other way around. (also less chance the network can be used for military purposes then)
The resolution of range negotiation also has to be very granular: One freq. has to be the main "I'm here" channel and then dependent on density you have to releagate nodes to smaller and smaller range frequencies because a large city needs to cover a density of many thousand nodes per square kilometer.
So 169MHz is a good starting point (for range and less hops to reach bridge nodes) but you eventually need 433 and 868 too in the same device the main problem then becomes the antennas!!
To aim for complete decentralization over only radio is probably too optimistic, we could aim for distributed centralized independent networks instead with fiber interop so that mail and very simple web works on the base implementation to give immediate usability.
Finally a note on privacy, Tox is the only usable network that tried this and ohboy is it difficult to get any normal human being to adopt it when they have WhatsApp that has all humans on it allready.
To me unencrypted SMTP is a better attack vector because it is even more widespread and can be encrypted very easily later. Except of course destination encryption which works against scalability as I said previously.
The final reason I'm putting more energy into MMOs is that radio is easily disrupted and so far our existing internet show little technical reasons to abandon it yet. That can change in a heartbeat though.
Edit: Receiving my first meshtastic hardware for the C64 in a week or so but I still believe nobody has solved the scalability yet. I will eventually try to over at http://radiomesh.org
Why use AI to write Hacker News comments... to what end?