I was doomscrolling X (as one does), when suddenly — boom — Jack Dorsey drops a tweet like:
“my weekend project to learn about bluetooth mesh networks, relays and store and forward models, message encryption models, and a few other things.
bitchat: bluetooth mesh chat...IRC vibes.”
And I’m like... wait, Jack Dorsey? Like Twitter Jack? Like Square Cash App Beard Monk-turned-Cypherpunk Jack?
He dropped a link. I clicked. It’s called BitChat.
And immediately I’m like:
“Wait… is this another blockchain thing? Please no. I’m tired.”
But… it’s not. It’s something way weirder. And cooler. And maybe — maybe? — important?
⛺ A Chat App for Protesters, Campers, or the Apocalyptically Paranoid
So BitChat is a messaging app that works without the internet.
Like, literally. No WiFi, no mobile data. Just Bluetooth. More specifically: Bluetooth Low Energy (BLE) mesh networking.
Each phone becomes a node in a mesh. Messages hop from device to device, kind of like digital gossip — no central server, no cloud.
Which means:
- No phone numbers
- No emails
- No accounts
- No metadata
- No government takedown buttons
At this point I’m already whispering to myself: “Is this legal?”
🤨 “Okay but wait — BLE? Isn’t that... tiny?”
Yes. BLE has a range of like 30-ish meters. So we’re talking real meatspace proximity here.
But here’s the clever bit: the whole network relays messages hop-by-hop. Like if Alice is near Bob, and Bob’s near Carol, then Alice can send a message to Carol through Bob.
🧩 What Surprised Me: There’s So Much Going On Under the Hood
Here’s what I thought it was:
“Cool, it’s AirDrop but more goth.”
Here’s what it actually is:
- A mesh routing protocol
- TTLs to limit message lifespan
- Ephemeral identities
- End-to-end encryption (X25519 + AES-256-GCM)
- Optional password-protected channels
- Message fragmentation & reassembly
- Store-and-forward for offline devices
- Compression (LZ4) if the entropy gods allow
- Battery-aware connection strategies
- And — I kid you not — cover traffic
Cover traffic = fake messages your phone sends randomly to mask the timing of real ones.
🧠 This Part Broke My Brain a Bit
They explain how message relaying works using TTLs (Time To Live). A message gets created with TTL=7. Each hop decrements it. When TTL hits 0, it dies.
And I had this mini brain explosion:
“Wait... is this just the networking stack reinvented for Bluetooth? Are we doing IP routing... with legs?”
Also, peer discovery is slick. Every phone is both central and peripheral. They're both shouting and listening simultaneously.
💭 Internal Debate Time
🥸 Paranoia, But Make It Fun
There’s something very spy-movie-meets-hacker-conference about this. Like:
“Let’s meet at midnight behind the safehouse. Turn off your WiFi. Use BitChat. Bring your own salt.”
Reminds me of FireChat, which blew up during the Hong Kong protests. But BitChat feels more… mature? Thought-through? Paranoid?
Like FireChat was a group text with a Bluetooth crutch. BitChat is a protocol suite disguised as a weekend project.
Also, the password hashing setup is modern:
- Argon2id
- 64MB memory
- 10 iterations
- Channel name hashed as salt
Jack's casually implementing cryptographic best practices while I'm still out here typing bcrypt(10)
and hoping for the best.
🧵 Little Things That Made Me Go “Huh…”
- Message fragmentation with START, CONTINUE, END — like baby TCP.
- Timing randomization (50–500ms) to foil traffic analysis.
- Favorite peer cache with higher message retention.
- Optional Ed25519 signatures for plausible deniability.
- Cover traffic that actually mimics realistic messages.
- Future transport plans: WiFi Direct, Ultrasonic, LoRa. (Because yes, obviously we’re gonna talk to phones via sound now.)
📡 Nostr Bridge? Excuse Me?
At the very end of the whitepaper, there’s this wild suggestion:
What if we bridged local BitChat meshes over the Nostr protocol?
Like… keep things offline by default. But if you opt in, your phone could forward messages to a Nostr relay. Then someone across the world — with another bridge — could pick it up.
That’s not just clever — that’s cypherpunk. Bridging ephemeral, anonymous, mesh-based, peer-to-peer chat over a decentralized pub-sub protocol.
So Where Does This Leave Me?
I don’t know. I’m a little dazzled. A little skeptical. A lot impressed.
Is it going to replace Signal? No.
Is it a normal person product? Also no.
But that’s kind of not the point.
It’s a statement. A “what if?”
A protocol you might boot up when everything else fails.
A blueprint for a future where the grid is down, but people still find a way to talk.
🔚 TL;DR Reflection (If You’re Still Here)
- Do I get it? Mostly. The whitepaper is surprisingly readable.
- Would I use it? At a hackathon? Yes. A protest? Maybe. Daily? Nah.
- Is it over-engineered? Yes. But beautifully.
- Is it impressive for a weekend? INSANELY SO.
- Am I inspired? Honestly... yeah.
If nothing else, BitChat reminds me that when you strip things down — no cloud, no accounts, no IDs — communication becomes... almost magical again.
🔗 Links
Thanks for reading! Would love to hear what you think — would you use BitChat? Would your friends? What would make this kind of system go mainstream (or should it stay underground)?
Top comments (0)