核心问题: BLE 加 Nostr 的双传输架构,是否比标准端到端加密通讯更契合你的威胁模型?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 89/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 5 个来源、覆盖 4 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 7 个工作流步骤、6 个下一步动作,以及 1 个命令/安装信号。
趋势热度为 +1,198 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 7 条安全说明与 4 条跳过条件。
3 个机会视角、4 个替代方案,以及 3 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 2 个 AI/Agent 相关信号。
项目概览
bitchat 是一款用 Swift 编写的去中心化点对点通讯应用,以 iOS 和 macOS 通用应用形式发布。它的核心是双传输架构:本地蓝牙低功耗 mesh 用于离线通讯,Nostr 协议用于互联网可达时的全球通讯。README 直接把它定位成 “the side-groupchat”——没有账号、没有手机号、没有中心服务器。
离线路径是 bitchat 最具差异化的部分。设备之间通过蓝牙 LE 互相发现,并在最多 7 跳之内转发消息,因此一条消息可以越过单个无线电的范围,且完全不依赖基础设施。当互联网可用时,应用会回退到 Nostr 中继——README 称已接入超过 290 个——并使用 geohash 坐标构建覆盖全球的地理位置频道。
安全并非事后补丁。私信在 mesh 上使用 Noise Protocol,在 Nostr 上使用 BitChat 自有的加密信封。应用提供熟悉的 IRC 风格命令(`/slap`、`/msg`、`/who`),内置三连击紧急擦除,并通过 LZ4 压缩和自适应电池模式优化性能。仓库还遭遇过下架要求,README 因此提供了 docs/VERIFYING-A-BUILD.md 中的每次发布哈希清单。
为什么现在变热
- 2026-07-27 周期内获得 1,198 颗星,趋势排名第 2,表明这款离线通讯应用正快速受到关注。
- 蓝牙 LE mesh 加 Nostr 中继的双传输设计,在 Swift 原生聊天应用中相当罕见。
- 没有账号、没有手机号、没有服务器,降低了处于敌对或高监控网络环境中用户的使用门槛。
- IRC 风格命令和基于 geohash 的地理频道带来极具辨识度的界面体验。
- README 公开承认遭遇下架要求并指向构建校验文档,提升了项目在安全敏感用户中的可信度。
解决什么问题
- 主流通讯应用依赖中心服务器和手机号身份,在基础设施不可用或注册环节被监控时即失效。
- 灾害救援、抗议现场和野外作业往往没有任何稳定的互联网通路。
- 许多“隐私”应用仍通过手机号发现、推送 token 注册或中继侧账号绑定泄漏元数据。
- 既有的 mesh 工具往往平台割裂、难以校验,或在 iOS 与 macOS 上无支持。
工作原理
- 从 App Store(bitchat-mesh,id6748219622)安装,或按 docs/VERIFYING-A-BUILD.md 校验后从源码自行构建。
- 生成本地身份密钥——不需要手机号,也不需要账号。
- 附近设备通过蓝牙 LE 互相发现并组成 mesh;消息按文档所述最多经 7 跳在设备间转发。
- mesh 上的私信使用 Noise Protocol 会话,且对在线会话提供前向安全性。
- 当互联网可达时,应用回退到 Nostr 中继,把私有载荷封装进 kind-1059 事件中的 BitChat 私有信封。
- 加入基于 geohash 的地理频道,或使用 `/who`、`/msg`、`/slap` 等 IRC 风格命令交互。
- 需要时三连击触发紧急擦除,立即清除全部本地数据。
架构解读:双传输到底如何衔接
- 蓝牙 LE mesh 负责离线通讯,支持节点发现、多跳转发,文档明确最大 7 跳。
- mesh 私信使用 Noise Protocol,对在线会话提供前向安全性;存储转发的邮件则不带前向安全封装,README 指向白皮书作了说明。
- Nostr 传输连接超过 290 个中继以实现全球可达,并使用 geohash 坐标构建地理频道。
- Nostr 私有流量使用 BitChat 私有信封,封装在 kind-1059 事件里,其 `v2:` 前缀内容是 BitChat 自有的 XChaCha20-Poly1305 构造,明确不兼容 NIP-17、NIP-44 或 NIP-59。
- 每个 geohash 区域使用临时密钥,降低跨位置的可链接性。
- 性能优化包括 LZ4 消息压缩、自适应电池模式,以及为蓝牙 LE 限制优化的二进制封包格式。
上手路径:在信任之前先校验构建
README 明确说明:除了 App Store 或你自行校验过的源码构建之外,来自其他任何地方的编译产物都无法核对。请从 App Store 列表 apps.apple.com/us/app/bitchat-mesh/id6748219622 安装,或克隆 permissionlesstech/bitchat,按 docs/VERIFYING-A-BUILD.md 把源码与每次发布的哈希清单对比。
在蓝牙范围内的两台设备上打开 `mesh #bluetooth` 频道,运行 `/who` 列出附近节点,用 `/msg` 发送私信以确认 Noise 会话建立。然后关闭两台设备的网络,确认消息仍能跨跳转发。最后再恢复网络,确认 geohash 频道能够触达 Nostr 中继。三连击紧急擦除应放在最后测试,以便确认所有本地数据都被销毁。
维护风险:志愿项目,范围有限
- SECURITY.md 直言 bitchat 由志愿者维护,目标响应时间在一周以内,且没有漏洞赏金。
- 修复只发布到最新的 App Store 版本和 `main` 分支,旧版本不再维护。
- 仓库曾遭遇下架要求;仓库或发布页一旦消失,可能出现无法核对的镜像。
- 据 SECURITY.md,历史上确认的协议与密钥处理问题通常在数天内修复。
谁适合关注
适合关注
- 需要在蜂窝与 Wi-Fi 不可靠时仍可沟通的现场团队、灾害响应小组和活动工作人员。
- 希望在没有手机号、账号和中心服务器前提下通讯的隐私用户。
- 希望在 mesh 通讯应用中得到原生 IRC 风格命令界面的 iOS 和 macOS 用户。
- 希望审计 Noise-over-BLE 与私有 Nostr 信封格式的安全研究者。
可以先跳过
- 需要保证多日消息送达与服务端搜索的团队。
- 需要与其他 Nostr 客户端互通 NIP-17、NIP-44 或 NIP-59 的用户。
- 需要供应商 SLA、付费支持或正式漏洞赏金计划的组织。
- 不能接受 BLE 邻近可被观测、mesh 广播内容公开属于既定设计的用户。
风险与注意事项
对离线优先场景的威胁模型契合度高,但志愿维护和私有 Nostr 信封限制了规模化与互操作。
- SECURITY.md 明确为志愿维护,且无漏洞赏金。
- Nostr 私有信封为 BitChat 自有,明确不兼容 NIP-17、NIP-44、NIP-59。
- mesh 广播、昵称、公钥与 geohash 频道内容按设计即公开。
- 旧版本不受支持,只有最新 App Store 版本和 `main` 接收修复。
- 存在下架要求,用户在信任二进制前必须按 docs/VERIFYING-A-BUILD.md 校验构建。
- mesh 上使用 Noise Protocol 进行端到端加密,在线会话具备前向安全性。
- Nostr 私信使用 BitChat 私有信封——kind-1059 事件内的 XChaCha20-Poly1305 自有构造,而非 NIP-44。
- 按设计不需要账号、手机号或中心服务器。
- 三连击紧急擦除列入 SECURITY.md 的范围内,必须真正销毁其声称销毁的数据。
- 降级路径——任何将流量从加密路径悄然转为明文的行为——明确属于漏洞范围。
- Tor 路由正确性与 vendored 二进制的供应链完整性均被列为范围内的安全属性。
- 公开的 mesh 广播、BLE 邻近可观测、mesh 泛洪与第三方中继行为被明确列为范围外,而非漏洞。
替代方案比较
| 方案 | 适用场景 | 代价 |
|---|---|---|
Briar | 需要成熟的跨平台 mesh 通讯,配合 Tor 互联网传输与长文论坛时。 | 免费,GPL 授权。 |
Signal | 希望使用审计最充分的端到端加密通讯,且不需要离线 mesh 时。 | 免费。 |
Nostr 客户端(如 Damus) | 优先考虑与更广泛 Nostr 生态原生互通 NIP-17/NIP-44/NIP-59 时。 | 免费。 |
Bridgefy | 需要商用蓝牙 mesh 通讯,覆盖更多设备并有付费支持时。 | 免费,含商业套餐。 |
这个趋势说明了什么
离线优先的现场通讯
BLE mesh 最多 7 跳、不依赖互联网,契合灾害响应、活动和野外作业等基础设施不可用的场景。
在飞行模式下进行双机测试,确认通过 `mesh #bluetooth` 的 `/who` 与 `/msg` 能送达消息。
抗审查的群组聊天
无账号、无手机号,并可回退到 290+ 个 Nostr 中继,降低了监控与下架的攻击面。
开启网络后确认 geohash 频道可达 Nostr,再用三连击擦除验证状态被清除。
安全研究面
BitChat 私有信封与 Noise-over-BLE 路径是具体的协议与密钥处理审计目标。
阅读 WHITEPAPER.md,再按 SECURITY.md 要求通过 GitHub 私密漏洞报告提交发现。
RepoDaily 判断
bitchat 是一款极具辨识度的 Swift 通讯应用:离线走 BLE mesh,在线走 Nostr,IRC 风格命令,没有账号。其私有 Nostr 信封、志愿维护以及文档中坦承的 mesh 元数据暴露,使其非常适合离线优先与抗审查场景,但并不适合作为主流加密聊天的直接替代品。