Matrix (protocolo)

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
Matrix
Matrix logo.svg

Matrix es un protocolo abierto de mensajería instantánea. Está diseñado para permitir a los usuarios comunicarse vía charla en línea, voz encima IP, y videotelephony.

De una perspectiva técnica, es un protocolo de comunicaciones de capa de aplicación para comunicación federativo en tiempo real. Proporciona API HTTP e implementaciones de referencia del código abierto para distribuir de forma segura y persistir mensajes en formato JSON sobre una federación abierta de servidores.[1][2]​ Pueda integrar con los servicios web estándares a través de WebRTC, facilitando aplicaciones navegador-a-navegador.

Protocolo[editar]

Matrix network
- Azul = Servidores federados domésticos
- Rojo = Aplicaciones de servicio, puentes a Skype, IRC, Slack, etc.
- Verde = Servidores de identidad, enlace entre MXID y 3PID
- Amarillo = Clientes como Riot.im, Nheko, Revolt, Quaternion y otros ...

Matrix se centra en casos de uso como la voz sobre IP (VoIP), la Internet de las cosas y la mensajería instantánea, incluida la comunicación de grupo, junto con un objetivo a más largo plazo de ser un sistema genérico de mensajería y sincronización de datos para la web. El protocolo apoya la seguridad y la replicación, manteniendo un historial completo de conversaciones, sin puntos únicos de control o fracaso. Los servicios de comunicación existentes pueden integrarse con el ecosistema Matrix.

El software cliente está disponible para mensajería instantánea (IM), voz sobre IP (VoIP) e Internet de las cosas (IoT).

El estándar Matrix especifica las API HTTP RESTful para transmitir y replicar datos JSON de forma segura entre clientes, servidores y servicios con capacidad Matrix. Los clientes envían los datos poniéndolos en una 'sala' de su servidor, que luego replica los datos en todos los servidores Matrix que participan en esta 'sala'. Estos datos son firmados usando una firma de estilo git para mitigar la manipulación, y el tráfico federado es encriptado con HTTPS y firmado con la clave privada de cada servidor para evitar la falsificación. La replicación sigue una semántica de consistencia eventual, permitiendo que los servidores funcionen incluso si están desconectados o después de la pérdida de datos mediante la re-sincronización de la historia que falta de otros servidores participantes.

La biblioteca de Olm proporciona un cifrado opcional de extremo a extremo en cada habitación mediante la implementación de un algoritmo de doble trinquete,[3]​ que puede garantizar que los datos de la conversación en reposo solo sean legibles por los participantes de la habitación. Con su configuración, los datos transmitidos por Matrix solo son visibles como texto cifrado para los servidores de Matrix, y solo pueden ser descifrados por los participantes autorizados de la sala. Las bibliotecas Olm y Megolm (una ampliación de Olm para adaptarse mejor a la necesidad de salas más grandes) han sido objeto de un examen criptográfico por el Grupo NCC, cuyas conclusiones están a disposición del público, y han sido abordadas por el equipo de Matrix. El examen fue patrocinado por el Open Technology Fund.

Puentes[editar]

Matrix soporta el enlace de mensajes de diferentes aplicaciones de chat en salas Matrix. Estos puentes son programas que se ejecutan en el servidor y comunicarse con otros servidores que no son matrix.

Actualmente hay puentes para:

Pero todos están en varias etapas de finalización.

Clientes[editar]

Riot.im es la implementación de referencia de un cliente. Muchos otros clientes, bots, puentes, servidores y otras implementaciones del protocolo Matricial existen también.[10]

Véase también[editar]

Referencias[editar]

  1. Nathan Willis (11 de febrero de 2015). «Matrix: a new specification for federated realtime chat». Consultado el 28 de junio de 2015. 
  2. Adrian Bridgwater (9 de septiembre de 2014). «Matrix.org Reloads Inside "Illusion of Control" Vortex». Archivado desde el original el 29 de marzo de 2019. Consultado el 20 de julio de 2015. 
  3. Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (septiembre de 2016). End-to-End Encrypted Messaging Protocols: An Overview. En Bagnoli, Franco, ed. «Internet Science». INSCI 2016. Springer (Florencia, Italia): 244-254. ISBN 978-3-319-45982-0. doi:10.1007/978-3-319-45982-0_22. 
  4. «tulir/mautrix-telegram». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  5. «Half-Shot/matrix-appservice-discord». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  6. «matrix-org/matrix-appservice-gitter». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  7. «matrix-org/matrix-appservice-slack». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  8. «matrix-org/matrix-appservice-irc». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  9. «tulir/mautrix-whatsapp». GitHub (en inglés). Consultado el 20 de octubre de 2018. 
  10. «Try Matrix Now!». Matrix.org. Consultado el 13 de agosto de 2017. 

Enlaces externos[editar]