![]() |
|
![]() |
| would you be able to transmit under the noisefloor and integrate on the other side? i imagine it would still break the law, but you wouldn't be likely to get caught? |
![]() |
| Is there a more formal description of the algorithm? I'd be interested in understanding not the implementation, but how the algo has been constructed, to understand its strengths and weaknesses. |
![]() |
| Does Reticulum routing always prefer the path with the fewest hops, even if a path with more hops might have higher throughput or lower latency?
That's how I understand the manual (https://reticulum.network/manual/understanding.html): > Once an announce has reached a node in the network, any other node in direct contact with that node will be able to reach the destination the announce originated from, simply by sending a packet addressed to that destination. Any node with knowledge of the announce will be able to direct the packet towards the destination by looking up the next node with the shortest amount of hops to the destination. |
![]() |
| 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. |
![]() |
| 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. |
![]() |
| > It can be useful work
It can be in theory, but in practice there are no tasks that fit the definition. All attempts to use something like protein folding ended up in failure. |
![]() |
| There is no “the set” of trusted notaries
Each coin has a few notaries — not the majority of the network. Did you even glance at all at the arxiv paper? |
![]() |
| 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.” |
![]() |
| At this point, unless you want to pay for it or drive the fundraiser, I don't think it is reasonable to expect non-commercial products to be audited formally. |
![]() |
| uses https://github.com/markqvist/Reticulum
> Coordination-less globally unique addressing and identification > Fully self-configuring multi-hop routing > Unforgeable packet delivery confirmations > Initiator anonymity So the noisiest protocol ever with zero flood protection? Anyone knows better than my superficial hot take? But I doubt they solved those problems for real, that would be real news and academic progress. |
![]() |
| i agree about the blockchain, though now possibly there are multiple viable approaches under that rubric now that ethereum has abandoned pow
there are a lot of possible approaches to the problem, though hashcash for announcing new destinations is one possible measure reserving most of the bandwidth for established connections to which both parties are indicating their continuing enthusiastic consent is another, and one which the circuit-switched pstn does implicitly, which is why your phone calls wouldn't drop or skip when there was a commercial break in prime-time tv. reticulum seems to do this by reserving 97% of bandwidth for non-announcement traffic, though i might be misunderstanding the agorics 'digital silk road' paper from 01995 (unrelated to the later darknet market) describes another approach: include a source route and postage on every packet, with each network provider deducting however much postage it feels like deducting, and keeping track of bilateral account balances with each peer network (postage sent minus postage received). if the postage runs out, your packet gets lost, and the sender can choose to try resending it over the same route with more postage or routing it over a less expensive network. periodic cash settlement between network service providers zeroes out any persistent imbalance in cash sent and received: http://www.cap-lore.com/Agorics/Library/dsr.html. i don't think this has ever been implemented, though current nsp peering agreements do resemble it to some degree. the original paper suggested using eft for the periodic settlements, but nowadays you could very reasonably do it with something like ether you can supplement the established-connection-prioritizing mechanism with a granovetter-diagram introducer mechanism: if alice has an established connection to bob, and bob has an established connection to carol, bob can dedicate some of his bandwidth on those two connections to passing messages between alice and carol. he can do this either completely at the application layer, with no support from lower layers of the network, like an irc server or turn server, or potentially with support from the network layer to find a more efficient and reliable route. (reticulum seems to support this; bob can pass alice's destination to carol or vice versa, which the manual seems to say eliminates the need for the announce mechanism, though i don't yet understand how the protocol works.) this allows bob to prioritize such connection requests using information that isn't available at the network layer, such as whether alice and/or carol have passed a captcha and/or are paying him, who they were introduced to him by, who they've introduced him to in the past, and what valuable data they've sent him. if bob repeatedly introduces alice to people she doesn't like talking to, she might cut off contact with bob, or at least look on his future introductions with a jaundiced eye and not allocate them much bandwidth |
![]() |
| I'm not sure there is a formal threat model yet (I'm not a maintainer), but there has been discussion regarding this topic. You can checkout the Github forum page (https://github.com/markqvist/Reticulum/discussions) and there is also an Element channel at #reticulum:matrix.org
The threat model would be highly dependent on the carrier used. For example, if you're using LoRa an adversary would be using far different methods of disruption when compared to a traditional overlay network. |
![]() |
| 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. |
![]() |
| It's an exciting dream.
Even better than hand crank or solar would be miniature nuclear batteries that run for a decade or two. Can't wait for those to become available commercially. |
![]() |
| More likely to end up compromised but available - like Tor, where the NSA just runs a sufficient number of nodes to compromise the network. |
Reticulum can work over anything that has a throughput greater than 5 bits a second (yes, bits) and a MDU of 500 bytes. Not only can it work over hundreds of different carriers (LoRa, BLE, Packet Radio, overlay networks like Tor and I2P) but each of these carriers can be apart of the same network.
I threw together a quick proof of concept of it working over HF radio. I setup two nodes about 144 km (90 miles) separate. Both were ICOM-7300's with a Raspberry Pi 5 driving the software modem that would take packets from Reticulum and send them over the air. https://www.youtube.com/watch?v=blwNVumLujc
Node 1 was out in the field while Node 2 was back at my house. Node 2 had two interfaces setup, one for the HF modem and another connected to the TCP testnet. This means that Node 1 could access any peer that was over on the TCP testnet.
Here is a quick primer on Reticulum that explains some of the basic concepts: https://www.youtube.com/watch?v=q8ltLt5SK6A