Comment by nicois
19 days ago
One missing feature: deferred message propagation. As far as I understand, while messages will be rebroadcast until a TTL is exhausted, there is no mechanism to retain in-transit messages and retransmit them to future peers. While this adds overheads, it's table stakes for real-life usage.
You should be able to write a message and not rely on the recipient being available when you press send. You should also be able to run nodes to cache messages for longer, and opt in to holding messages for a greater time period. This would among other things allow couriers between disjoint groups of users.
I’ve read all the posts and, as the 'old man of the village', I would suggest taking a look at FidoNet. It was running 40 years ago, for more than a decade, before the internet was available to the average person.
Store-and-forward, hierarchical organization, scheduled transmissions, working over dial-up and radio links, everything is there.
There is nothing new to invent, and it was far more reliable than the 10m real-world range of BT5 (not the 1km claimed for lab devices, which aren't commercial phones).
A BT5 mesh only works under well-defined conditions, which usually coincide with the cases where you don't actually need it.
FidoNet has a lot of it solved, for sure. But doesn't it rely upon pre-configured paths between nodes in order to handle message routing?
If so, then: Wouldn't it fall down completely when operating in the ever-shifting and inherently disorganized environment that a sea of pocket supercomputers represents?
I don’t take concepts as a 'full package'. I evaluate what is worth taking based on the requirements. The brilliant part of FidoNet is the asynchronous persistence.
In a 'sea of supercomputers,' a real-time mesh (like Bluetooth) fails because it requires an end-to-end path right now. Store-and-Forward allows a node to hold a message until it 'sees' any valid peer, turning every 'meat-bot' into a mobile post office.
My main concern with this entire discussion is the reliance on Bluetooth to achieve the result.
If we truly want to build a free and open intercommunications system, we must put all ideas on the table, establish clear targets (a doomsday system or inviting a friend for a drink), and evaluate what is truly available versus what is not.
Only from that foundation can we begin to define a project that survives the real world.
3 replies →
It looks like Secure Scuttlebutt may also be relevant here, as it was designed with unreliable networks in mind.
https://en.wikipedia.org/wiki/Secure_Scuttlebutt
Thanks for posting - this is really interesting. An idea perhaps whose time may have come. Out of interest (no criticism implied) but do/have you use this tech? and if so what was your experience?
I never actually used Fidonet. I started on BBS systems just as the internet was becoming affordable, and I made the switch early.
However, I apply the concepts of FidoNet almost every day. I often design offline-first devices, where store-and-forward logic is a necessity, not an option. Many are deployed in remote areas where signals are never optimal, there a High-Gain Antenna is the only solution.
I also prioritize binary protocols over structured JSON; you have a much higher probability of delivering a few hundred bytes of binary data than a bloated text object when the link budget is tight. Finally, I never expect Wi-Fi to work beyond 5-10m when the router is placed inside the metal structure (that's why my skepticism about BT on cruise ship).
that is a super good callout.
this is prob the 100th time ive read about bitchat here, and the comments are largely the same (use briarchat, none of these really work that well, i dont like jack dorsey, etc) every time.
but this is interesting. and i agree strongly with this: "While this adds overheads, it's table stakes for real-life usage."
i suppose events like iran are really making me wonder if this stuff is possible it feels like anyone who's under the chokehold of regimes has completely run out of options, but even in America I'm getting the sweats wondering if there's going to be a time where such techs are needed. from what i gather none of these decentralized p2p messengers work well at all, but I also haven't truly tried. I can think of some moments that would've been viable test grounds though. Was at Outsidelands festival in San Fran and cell service was pretty much DOA due to the volume of people trying to hit the same tower(s). Even airtags which everyone in the group had on their beltloop weren't working.
It's funny how 3 or 4 similar BLE systems each are slightly different, and yet no one wants to just merge all the features for an obviously superior product. Everyone seems fine squabbling about which incomplete app/system is better.
Just take what's there and include the obvious next steps:
- Meshtastic and Meshcore ability to use relay nodes for long range BLE networks (Briar doesn't allow)
- Store and hold encrypted messages, as noted above.
- Ability to route through the internet, prioritize routing methods, disable internet routing, etc.
- Ability to self-host server for online relays (similar to Matrix)
Bitchat does work with Meshtastic as of the most recent release. It also lets you self host a relay, because it uses Nostr relays. I'm not so sure about white/black listing so yours DOES get used, but you can absolutely host one. Routing through the Internet is something both Bitchat and Briar support, Briar through tor, Bitchat through Nostr (optionally also through tor). Disabling Internet routing at this time may require turning off Internet for Bitchat -- haven't dug on that one.
I do like the store and forward idea, though a thought on that is that while it makes sense for DM's, it makes less sense for group chats, which, being real time, make the shelf life of messages a bit short. It makes good sense for forum like content though. I think so far Bitchat has treated this as a bit out of scope, at least at this stage of development, and it is a reason that indeed, Briar is still quite relevant.
Bitchat only just recently even added ad hoc wifi support, so it's still very early days.
1 reply →
Standards: https://xkcd.com/927/
Lack of retention can actually be a feature in these types of situations. It should be opt-in. The government would actually need to infiltrate the network in order to read the conversations, instead of just retrieving the messages from the cache on a confiscated phone
I'd consider end-to-end encryption to also be table-stakes, at least opportunistically after the first message in each direction. With encryption cached messages are far less harmful (though still leaking very useful metadata), without encryption it seems almost trivial to spy on any communications
3 replies →
> instead of just retrieving the messages from the cache on a confiscated phone
why wouldn't encryption be a part of recipe here rendering government acquisition of such a cache moot?
5 replies →
> The government would actually need to infiltrate the network in order to read the conversations
If I understand correctly, this would still be true if the recipient is connected.
Not just deferred message propagation, but also a way to setup medium to high powered rebroadcasting stations. For political unrest scenarios, you don't always need 2-way communication, but you do need to distribute critical info. A listen-only mode makes it very difficult to track individual users (no RF transmissions), and would cover a large percentage of a critical use case.
All of this is solved with the store-and-forward model that you highlight.
A Lora dongle seems to be better than BT, though potentially incriminating.
What you are talking about is called “store and forward” [1]
1. https://en.wikipedia.org/wiki/Store_and_forward
Is the issue with this that mobile OSs - iOS in particular are rather aggressive about shutting down apps in the background after a while?
iOS definitely made a name for itself to the ire of many for this many moons ago, but it's a fairly ubiquitous default behavior for mobile phone operating systems now (because battery life) even on android