Matrix (communication Protocol)
   HOME

TheInfoList



OR:

Matrix is an
open standard An open standard is a standard that is openly accessible and usable by anyone. It is also a prerequisite to use open license, non-discrimination and extensibility. Typically, anybody can participate in the development. There is no single definition ...
and
communication protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer scien ...
for real-time communication. It aims to make real-time communication work seamlessly between different service providers, in the way that standard
Simple Mail Transfer Protocol The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typica ...
email currently does for
store-and-forward Store and forward is a telecommunications technique in which information is sent to an intermediate station where it is kept and sent at a later time to the final destination or to another intermediate station. The intermediate station, or node in ...
email service, by allowing users with accounts at one
communications service provider A telephone company, also known as a telco, telephone service provider, or telecommunications operator, is a kind of communications service provider (CSP), more precisely a telecommunications service provider (TSP), that provides telecommunica ...
to communicate with users of a different service provider via
online chat Online chat may refer to any kind of communication over the Internet that offers a real-time text, real-time transmission of text-based, text messages from sender to receiver. Chat messages are generally short in order to enable other participa ...
,
voice over IP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of speech, voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms In ...
, and
videotelephony Videotelephony, also known as videoconferencing and video teleconferencing, is the two-way or multipoint reception and transmission of audio and video signals by people in different locations for real time communication.McGraw-Hill Concise Ency ...
. It therefore serves a similar purpose to protocols like
XMPP Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
, but is not based on any existing communication protocol. From a technical perspective, it is an
application layer An application layer is an abstraction layer that specifies the shared communications protocols and Interface (computing), interface methods used by Host (network), hosts in a communications network. An ''application layer'' abstraction is speci ...
communication protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer scien ...
for federated real-time communication. It provides HTTP APIs and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
reference implementations for securely distributing and persisting messages in
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other ser ...
format over an open federation of servers. It can integrate with standard web services via
WebRTC WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication to wor ...
, facilitating browser-to-browser applications.


History

The initial project was created inside
Amdocs Amdocs ( he, אמדוקס) is a multinational corporation that was founded in Israel and currently headquartered in Chesterfield, Missouri, with support and development centers located worldwide. The company specializes in software and services ...
, while building a chat tool called "Amdocs Unified Communications", by Matthew Hodgson and . Amdocs then funded most of the development work from 2014 to October 2017. Matrix was the winner of the Innovation award at WebRTC 2014 Conference & Expo, and of the "Best in Show" award at WebRTC World in 2015. 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 Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and trigge ...
or multimedia
signalling protocol A signaling protocol is a type of communications protocol for encapsulation (networking), encapsulating the Signalling (telecommunications), signaling between communication endpoints and switching systems to establish or terminate a connection and t ...
of this type had difficulties becoming widely adopted—e.g.
XMPP Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
and
IRCv3 Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for Many-to-many, group communication in discussion forums, called ''#Channels, channels'', but also allows one-on-one communication via instant messa ...
—and have highlighted the challenges involved, both technological and political. Some were unclear if there was enough demand among users for services which interoperate among providers. In 2015, a
subsidiary A subsidiary, subsidiary company or daughter company is a company owned or controlled by another company, which is called the parent company or holding company. Two or more subsidiaries that either belong to the same parent company or having a s ...
of Amdocs was created, named "Vector Creations Limited", and the Matrix staff was moved there. 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", which was mainly built to support the development of Matrix and Riot, which was later renamed to Element. During this time period, there were multiple calls for support to the community and companies that build on Matrix, to help pay for the wages of at least part of the core team.
Patreon Patreon (, ) is a membership platform that provides business tools for content creators to run a subscription service. It helps creators and artists earn a monthly income by providing rewards and perks to their subscribers. Patreon charges a co ...
and
Liberapay Liberapay is a platform for recurrent donations via subscriptions. It is maintained by a non-profit organization, also named Liberapay, registered in France. Service The service does not charge a fee on donations aside from that required by th ...
crowdfunding accounts were created, and the core team started a
video podcast A podcast is a program made available in digital format for download over the Internet. For example, an episodic series of digital audio or video files that a user can download to a personal device to listen to at a time of their choosing. ...
, called Matrix "Live" to keep the contributors up to speed with ongoing developments. This was expanded by a weekly
blog A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order ...
format, called "This Week in Matrix", where interested community members could read, or submit their own, Matrix-related news. The company was created with the goal of offering
consultancy A consultant (from la, consultare "to deliberate") is a professional (also known as ''expert'', ''specialist'', see variations of meaning below) who provides advice and other purposeful activities in an area of specialization. Consulting servic ...
services for Matrix and paid hosting of Matrix servers (as a platform called modular.im, which was later renamed to Element matrix services) to generate income. In the early weeks after its creation, the Matrix team and the company
Purism Purism, referring to the arts, was a movement that took place between 1918 and 1925 that influenced French painting and architecture. Purism was led by Amédée Ozenfant and Charles Edouard Jeanneret (Le Corbusier). Ozenfant and Le Corbusier fo ...
published plans to collaborate in the creation of the
Librem Librem is a line of computers manufactured by Purism, SPC featuring free (libre) software. The laptop line is designed to protect privacy and freedom by providing no non-free (proprietary) software in the operating system or kernel, avoiding t ...
5 phone. 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. In 2017,
KDE KDE is an international Free software movement, free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-know ...
announced it was working on including support for the protocol in its IRC client
Konversation Konversation is an Internet Relay Chat (IRC) client built on the KDE Platform and is free software released under the terms of the GNU GPL-2.0-or-later. Konversation is currently maintained in the KDE Extragear Network module, which means that it ...
. In late January 2018, the company received an investment of US$5 million from Status, an  
Ethereum Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (Abbreviation: ETH; sign: Ξ) is the native cryptocurrency of the platform. Among cryptocurrencies, ether is second only to bitcoin in market capita ...
based
startup A startup or start-up is a company or project undertaken by an entrepreneur to seek, develop, and validate a scalable business model. While entrepreneurship refers to all new businesses, including self-employment and businesses that never intend t ...
. In April 2018, the
French Government The Government of France ( French: ''Gouvernement français''), officially the Government of the French Republic (''Gouvernement de la République française'' ), exercises executive power in France. It is composed of the Prime Minister, who ...
announced plans to create their own instant messaging tool. Work on the application based on Riot and Matrix protocol—called after French scientists
Claude Chappe Claude Chappe (; 25 December 1763 – 23 January 1805) was a French inventor who in 1792 demonstrated a practical semaphore system that eventually spanned all of France. His system consisted of a series of towers, each within line of sight of ...
—had started in early 2018 and the program was open-sourced and released on iOS and Android in April 2019. In October 2018, a
Community Interest Company A community interest company (CIC, colloquially pronounced "kick") is a type of company introduced by the United Kingdom government in 2005 under the Companies (Audit, Investigations and Community Enterprise) Act 2004, designed for social ente ...
called "The Matrix.org Foundation C.I.C." was incorporated, to serve as a neutral legal entity for further development of the standard. In February 2019, the KDE community announced plans to adopt Matrix for its internal communications needs, as a decentralized alternative to other instant messaging servers like
Telegram Telegraphy is the long-distance transmission of messages where the sender uses symbolic codes, known to the recipient, rather than a physical exchange of an object bearing the message. Thus flag semaphore is a method of telegraphy, whereas p ...
, Slack, and
Discord Discord is a VoIP and instant messaging social platform. Users have the ability to communicate with voice calls, video calls, text messaging, media and files in private chats or as part of communities called "servers".The developer documenta ...
, and operate its own server instance. In April 2019, Matrix.org suffered a security breach in which the production servers were compromised. This breach was not an issue with the Matrix protocol and did not directly affect home servers other than matrix.org. In June 2019, the Matrix protocol is out of beta with the version 1.0 across all APIs (and Synapse, at the time the reference home server), and the Matrix foundation is officially launched. In October 2019, New Vector raised an additional US$8.5 million to develop Matrix. In December 2019 German Ministry of Defense announced a pilot project called BwMessenger for secure instant messaging tool based on Matrix protocol, Synapse server and Riot application. This is modeled after French Tchap project. The long-term goal of the Federal Government is the secure use of messenger services that covers all ministries and subordinate authorities. In December 2019
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, wi ...
announced that it would begin to use Matrix as a replacement for
IRC Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat an ...
. In the announcement, they said that they would be completing the move in late January 2020. The Mozilla IRC server, irc.mozilla.org, is said to be removed "no later than March of next year 020. In March 2020 the IRC server was turned off and users were directed to join chat.mozilla.org, Mozilla's Element instance. In May 2020 Matrix enabled
end-to-end encryption End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages. In principle, it prevents potential eavesdroppers – including telecom providers, Internet providers, malicious actors, and even ...
by default for private conversations. In October 2020 Element acquired
Gitter Gitter is an open-source software, open-source instant messaging and chat room system for developers and users of GitLab and GitHub repositories. Gitter is provided as software-as-a-service, with a free option providing all basic features and the ...
from
GitLab GitLab Inc. is an open-core company that operates GitLab, a DevOps software package which can develop, secure, and operate software. The open source software project was created by Ukrainian developer Dmitriy Zaporozhets and Dutch developer S ...
. This meant that all Gitter users would be transitioned over to Matrix. In March 2021, matrix.org announced that there are 28 million global visible accounts.


Protocol

Matrix targets use cases like
voice over IP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of speech, voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms In ...
,
Internet of Things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
and
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and trigge ...
, 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. Client software is available for open-federated Instant Messaging (IM), voice over IP (VoIP) and Internet of Things (IoT) communication. The Matrix standard specifies
REST Rest or REST may refer to: Relief from activity * Sleep ** Bed rest * Kneeling * Lying (position) * Sitting * Squatting position Structural support * Structural support ** Rest (cue sports) ** Armrest ** Headrest ** Footrest Arts and entert ...
ful 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 Eventual consistency is a consistency model used in distributed computing to achieve high availability that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last upd ...
semantics, allowing servers to function even if offline or after data-loss by re-synchronizing missing history from other participating servers. The Olm library provides for optional
end-to-end encryption End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages. In principle, it prevents potential eavesdroppers – including telecom providers, Internet providers, malicious actors, and even ...
on a room-by-room basis via a
Double Ratchet Algorithm In cryptography, the Double Ratchet Algorithm (previously referred to as the Axolotl Ratchet) is a key management algorithm that was developed by Trevor Perrin and Moxie Marlinspike in 2013. It can be used as part of a cryptographic protocol to p ...
implementation. 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 In cryptography, ciphertext or cyphertext is the result of encryption performed on plaintext using an algorithm, called a cipher. Ciphertext is also known as encrypted or encoded information because it contains a form of the original plaintext ...
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 and have been addressed by the Matrix team. The review was partially funded by Germany's national agency for the healthcare system digitalisation ( Gematik). * libolm, the former reference implementation, has been subject of a cryptographic review by NCC Group, whose findings are publicly available, and have been addressed by the Matrix team. The review was sponsored by the
Open Technology Fund The Open Technology Fund (OTF) is an American nonprofit corporation that aims to support global Internet freedom technologies. Its mission is to "support open technologies and communities that increase free expression, circumvent censorship, and ...
.


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: *
Gitter Gitter is an open-source software, open-source instant messaging and chat room system for developers and users of GitLab and GitHub repositories. Gitter is provided as software-as-a-service, with a free option providing all basic features and the ...
*
IRC Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat an ...
* Slack/
Mattermost Mattermost is an open-source, self-hostable online chat service with file sharing, search, and integrations. It is designed as an internal chat for organisations and companies, and mostly markets itself as an open-source alternative to Slack a ...
*
XMPP Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
Bridges for the following notable applications are maintained by the community: * Apple iMessage *
Discord Discord is a VoIP and instant messaging social platform. Users have the ability to communicate with voice calls, video calls, text messaging, media and files in private chats or as part of communities called "servers".The developer documenta ...
*
Email Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" meant ...
*
Facebook Messenger Messenger is a proprietary instant messaging app and platform developed by Meta Platforms. Originally developed as Facebook Chat in 2008, the company revamped its messaging service in 2010, released standalone iOS and Android apps in 2011, and ...
*
Google Hangouts Google Hangouts is a discontinued cross-platform instant messaging service developed by Google. It originally was a feature of Google+, becoming a standalone product in 2013, when Google also began integrating features from Google+ Messenger an ...
*
GroupMe GroupMe is a mobile group messaging app owned by Microsoft. It was launched in May 2010 by the private company GroupMe. In August 2011, GroupMe delivered over 100 million messages each month and by June 2012, that number jumped to 550 million. I ...
*
Mastodon A mastodon ( 'breast' + 'tooth') is any proboscidean belonging to the extinct genus ''Mammut'' (family Mammutidae). Mastodons inhabited North and Central America during the late Miocene or late Pliocene up to their extinction at the end of th ...
*
RSS RSS ( RDF Site Summary or Really Simple Syndication) is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format. Subscribing to RSS feeds can allow a user to keep track of many di ...
/
Twitter Twitter is an online social media and social networking service owned and operated by American company Twitter, Inc., on which users post and interact with 280-character-long messages known as "tweets". Registered users can post, like, and ...
feeds *
Signal In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The ''IEEE Transactions on Signal Processing'' ...
*
Skype Skype () is a proprietary telecommunications application operated by Skype Technologies, a division of Microsoft, best known for VoIP-based videotelephony, videoconferencing and voice calls. It also has instant messaging, file transfer, deb ...
*
Telegram Telegraphy is the long-distance transmission of messages where the sender uses symbolic codes, known to the recipient, rather than a physical exchange of an object bearing the message. Thus flag semaphore is a method of telegraphy, whereas p ...
*
SMS Short Message/Messaging Service, commonly abbreviated as SMS, is a text messaging service component of most telephone, Internet and mobile device systems. It uses standardized communication protocols that let mobile devices exchange short text ...
*
WeChat WeChat () is a Chinese instant messaging, social media, and mobile payment app developed by Tencent. First released in 2011, it became the world's largest standalone mobile app in 2018, with over 1 billion monthly active users. WeChat has bee ...
*
Whatsapp WhatsApp (also called WhatsApp Messenger) is an internationally available freeware, cross-platform, centralized instant messaging (IM) and voice-over-IP (VoIP) service owned by American company Meta Platforms (formerly Facebook). It allows us ...
*
LinkedIn LinkedIn () is an American business and employment-oriented online service that operates via websites and mobile apps. Launched on May 5, 2003, the platform is primarily used for professional networking and career development, and allows job se ...


Clients

Element is the reference implementation of a client. The following client implementations exist; a possibly more complete list can be found o
Matrix's website


Servers

Synapse is the reference implementation of a Matrix home server, written in
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
. A "second generation Matrix home server" called Dendrite is being developed by the Matrix core team. Dendrite is in
beta Beta (, ; uppercase , lowercase , or cursive ; grc, βῆτα, bē̂ta or ell, βήτα, víta) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Modern Greek, it represents the voiced labiod ...
. The following server implementations exist; a possibly more complete list can be found on Matrix's website:


Adoption

Germany's national healthcare system's internal communication network uses a Matrix-based 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 GmbH). Employees of the
Bundeswehr The ''Bundeswehr'' (, meaning literally: ''Federal Defence'') is the armed forces of the Federal Republic of Germany. The ''Bundeswehr'' is divided into a military part (armed forces or ''Streitkräfte'') and a civil part, the military part con ...
(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. The
FOSDEM Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and ...
was held on Matrix in 2021 and 2022.


See also

*
Fediverse The fediverse (a portmanteau of "federation" and "universe") is an ensemble of Federation (information technology), federated (i.e. interconnected) servers that are used for web publishing (i.e. social networking, microblogging, blogging, or websit ...
*
XMPP Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
*
Session Initiation Protocol The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telepho ...
(SIP) *
Rich Communication Services Rich Communication Services (RCS) is a communication protocol between mobile telephone carriers and between phone and carrier, aiming at replacing SMS messages with a text-message system that is richer, provides phonebook polling (for service dis ...
*
IRC Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat an ...


References


External links

*
Specification
* {{Computer-mediated communication Application layer protocols Communication Computer-related introductions in 2014 Protocols related to Internet Relay Chat VoIP protocols