Berty 是一款基于 CRDT 和 libp2p 的离线优先安全聊天工具,无需手机号或账号,完全端到端加密,断网也能互联互通。项目采用 Go+React Native 技术栈,支持 iOS/Android,打破中心化通讯限制,为隐私与抗审查场景提供革命性方案。
适用人群:1. 注重隐私与反监控的技术人员和普通用户;2. 需要无网络环境通讯的户外团队、救灾人员;3. 对去中心化协议和分布式系统感兴趣的开发者
适用场景:1. 等地无信号环境下的多人即时沟通;2. 规避网络审查与封闭生态圈内的安全通讯;3. 作为去中心化社交/协作项目的底层消息集成模块
推荐理由:Berty 从根本上抛弃了中心化服务器和账号体系,采用 CRDT 与 P2P 技术,既保证隐私又提高可用性。离线也能互通、端到端加密、免注册等特性在市面上独树一帜,适合追求自由与安全的用户。代码开源、跨平台支持完善,开发者也易上手。
项目定位与背景
Berty 是一个开源、离线优先、点对点、零信任的即时通讯应用。在隐私监控和网络封锁日益严格的背景下,传统中心化聊天应用的局限性愈发明显。Berty 旨在打破必须依赖服务器、SIM 卡或账号的桎梏,让用户在任意网络环境下都能自由安全地沟通。
核心功能与技术架构
Berty 采用 Go+gRPC 编写核心节点,前端基于 React Native,以 gomobile 实现跨平台移动端部署。网络层利用 libp2p 进行节点发现与数据交换,OrbitDB 数据库依托 CRDT(无冲突复制数据类型)保证消息最终一致。同时集成 IPFS 技术,提升数据分发与抗审查能力。应用完全端到端加密,无需手机号或邮箱注册。
创新点与亮点
Berty 的亮点在于离线优先理念——即便完全断网,设备亦可通过蓝牙、Wi-Fi Direct 等本地连接互传消息。CRDT 架构避免了中心服务器的单点瓶颈和数据垄断。零信任模型意味着没有节点被默认信任,网络中继仅帮忙转发加密数据。项目使用 monorepo 管理多语言代码,极大便利了持续集成与版本控制。
与同类项目对比
相比 Telegram、Signal 等应用,Berty 不依赖中心服务器或专有账号体系,即使在极端断网环境下依然可用。Matrix 协议虽去中心化但通常仍依赖服务器;Briar 也主打离线,但更侧重于单设备U盘或Tor。Berty 将聊天与 IPFS 结合,跨网络能力更灵活,维护团队活跃,移动端体验更接近主流应用。
上手指南或快速开始
开发者可克隆 berty/berty 仓库,通过 Docker 运行本地模拟环境,无需root手机。项目提供模拟器脚本便于本地调试。Go+gRPC node 负责核心逻辑,React Native UI 页面独立。前端可用 yarn start 启动 Expo,配置任意 libp2p 节点。更多文档可通过 berty.tech 查阅,社区 Discord 也提供技术支持。
总结与展望
Berty 带来的不仅是离线聊天工具,更是全新的“零信任、无中心”通信范式。它将 CRDT 与 P2P 技术结合,为隐私与抗审查场景提供了可行方案。展望未来,随着更多开发者参与和去中心化社交生态成熟,Berty 有望成为弱网与高隐私需求下的标配。
项目信息
| 项目名称 | berty/berty |
| 编程语言 | TypeScript |
| Star 数 | 9345 |
| Fork 数 | 512 |
| 主题标签 | android, berty, censorship, crdt, cybersecurity, encryption, gomobile, ios, ipfs, libp2p, messaging, mobile-app, monorepo, offline-first, orbitdb, p2p, privacy, react-native, surveillance |