Matrix (协议)

Matrix是一种用于实时通信的开放协议。它允许使用一个通信服务提供商帐户的用户与使用不同服务提供商的用户进行网络聊天IP语音视频通话。也就是说,它旨在使不同服务提供商之间的实时通信无缝工作,就像使用电邮一样。采用该协议的软件有Element.io等。Matrix是联邦宇宙的一部分。

Matrix
网络传输协议
目的以联邦式的结构同步消息和数据
开发者The Matrix.org Foundation
发布于2014年9月[1]
基于协议HTTP, WebRTC
OSI层级应用层
网站matrix.org

2015年6月22日,Matrix项目负责人马修·霍奇森(Matthew Hodgson)[2]宣布Matrix和IRC网络Freenode完成互联,Freenode中的每一个IRC频道都会有相对应的Matrix聊天室。[3]

历史

此项目最初是在Amdocs公司内部的Matthew Hodgson和Amandine Le Pape为了一个聊天工具“Amdocs Unified Communications”[4]而开发的。Amdocs在2014年至2017年10月曾为Matrix项目的主要资助者。Matrix项目在WebRTC 2014年大会暨博览会上赢得了创新奖[5],并随后在WebRTC 2015年大会暨博览会获得了最佳展示奖。这项协议在被公开后受到了获得了褒扬和批评。有评论家指出,互联网历史上其他这类试图定义开放式即时通讯或多媒体信令协议的尝试都较难广泛推行:如XMPPIRCv3协议,并强调此类协议无法广泛推行的原因既有可能是技术上的,也可能包含政治上的[6]。2015年,Amdocs公司创立了一个叫做“Vector Creations Limited”的子公司,并将Matrix项目的工作人员调配到了新建立的公司。

2017年7月,Amdocs停止对Matrix项目进行资助,在接下来的数周内,研发此协议的核心团队在英国本土新成立了一个名叫“New Vector Limited”的公司,其主要业务范围是维护Matrix协议以及Riot应用(后被命名为Element)的开发。为了至少支付一部分核心团队的工资,在此期间,核心团队曾多次向使用Matrix项目的社群与公司请求捐助。于是研发团队在PatreonLiberapay创建了众筹帐号,同时开始更新名为“Matrix Live”的视频播客以帮助代码贡献者跟上最新的开发进度。视频播客后来又被扩展成每周一更的部落格“This Week in Matrix”,在这里,对Matrix感兴趣的社群成员可以阅读新消息,甚至提交他们自行编纂的Matrix相关新闻。核心团队创建“New Vector Limited”的目的是为了提供有关Matrix的技术咨询,以及一款叫作ems英语Element matrix services(曾经被称作modular.im)的付费Matrix伺服器托管服务来产生收入。

Librem英语Librem 5手机立项后不久,Matrix团队便与Purism公司公布了合作开发Librem 5的计划[7]。Purism原计划使用Matrix协议来编写他们预装在Librem 5上的电话应用及资讯应用。

原理

Matrix协议主要为VoIPIoT,以及即时通讯(包含群组聊天)等目的而设计,并有着想要成为通用的消息传递和数据同步系统的长期目标。此协议含有安全传输,跨伺服器消息复制,完整的聊天消息记录等功能,因为其实现了联邦式的结构,所以并不需要一个单一的,中心化的控制实体。在一个伺服器已经与其他伺服器互联的状态下,也不会因为单一伺服器出现故障而导致所有会话出现问题或全局的数据损坏。现有的通讯程序也能通过插件的形式融入Matrix的生态系统之中。[8]客户端软件可用于联邦式即时通讯软件(IM)、IP 通话(VoIP)与物联网(IoT)通讯。

桥接

 
Matrix网络

Matrix 支持将不同的聊天软件同 Matrix 聊天室桥接起来。Matrix 网桥在伺服器上运行,同其他软件通信。网桥相当于一个机器人程序,它可以在不同聊天软件之间通过自动转发的方式同步用户消息。

目前官方支持的网桥有:

社区又为各种聊天软件开发了网桥:

参考资料

  1. ^ The Matrix.org Foundation. Introducing Matrix (PDF). Matrix.org blog. 2014-11-17 [2021-02-26]. (原始内容 (PDF)存档于2016-05-13) (英语). 
  2. ^ Interview with Matthew Hodgson Matrix in the French State. What happens when a government adopts open source & open standards for all its internal communication?. 自由及开源软件开发者欧洲会议. 2019-02-02 [2019-07-08]. (原始内容存档于2019-07-08) (英语). 
  3. ^ Matthew Hodgson. The matrix.org IRC bridge now bridges all of Freenode!. Matrix.org blog. 2015-06-22 [2019-07-08]. (原始内容存档于2020-12-27) (英语). 
  4. ^ Unified Communications. amdocs. [2021-08-25]. (原始内容存档于2014-10-03) (英语). 
  5. ^ Award Winners of the WebRTC 2014 Conference & Expo. Upperside Blog. 2014-12-23 [2021-08-26]. (原始内容存档于2015-03-15) (英语). 
  6. ^ Andrew Prokop. Solving the WebRTC Interoperability Problem - Post. No Jitter. 2015-02-23 [2021-08-25]. (原始内容存档于2022-03-11) (英语). 
  7. ^ Armasu, Lucian. Purism's Privacy-Focused Librem 5 Smartphone's On Track For A Jan '19 Release. Tom's Hardware. 2018-06-06 [2021-08-25] (英语). 
  8. ^ Nathan Willis. Matrix: a new specification for federated realtime chat. LWN.net. 2015-02-11 [2021-10-31]. (原始内容存档于2015-02-12) (英语). 

外部链接