Top Qs
Timeline
Chat
Perspective

Matrix (protocol)

Networking protocol for real-time communication From Wikipedia, the free encyclopedia

Matrix (protocol)
Remove ads

Matrix (sometimes stylized as [matrix] or [m] for short) is an open standard[citation needed] and communication protocol for real-time communication.[2] It aims to make real-time communication work seamlessly between different service providers, in the way that standard Simple Mail Transfer Protocol email currently does for store-and-forward email service, by allowing users with accounts at one communications service provider to communicate with users of a different service provider via online chat, voice over IP, and videotelephony. It therefore serves a similar purpose to protocols like XMPP, but is not based on any existing communication protocol.

Quick Facts Purpose, Developer(s) ...

From a technical perspective, it is an application layer communication protocol for federated real-time communication. It provides HTTP APIs and open source reference implementations for securely distributing and persisting messages in JSON format over an open federation of servers.[3][4] It can integrate with standard web services via WebRTC, facilitating browser-to-browser applications.

Remove ads

History

Summarize
Perspective

Beginning–2018

The initial project was created inside Amdocs, while building a chat tool called "Amdocs Unified Communications",[5] by Matthew Hodgson and Amandine Le Pape. Amdocs then funded most of the development work from 2014 to October 2017.[6] Matrix was the winner of the Innovation award at WebRTC 2014 Conference & Expo,[7] and of the "Best in Show" award at WebRTC World in 2015.[8] The protocol received praise mixed with some cautionary notes after it launched in 2014. Reviewers noted that other attempts at defining an open instant messaging or multimedia signalling protocol of this type had difficulties becoming widely adopted—e.g. XMPP and IRCv3—and have highlighted the challenges involved, both technological and political.[9] Some were unclear if there was enough demand among users for services which interoperate among providers.[10][11] In 2015, a subsidiary of Amdocs was created, named "Vector Creations Limited", and the Matrix staff was moved there.[12]

In July 2017, the funding by Amdocs was announced to be cut and in the following weeks the core team created their own UK-based company, "New Vector Limited",[13] which was mainly built to support the development of Matrix and Riot, the second of which was later renamed to Element.[14] During this time period, there were multiple calls for support to the community and companies that build on Matrix,[15] to help pay for the wages of at least part of the core team. Patreon and Liberapay crowdfunding accounts were created,[16] and the core team started a video podcast, called Matrix "Live" to keep the contributors up to speed with ongoing developments.[17] This was expanded by a weekly blog format, called "This Week in Matrix", where interested community members could read, or submit their own, Matrix-related news.[18] The company was created with the goal of offering consultancy services for Matrix and paid hosting of Matrix servers (as a platform called modular.im, which was later renamed to Element matrix services[19]) to generate income.[20]

In the early weeks after its creation, the Matrix team and the company Purism published plans to collaborate in the creation of the Librem 5 phone.[21] The Librem 5 was intended to be a Matrix native phone, where the default pre-installed messaging and caller app should use Matrix for audio and video calls and instant messaging.[22]

In 2017, KDE announced it was working on including support for the protocol in its IRC client Konversation.[23]

In late January 2018, the company received an investment of US$5 million from Status,[24][25] an  Ethereum based startup.

In April 2018, the French Government announced plans to create their own instant messaging tool.[26] Work on the application based on Riot and Matrix protocol—called Tchap [fr] after French scientist Claude Chappe—had started in early 2018,[27] and the program was open-sourced and released on iOS and Android in April 2019.[28]

In October 2018, a Community Interest Company called "The Matrix.org Foundation C.I.C."[29] was incorporated, to serve as a neutral legal entity for further development of the standard.[30]

2019–2022

In early 2019, the Matrix protocol saw increased adoption and underwent significant development. The KDE community announced in February 2019 its intention to use Matrix for internal communications, citing its decentralized nature as an alternative to services like Telegram, Slack and Discord, and planned to operate its own server instance.[31] Two months later, in April 2019, the production servers of Matrix.org were compromised in a security breach of production servers and not the protocol.[32]

In June 2019, when the Matrix protocol left beta phase with the release of version 1.0 across all its APIs. During this time, the Matrix Foundation was also officially launched to oversee the protocol, and Synapse was serving as its reference homeserver implementation.[33][34] Later that year, in October 2019, the company New Vector raised an additional US$8.5 million for the development of Matrix.[35] By the end of the year, several organizations announced plans for adoption. In December 2019, the German Federal Ministry of Defense began a pilot project named BwMessenger, based on the Matrix protocol, a Synapse server, and the Riot application modeled after France's Tchap project.[36] Also in December, Mozilla announced it would replace its IRC infrastructure with Matrix, scheduling the migration for early 2020.[37]

Following its announcement, Mozilla completed its transition by shutting down its IRC server in March 2020 and directing users to its new Matrix instance.[38] In May 2020, end-to-end encryption was enabled by default for all new private conversations within the protocol.[39] In October of that year, the company Element acquired the Gitter chat platform from GitLab, announcing plans to migrate all Gitter users to Matrix.[40][41]

By March 2021, the matrix.org foundation reported that there were 28 million global visible accounts on the network.[42] In September 2022, security vulnerabilities were disclosed in the implementation of a client-side encryption library. Due to the protocol's interoperable design, the issue was limited to the affected client applications, which required an upgrade, while the protocol itself and third-party implementations were not affected. According to the disclosure, all critical issues were fixed, with the remaining ones being either non-exploitable in practice or already covered by warnings in the client interface.[43]

2022-present

In February 2023, the Matrix foundation was invited to the Digital Markets Act stakeholder workshop on "Interoperability between messaging services" and showcased how a standardised open protocol can be used to interoperate without sacrificing privacy.[44]

In June 2023, Beeper became the first member of The Matrix Foundation.[45]

In April 2024, the first elections of the Matrix Foundation's Governing Board were held, which is made up of nine different constituency groups across three categories: nonprofit and community representatives, funder representatives, and foundation representatives.

Remove ads

Protocol

Summarize
Perspective
Thumb
Matrix network

Matrix targets use cases like voice over IP, Internet of things and instant messaging, including group communication, along with a longer-term goal to be a generic messaging and data synchronization system for the web. The protocol supports security and replication, maintaining full conversation history, with no single points of control or failure. Existing communication services can integrate with the Matrix ecosystem.[3]

Client software is available for open-federated Instant Messaging (IM), voice over IP (VoIP) and Internet of Things (IoT) communication.

The Matrix standard specifies RESTful HTTP APIs for securely transmitting and replicating JSON data between Matrix-capable clients, servers and services. Clients send data by PUTing it to a ‘room’ on their server, which then replicates the data over all the Matrix servers participating in this ‘room’. This data is signed using a git-style signature to mitigate tampering, and the federated traffic is encrypted with HTTPS and signed with each server's private key to avoid spoofing. Replication follows eventual consistency semantics, allowing servers to function even if offline or after data-loss by re-synchronizing missing history from other participating servers.

Olm encryption

The Olm library provides for optional end-to-end encryption on a room-by-room basis via a Double Ratchet Algorithm implementation.[1] It can ensure that conversation data at rest is only readable by the room participants. With it configured, data transmitted over Matrix is only visible as ciphertext to the Matrix servers, and can be decrypted only by authorized participants in the room. The encryption protocol is called Olm; Megolm is an expansion of Olm to better suit the need for bigger rooms. There are two main implementations:

  • vodozemac, the current reference implementation, written in Rust. In 2022, it has been audited by Least Authority, whose findings are publicly available[46] and have been addressed by the Matrix team.[47] The review was partially funded by Germany's national agency for the healthcare system digitalisation (Gematik [de]).
  • libolm, the former reference implementation, has been subject of a cryptographic review by NCC Group, whose findings are publicly available,[48] and have been addressed by the Matrix team.[49] The review was sponsored by the Open Technology Fund.

Outbound group session keys are needed for initiating new Megolm sessions for group chats. In addition, cross-signing-keys are used to verify the overall identity of the user and their device(s). When enabling a secure backup, all those keys are encrypted using a strong passphrase or a randomly generated recovery key. This ensures that even a person who has access to the backup of the keys could not decrypt messages, guaranteeing full E2EE.

Under MSC2883 Matrix plans implementation of MLS for group chats encryption.[50]

Remove ads

Bridges

Matrix supports bridging messages from different chat applications into Matrix rooms. These bridges are programs that run on the server and communicate with the non-Matrix servers. Bridges can either be acting as puppets or relays, where in the former the individual user's account is visibly posting the messages, and in the latter a bot posts the messages for non-puppeteered user accounts.

Currently there are official bridges for:

Bridges for the following notable applications are maintained by the community:

Adoption

Summarize
Perspective

Communication among the public agents of France's central administration happens on a Matrix-based internal network, named Tchap [fr].[62] The project is developed by the Interministerial Directorate for Digital Affairs (DINUM [fr]) with the explicit goals of security and digital sovereignty, both of which were deemed to be impossible through WhatsApp, Telegram and Slack.[63]

Germany's national healthcare system's internal communication network uses a Matrix-based [64] system (Ti-Messenger) for real-time communication among Germany's healthcare organizations and sharing of sensitive patient data, and is developed by the national agency for the digitalisation of the healthcare system (Gematik [de] GmbH).[65] Reasons for choosing Matrix included federated identity management, which allows to reuse the existing identity infrastructure into the new chat system; the decentralized architecture, which allows cross-linking data from disparate sources; and the open protocol, which ensures interoperability and future-proof data exchange and prevents vendor lock-in.[66]

Employees of the Bundeswehr (Germany's armed forces) communicate with each other, and share classified documents (German VS-NfD), on a private Matrix network, with a customized version of the Matrix Element app: BwMessenger (as mentioned above).[67][68]

Two states of Germany run their own Matrix chat networks for schools. Rhineland-Palatinate is offering SchulchatRLP as a fork of FluffyChat since the beginning of 2024.[69] The server is sized for half a million pupils and deployed on kubernetes and the client was enhanced with features such as read receipt for parents or polls by fairkom.,[70] who became a silver partner of the Matrix foundation in 2023. Bavaria has adapted the Element client as a proprietary ByCS messenger.[71]

Luxembourg has developed a Matrix-based chat service for government officials, named Luxchat4Gov, planned to be released in the second quartal of 2023.[72]

The Swedish Social Insurance Agency (Försäkringskassan) is using Matrix for internal communications.[73]

RocketChat recommends federation between RocketChat servers with its built-in Matrix bridge since version 4.7.0.[74]

FOSDEM uses Matrix since 2021.[75][76][77] The hosting is provided by Element Matrix Services, which publishes the technical details for public review soon after the event.[78][79]

Polish Armed Forces introduced a Matrix protocol based communicator in 2023, to exchange unclassified information among Polish Army soldiers as well as for Ministry of National Defence employees.[80]

Remove ads

See also

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads