Matrix, protocolo de una red descentralizada de comunicaciones encriptadas

Aunque el nombre Matrix nos recuerda a la película de sinónimo nombre, pero en el artículo no hablaremos de nada de la película, sino de un protocolo de comunicaciones llamamos Matrix

Que es Matrix

Matrix es un protocolo open source de comunicaciones, en tiempo real, de una red descentralizada y comunicaciones encriptadas. La definición y el mantenimiento principal se realiza por la fundación Matrix.org, el objetivo principal es “crear una plataforma abierta que sea tan independiente, vibrante y evolución como la propia Web … pero para la comunicación.”

Este protocolo, se puede utilizar para alimentar la comunicación de Internet de las cosas (IoT), señalización VoIP / WebRTC, mensajería instantánea, etc. Siendo una alternativa abierta y viable para WhatsApp, Slack, Discord, etc… permitiendo que el usuario tenga el control de sus datos, incluso con la posibilidad de publicar su propio nodo / servidor.

El protocolo dejó la fase beta en junio de 2019 mediante la publicación de su primera versión estable 1.0.

Cómo funciona Matrix

La red Matrix está compuesta por nodos interconectados entre ellos, un usuario conecta a uno de estos nodos, denominado “homeserver“, este servidor puede ser propio del usuario.

Los nodos o servidores propios de un usuarios se configuran con el servidor Synapse, una vez configurados se conectarán a la red, formando parte de la misma. Cuando un usuario desea comunicarse con otros usuarios, que se encuentran en nodo distintos, se enviarán los mensajes al servidor “homeserver” y este será el encargado de replicarlo por los nodos que tienen que intervenir en la comunicación.

La página de Matrix dispone de diagramas que explican con más detalle y de forma gráfica lo comentado anteriormente. El siguiente diagrama es de la red de 3 nodos usada en el explicación y que representa una red Matrix:

El protocolo de Matrix puede procesar cualquier tipo de dato en tiempo real, no solo mensajes y VoIP, permitiendo soluciones de IoT, siendo soluciones unificadas sin bloquear a proveedores específicos. Permite la conexión directa con los dispositivos, incluidos aquellos con anchos de banda muy bajos, de unos pocos bps.

Element aplicación de mensajería sobre la red Matrix

La fundación de Matrix a parte de proporcionar la especificación del protocolo, también dispone de API, SDK y aplicaciones como la aplicación Element.io, que es una aplicación que podría sustituir a las aplicaciones propietarias de mensajería como por ejemplo Whatsapp.

Element dispone de servidores propios y además permite conectar a nodos de servidores propios de los usuarios, con disponibilidad de versiones para navegadores web, escritorio, así como aplicaciones para móviles con IOS o Android.

Ademas de la suscripciones gratuita, también dispone de planes con servidores dedicados y DNS personalizado.

Una característica, que está presente en Matrix, es la posibilidad de establecer puentes con redes externas de otros protocolos, el equipo propio de la fundación mantiene pasarela con las redes de Slack, IRC, XMPP y Gitter, mientras que la comunidad Matrix proporciona puentes para Telegram, WhatsApp, Facebook, Hangouts, Signal, etc.