Matrix 协议 #

Matrix 是一套不归任何公司所有的实时通讯开放标准——聊天、语音、视频、文件、VR 都在它的范围内。它的联邦方式和电子邮件一样:任何人都可以运行一台服务器,服务器之间可以互通,你可以挑任意一款兼容客户端来访问你的账户。

如果你只是想登录聊天,直接去 快速入门。等你想弄明白 为什么 Matrix 这样设计时,再回到这一页。

哲学:开放、联邦、归你所有 #

Matrix 做的每一件事都围绕三条原则:

  • 开放标准。 协议规范完全公开(spec.matrix.org),按版本维护,公开开发。任何人都可以在不签合同的前提下实现服务器、客户端或桥接。
  • 去中心化。 Matrix 不归任何单一公司。你(或者代你的 Meldry)运行一台 主机服务器,你的账户就在那里。你的对话会在每一台参与的主机服务器上复制一份,所以没有哪一台服务器能单方面审查或丢失它们。
  • 互通。 Matrix 不想再造一个"聊天 App"——它想做聊天 App 之间的胶水层。桥接和 Appservice 让你可以连接到那些根本不在 Matrix 上的人,而无需强迫他们迁移。

最终形成的是一张通讯网络,你保留对身份、数据和工具的控制权,同时又可以和任何人对话。

本章内容 #

本章被拆成若干聚焦的子页面。你不必按顺序阅读——每一页都自成一体——但如果你是新手,下面是我们推荐的阅读顺序:

  • 架构——协议特点(事件溯源 DAG、最终一致、可扩展性)、客户端 ↔ 主机服务器 ↔ 主机服务器的布局,以及 Client-Server 和 Server-Server API 的实际工作方式。同时覆盖房间与空间。
  • 身份与账户——Matrix 用户 ID(@alice:server)、第三方标识符(邮箱/手机号)、设备 ID,以及前缀符号 (@!#$) 各自的含义。
  • 端到端加密——E2EE 深入剖析:针对设备对的 Olm、针对房间的 Megolm、跨签名、设备验证流程、安全秘密存储(SSSS)、以及密钥备份。
  • 客户端——可以挑选的 Matrix 客户端(Element、Element X、FluffyChat、Cinny、Nheko、SchildiChat),如何登录 Meldry 服务器,以及最常见的三种登录故障排查。
  • 生态——Matrix.org 基金会、主要的主机服务器实现(Synapse、Dendrite、Conduit、Palpo)、知名部署(Tchap、BwMessenger、KDE、Mozilla……)以及协议版本。

一分钟速览 #

如果你只想看一段话:Matrix 是一套开放、联邦、事件溯源的实时通讯协议,内建端到端加密。你的账户住在一台 主机服务器 上(Meldry 替你运行一台);你挑一个 客户端 和它对话;主机服务器通过 联邦 跟其他主机服务器通信,所以你可以联系到网络里的任何人;而 桥接 把它挂到 Telegram、Slack、Discord 以及其他网络上。

下一步 #