Hacker Newsnew | past | comments | ask | show | jobs | submit | LinuxinaBIt's commentslogin

Some FAQs for those who are interested in the Reticulum Network Stack:

https://github.com/markqvist/Reticulum/wiki/Frequently-Asked...

It covers questions like:

- How is Reticulum different from Insert System Here?

- What's the legality of the system?

- What's to stop someone from flooding the network?

And many others.


Sideband, another LXMF/Reticulum client, has an IOS beta here: https://github.com/markqvist/Reticulum/discussions/307 (currently the TestFlight link is https://testflight.apple.com/join/ftgW9n0Z but that might change in the future).

Of course it has issues running the in the background, but there are possible solutions to this, like having Reticulum run entirely on an RNode, and it is being worked on somewhat actively.


It’s hard to compare things that are so different like that, but I will try.

Scuttlebutt: Reticulum is a network stack for routing data in real time, not a decentralized social network.

Nostr: See Scuttlebutt

IPFS: Reticulum transfers data, it does not store it (though some protocols that work over Reticulum like LXMF optionally have functionality that allows for temporary message storage)

Yggdrasil is the closest analog to Reticulum you mentioned, but unfortunately from a cursory search I could not find any details about how it works. I can see that it currently works only over IPv6 (with IPv4 tunnels of some kind), unlike Reticulum which works over anything.

I suggest at least reading http://reticulum.network/manual/understanding.html to see how Reticulum works, if you are interested.


RNode is a transceiver program installed on a LoRa board to allow Sideband, Meshtastic, etc. to connect to a Reticulum network over LoRa.

I think you’re looking for the C++ implementation of Reticulum made specifically for microcontrollers instead: https://github.com/attermann/microReticulum_Firmware https://github.com/attermann/microReticulum


Reticulum uses absolutely no blockchain. It uses a fairly novel routing strategy with something called announces.

Read this page to learn more about it: https://reticulum.network/manual/understanding.html

TL;DR it only flood routes packets that tell the network the location of a node; each node stores the “next hop” to get to every other node on the network. Everything else is routed along a single path determined by those “next hops.”


What stops me from flooding the network with 10^12 of fake addresses?


The intended solution seems to be a 2% bandwidth limit for announcements and a preference for lower hop-counts to keep your flooding local.

There's a FAQ item on this: https://github.com/markqvist/Reticulum/wiki/Frequently-Asked...


I like the way you’re thinking but it doesn’t necessarily work like that in practice. Why? Because of how announce queues work, each interface has its own queue, and announces are limited very specifically to 2% of a channel’s bandwidth.

This means that announces are much more likely to be transferred over the faster medium first, resulting in paths that are on average the most reasonable balance between speed and distance.

If that doesn’t make sense at first, I get it. I find trying to visualize how it works really helps. Reticulum is conceptually so different from anything else out there that it takes a while to understand.

See http://reticulum.network/manual/understanding.html#the-annou... for more details.


That does make a lot of sense, at least in terms of latency: I imagine that when a one-hop announce comes back from outer space, the faster multi-hop path across town will have already been established.

For bandwidth, however, I don't see it yet. If all relevant nodes are idle at the time an announce comes in (so the 2% limit doesn't come into effect), a low-bandwith route might be established before one with a much higher bandwidth, no? (Prioritising latency over bandwidth can be the right thing to do, of course, depending on what the network is used for. But it might not.)


Sure, in some cases, when the network has fewer announces to deal with, the 2% limit has less effect, the best way Reticulum can deal with this is with a network made out of more specialized node types connecting the lower speed links (http://reticulum.network/manual/interfaces.html#interfaces-m...)

However when the network (and each node) is receiving enough announces to saturate that 2% chunk of most smaller links, those interfaces prioritize announces with less hops, and there is a queue, meaning it takes that interface longer to transport announces coming from further away. This makes it much more likely that nodes will form routes over a faster but longer path.


> Sure, in some cases, when the network has fewer announces to deal with, the 2% limit has less effect, the best way Reticulum can deal with this is with a network made out of more specialized node types connecting the lower speed links (http://reticulum.network/manual/interfaces.html#interfaces-m...)

I see. So it seems that optimizing a complex network can be a little more hands-on, not completely automatic (which would be a bit too much to ask, thinking about it). I guess my hypothetical path via outer space would have a "boundary" mode node somewhere on the way, although I am still fuzzy on how exactly this would affect things.

And your point about the announce queue with saturated 2% bandwidth is clear.

Thanks so far! This makes me want to read the rest of the manual and possibly start tinkering with Reticulum myself at some point.


Yeah, exactly what each type of node does gets a bit into the weeds where even I don't really know. You can ask in the Github Forum (https://github.com/markqvist/Reticulum/discussions) or Matrix Room (https://matrix.to/#/#reticulum:matrix.org) if you need more detailed information :)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: