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.
rm30
19 days ago
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.
ssl-3
19 days ago
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?
rm30
19 days ago
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.
ssl-3
19 days ago
Yes. There's a lot of things to work out.
Here's one scenario:
Node A has a message to send to node H, but A is disconnected (no peers). Node A stores this message for eventual delivery.
Eventually, node K (ie "any valid peer") appears. Node A gives them the message that is intended for node H and rinses its hands of it.
Does node K's possession of this message actually improve the odds of node H ever receiving the message?
theshrike79
17 days ago
In theory, yes. There are now two nodes with the message for H.
In practice? A and H might live in the town and K might be just visiting for business, they might never come back.
ssl-3
15 days ago
Well, no: In the scenario I outlined, there's now still just one node with the message for H. A passed it to K, and promptly forgot about (having passed it along to "any" valid peer).
---
In your scenario, both A and K store the message for H -- suggesting replication (or perhaps, redundancy) by visiting peers. And maybe replication is OK.
It seems obvious that it can spiral out of control, but our pocket supercomputers do have a fair bit of bandwidth even at Bluetooth speeds, and flash memory is very cheap and available (a gigabyte of flash can hold a lot of short-ish text messages and costs very little).
So the network can afford quite a lot of replication in an effort to promote distribution -- and maybe that can work. Maybe the message isn't stored by just A and K, but also E, I, O, and U because they happened to stroll by and see the outbound message for H.
But there must be limits, if for no other reason than without limits then any single bad actor can ruin the whole works by exceeding the bandwidth and storage capabilities of the network.
These limits could be hop-based, or time-based, or geography-based, or any/all of the above.
Suppose a message lives until any of 50 hops or 5 days or 50 miles is exceeded? Yeah, maybe something like that works. The capabilities can be mathed to find some version of "ideal," and probably enforced somehow to prevent bad actors from doing too much bad stuff.
(But we're very rapidly straying very far from Fidonet's normal distribution behavior here, and dismantling that concept was the main crux of how I got to thinking about these things may theoretically work to begin with.)
barbs
19 days ago
It looks like Secure Scuttlebutt may also be relevant here, as it was designed with unreliable networks in mind.
MrDrDr
19 days ago
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?
rm30
19 days ago
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).
trueno
19 days ago
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.
3RTB297
19 days ago
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)
cykros
19 days ago
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.
itishappy
19 days ago
> 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.
Neither are real time once you introduce delayed communication. Not sure I see the distinction.
Actually, I'd argue that unreliable transport breaks the real-time assumption even without introducing delayed communication. Is there immediate feedback if your message can't reach it's destination?
screamingninja
19 days ago
Standards: https://xkcd.com/927/
throwaway82113
19 days ago
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
wongarsu
19 days ago
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
eloisius
19 days ago
E2E encryption probably isn’t enough to protect activists trying to organize. Without doing onion routing where you pre-compute some nodes it in the network that it MUST transit prior to delivery and having them decrypt it until it arrives to the recipient (like Tor) you still leak who’s talking to who.
thesuitonym
19 days ago
Neither E2EE or Tor are enough to protect someone being targeted by state level actors. They're helpful, but if you're a high enough value target, they only slow down your adversary. If you're relying on algorithms on your computer to protect you, you should be prepared to meet the hacking wrench. [1]
ShroudedNight
19 days ago
If the political environment gets bad enough, you may expect to die anyway, and the TTL difference that obfuscation provides means the difference between making a small improvement before the inevitable, or not.
trueno
19 days ago
> 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?
upofadown
19 days ago
If the user can get immediate access to older messages then normally those messages will be available on a confiscated phone. That's why things like Signal have you set a retention period. A retention period of zero (message is gone when it scrolls off the screen) is safest.
If you want to protect older messages you can have the user enter a passphrase when they are in a physically safe situation. But that is only really practical for media like email. Good for organizing the protest but perhaps not so great at the protest.
engineer_22
19 days ago
From white paper:
>At its core, BitChat leverages the Noise Protocol Framework (specifically, the XX pattern) to establish mutually authenticated, end-to-end encrypted sessions between peers.
ethin
19 days ago
I actually wrote a Noise implementation and someone wanted to make a Bitchat implementation with it, but my impl only supports BLAKE2B (and I got the impression this person really didn't know what they wanted to do in the first place). It's kinda sad more haven't moved to BLAKE2B (or BLAKE3, which I almost never hear anyone talking about).
n4r9
19 days ago
> 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.
brk
19 days ago
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.
firesteelrain
19 days ago
What you are talking about is called “store and forward” [1]
Angostura
19 days ago
Is the issue with this that mobile OSs - iOS in particular are rather aggressive about shutting down apps in the background after a while?
trueno
19 days ago
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