Matrix, un protocolo y red abierta de comunicación descentralizada y encriptada
Aquí en el blog se han mencionado algunas aplicaciones que hacen uso de Matrix he incluso algunas notas relacionadas, pero no hemos hablado en concreto sobre este proyecto de código abierto administrado por la fundación sin fines de lucro Matrix.org.
De manera inicial hay que saber que la fundación Matrix.org se dedica a la construcción de un protocolo abierto y una red de comunicación para la comunicación descentralizada y encriptada, con el objetivo de proporcionar una alternativa Abierto viable para Slack, WhatsApp, Discord y otros silos de comunicación patentados.
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.
Sobre Matrix
Matrix no solo se trata de permitir que los usuarios almacenen sus propias conversaciones: también evita las dependencias de Internet al trabajar en redes locales, redes de malla o situaciones en las que se ha cortado Internet.
De hecho, sus creadores pretenden crear una plataforma abierta independiente, dinámica y en evolución como la propia Web, pero para la comunicación.
Matrix abandonó la versión beta en junio de 2019 y el protocolo es totalmente adecuado para su uso en producción con muchas características.
Ofrece API y SDK HTTP simples (iOS, Android, Web) para crear salas de chat, administrar chats y bots de chat, con cifrado de extremo a extremo, transferencia de archivos, historial de conversación sincronizado, mensajes formateados, recibos de lectura y mucho más.
Las conversaciones se replican en todos los servidores participantes. Esto significa que no hay un único punto de control o falla. Por lo tanto, puede llegar a cualquier otro usuario en el ecosistema global de Matrix, que tiene más de 9 millones de usuarios, incluidos los de otras redes a través de puentes.
Matrix proporciona cifrado de extremo a extremo a través de trinquetes criptográficos Olm y Megolm. Esto garantiza que solo los destinatarios previstos puedan descifrar sus mensajes, mientras le notifica si se agregan otros dispositivos inesperados a la conversación.
El cifrado se basa en el algoritmo de doble clic popularizado por Signal, pero ampliado para admitir el cifrado en espacios que contienen miles de dispositivos. Olm y Megolm se especifican como un estándar abierto y las implementaciones se lanzan bajo la licencia de Apache.
Además, con el advenimiento de WebRTC, los desarrolladores han adquirido la capacidad de intercambiar llamadas de voz y video de alta calidad, pero no existe una forma estándar de enrutar las llamadas. Los desarrolladores de Matrix creen que puede verse como la capa de señalización que falta para el WebRTC.
También explican que Matrix debe su nombre a su capacidad para cerrar la brecha entre las plataformas existentes y una matriz de comunicación abierta a escala global. Los puentes están en el corazón de Matrix y están diseñados para ser lo más fáciles de escribir posible, con Matrix proporcionando el lenguaje del máximo común denominador para conectar redes entre sí.
El equipo central de Matrix mantiene puentes con Slack, IRC, XMPP y Gitter, mientras que la comunidad Matrix más amplia proporciona puentes para Telegram, WhatsApp, Facebook, Hangouts, Signal, etc.
Según sus desarrolladores, Matrix puede procesar cualquier tipo de datos en tiempo real, no solo mensajes y VoIP. Al construir puentes con tantos silos IoT como sea posible, los datos se pueden publicar de forma segura a través de la red Matrix.
Las soluciones de IoT basadas en Matrix están unificadas, en lugar de bloquearse para proveedores específicos, e incluso pueden publicar o consumir datos de Matrix directamente desde dispositivos a través de un transporte de ancho de banda muy bajo (100 bps o menos).
Asimismo, indican que Matrix puede ser la capa unificadora de comunicaciones y datos globales en realidad virtual y aumentada.
En resumen, Matrix es una tienda de conversación descentralizada en lugar de un protocolo de mensajería.
Cuando envía un mensaje en Matrix, se replica a todos los servidores cuyos usuarios participan en una conversación determinada, de la misma manera que las comunicaciones se replican entre los repositorios de Git.
De forma predeterminada, Matrix utiliza API HTTPS + JSON simples como transporte básico, pero también adopta un transporte más sofisticado como WebSockets o CoAP + Noise.
Mas información: https://matrix.org