Remix.run Logo
nicois 8 hours 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 an hour ago | parent | next [-]

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.

MrDrDr 29 minutes ago | parent [-]

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?

trueno 7 hours ago | parent | prev | next [-]

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 4 hours ago | parent | next [-]

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 3 hours ago | parent | next [-]

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 an hour ago | parent [-]

> 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 4 hours ago | parent | prev [-]

Standards: https://xkcd.com/927/

throwaway82113 6 hours ago | parent | prev [-]

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 6 hours ago | parent | next [-]

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 4 hours ago | parent [-]

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 2 hours ago | parent [-]

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]

[1] https://xkcd.com/538/

trueno 5 hours ago | parent | prev | next [-]

> 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 4 hours ago | parent | next [-]

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 5 hours ago | parent | prev [-]

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 2 hours ago | parent [-]

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 6 hours ago | parent | prev [-]

> 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 4 hours ago | parent | prev | next [-]

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 5 hours ago | parent | prev | next [-]

What you are talking about is called “store and forward” [1]

1. https://en.wikipedia.org/wiki/Store_and_forward

Angostura 5 hours ago | parent | prev [-]

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 4 hours ago | parent [-]

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