Encrypted messaging solutions are becoming increasingly popular as people look for ways to secure their digital lives. If you are interested in encrypted chat solutions, you might already know that the Matrix ecosystem officially exited beta in June, marking a major milestone in the over five-year history of the technology. Developed by New Vector, the Matrix ecosystem includes the Riot chat client, a homeserver called Synapse, and an underlying communication protocol called Matrix. Together, these three components offer a cutting-edge approach to instant messaging by providing the missing communication-layer of the internet. The goal is to remove barriers between instant messaging services so that everyone can message anyone they wish, much like how we use email..
The Matrix ecosystem is designed to offer greater end-user control over data and to enhance the choices that users have in regards to chat clients. As such, Matrix is built around the concepts of decentralization and federation. The architecture of Matrix is relatively simple, consisting of hubs called homeservers that host the chat rooms populated by users. These homeservers connect with each other when the users they host begin to exchange messages. The message history from federated conversations is stored on any homeserver that participates in the chat room, so no single person controls a conversation's history.
The communication protocol is the underlying technology that allows the transmission of messages across the network between homeservers. The Synapse homeservers are the "hubs" which store Matrix user accounts, and which communicate with one another using the aforementioned protocol. The homeservers in the ecosystem are intended to be simple enough that users can run their own instance of it. The way that each homeserver interacts with others can be customized by the administrator, who can choose whether to make a homeserver private or to enable a feature called "federation". Federation is what allows homeservers to communicate with one another, and currently this public ecosystem of federated homeservers includes nearly 40,000 different Synapse servers run by members of the community and companies using the protocol. The largest of these homeservers are maintained by the development team at New Vector to support the more than 13.5 million users in the ecosystem.
New Vector's primary goals in developing the Matrix ecosystem are to promote the use of a federated, decentralized network to end message application "siloing" and enhance both end-user privacy and control. Federation of homeservers seeks to eliminate barriers between applications by allowing users to connect to the ecosystem with a variety of chat clients. Currently, Matrix users can choose between more than 25 different chat clients, with Riot being the most popular and developed option available. All of these different chat clients can interact with one another across the Matrix ecosystem, allowing users to choose their preferred chat client without limiting the contacts they can connect with. The Matrix ecosystem also includes a "bridging" feature which can connect unsupported clients such as Slack or Discord to Riot chat rooms, permitting communication between users on any of those platforms. In this way, the Matrix protocol offers the same interoperability that allows Gmail users to receive mail from Outlook users.
Decentralization is another important feature of the Matrix ecosystem, which means that no single server has total control over a conversation. An example of how federated communications works is if Alice runs her own homeserver and Bob runs another, they can both federate these servers with the public ecosystem and connect with one another. When Alice invites Bob to a chat room she created, Bob's homeserver will begin to keep a record of that chat room, just like Alice's already does. While Alice is still the room creator, the conversation is not stored in a single location, but is instead replicated on both users' homeservers, ensuring that neither one can exercise total control over the room or its data. Unlike most chat applications - which often store data on inaccessible servers far away from and beyond the control of the end-user - the Matrix ecosystem allows users to know exactly where their data is being stored, returning control to the users within the ecosystem.
StormFree is currently experimenting with the Matrix ecosystem for use with clients. We forked Riot to create a customized chat client that will be used in conjunction with a deployment of private homeservers which are being customized to provide greater control over the flow of metadata within the network. The persistence of metadata in the standard Matrix ecosystem is a result of the extensive feature set, including things like federation. As a result, metadata persists even in Riot chat rooms that have enabled end-to-end encryption, which are otherwise highly secure. Fortunately for the security-minded user, the Matrix ecosystem is amenable to extensive modification, and can be configured to suit a variety of user needs, including the minimization of the metadata associated with messages to balance security with functionality.
We look forward to experimenting more as New Vector continues to release new features, and we encourage users to try Matrix and any of its clients to determine whether it is a good fit for their needs.