Jack Dorsey的离线聊天软件:没网也能把消息传出去(jack原版) szthrk.cn

这两天把Jack Dorsey新开源的那个离线聊天软件翻出来研究了一遍,越看越觉得有意思。这项目叫bitchat,上周在GitHub涨了五千七百多颗星冲上周榜头名,总量直奔三万五。Dorsey就是联合创办Twitter、又做出Square支付的那位,他这两年很少亲自出手做产品,一出手就是这种方向另类的东西。

先说这个软件是干嘛的。一句话概括:没有网络也能聊天。

你可能觉得奇怪,现在4G5G这么普及,WiFi到处都是,怎么会有没网的时候。场景其实比想象中多。地震之后的灾区,基站一倒,方圆几公里所有人都既打不出电话也发不出消息,救援队和家属之间彻底失联;几万人的演唱会散场,大家一起挤在场馆里刷手机,基站严重过载,信号满格消息就是发不出去;还有一些地区会因为各种原因临时断网,一断就是好几天。这些场景里,常规通讯软件全部失效,而bitchat就是为这些时刻设计的。

它的组网逻辑不复杂,但很巧妙。每个人的手机都开着蓝牙,软件会自动发现附近同样装了它的设备,然后把这些设备组成一张网。你发出一条消息,它先跳到你邻居的手机上,邻居的手机再传给邻居的邻居,一台一台接力往外扩散。每台设备既是客户端又是服务器,整张网里没有一个中心节点,没有可以一键掐断的总闸。

消息安全这块用的是Noise协议框架,点对点加密,中间负责接力的手机只能原样转发,看不懂内容是什么。没有账号体系,不需要手机号注册,不收集通讯录,打开软件就能用,删掉软件什么都不留。这种设计让它天然没有"封号"这个概念。

界面是个大型怀旧现场。老网民看到会会心一笑:黑底绿字,等宽字体,频道前面挂个井号,消息带时间戳,还有斜体的动作消息,这不就是九十年代的IRC聊天室吗。Dorsey自己都说这就是在致敬IRC。没用过那个时代的年轻人,正好可以感受一下没有算法推荐、没有点赞、纯文字交流是什么体验。

除了蓝牙,它还有一条联网的备份通道,走的是Nostr协议。策略很简单:近距离优先走蓝牙,蓝牙够不着的时候自动走网络转发,两条路互为兜底。还有个细节设计得相当用心:连续点三下logo,本地所有数据立刻清空。这个panic mode明显是给高风险场景准备的,具体什么场景,懂的都懂。

这个项目不是概念产品。查了公开报道,过去一年里,马达加斯加、尼泊尔、乌干达这些地方出现断网的时候,当地人是真的在用它保持联系,维基百科都给它建了词条。安卓版已经上了Google Play,四千多人评价,iOS和安卓协议完全互通,跨平台聊天没有障碍。

当然短板也要说清楚。蓝牙mesh的传输速度很慢,只适合发文字和简单表情,发图片视频想都别想;消息传播依赖人和人的物理密度,方圆一公里只有你一个人装了这软件,消息就传不出去;它的早期版本还出过身份冒充的漏洞,作者自己也在仓库里承认还没做完整的外部安全审计,安全这块还在持续打补丁。

对开发者来说,这个仓库的技术含量比产品本身更值得看。蓝牙mesh组网、消息多跳中继、Noise加密、基于Geohash的位置频道,一整套下来对P2P网络的理解会上一个台阶。代码完全开源,iOS端Swift、安卓端Kotlin,两边的工程规范都相当不错,学移动端开发的可以当教材精读。

Dorsey这两年在下一盘大棋,从Nostr到BlueSky再到bitchat,方向一脉相承:把通讯的控制权从平台手里拿回来,还给用户。这盘棋最后能不能赢不好说,但多一种选择总归不是坏事。至少下次再遇到演唱会散场发不出消息的时候,你知道该装什么软件了。

上手难度基本为零。安卓用户在Google Play直接搜bitchat安装,国内用户在仓库的release页下载APK就行;iPhone用户需要注意,国区App Store没有上架,得用美区账号下载。装好打开就能用,不需要注册不需要登录,起个昵称直接进频道。软件会自动扫描附近的用户,有人在线的话马上就能聊起来。

再展开说说它的技术白皮书里几个有意思的设计。位置频道是按Geohash网格划分的,每个网格对应地球表面一小块区域,进了某个网格的频道就等于进了当地的聊天室,断网时靠蓝牙本地通信,联网时靠Nostr同步,这套设计兼顾了本地性和全球可达性。频道还能设密码,小圈子通信也没问题。消息传输做了优先级分层,普通聊天消息走低带宽通道,紧急信息可以抢占带宽先发出去,这是为灾害场景专门考虑的。

顺便提一句它的社区生态。因为协议完全开源,已经有人做了第三方客户端,比如终端爱好者写的TUI版本,在服务器上都能跑;还有开发者基于它的协议做Wi-Fi Direct版本的mesh模块。一个产品发布一年多就长出了外围生态,说明底层协议设计得确实扎实。

项目地址GitHub搜bitchat就有,技术白皮书也挂在仓库里,感兴趣的自己去翻。这个系列以后每周更新,带你看GitHub上最值得研究的新项目,关注不迷路。