Matrix, es una plataforma para organizar comunicaciones descentralizadas, que se desarrolla como un proyecto que utiliza estándares abiertos y presta gran atención a garantizar la seguridad y privacidad de los usuarios.
Matrix proporciona un cifrado de extremo a extremo basado en su propio protocolo, incluido el uso del algoritmo Double Ratchet (parte del protocolo de señal). El cifrado final se utiliza tanto en la mensajería directa como en las salas de chat (utilizando el mecanismo Megolm ).
La implementación de los métodos de encriptación fue auditada por la organización NCC Group. Dado que el transporte utilizar HTTPS + JSON con la capacidad de utilizar el protocolo WebSockets, o sobre la base de COAP.
Sobre Matrix
El sistema se forma como una comunidad de servidores que pueden interactuar entre sí y unirse en una red descentralizada común.
Los mensajes se replican en todos los servidores a los que están conectados los participantes de la mensajería. Los mensajes se distribuyen entre los servidores de la misma manera que se distribuyen entre los repositorios de Git.
En el caso de un cierre temporal del servidor, los mensajes no se pierden, sino que se transmiten a los usuarios después de que el servidor reanude la operación. Se admiten varias opciones de ID de usuario, incluidos correo electrónico, número de teléfono, cuenta de Facebook, etc.
No hay un único punto de falla o control de mensajes en la red. Todos los servidores cubiertos en la discusión son iguales.
Cualquier usuario puede iniciar su propio servidor y conectarlo a la red pública. Es posible crear puertas de enlace para que Matrix interactúe con sistemas basados en otros protocolos, por ejemplo, los servicios están preparados para el envío bidireccional de mensajes en IRC, Facebook, Telegram, Skype, Hangouts, correo electrónico, WhatsApp y Slack.
Además de la mensajería instantánea y el chat, el sistema puede utilizarse para transferir archivos, enviar notificaciones, organizar teleconferencias, realizar llamadas de voz y videollamadas. Matrix le permite utilizar la búsqueda y la visualización ilimitada del historial de correspondencia.
También admite funciones avanzadas, como la notificación de escritura, la evaluación de la presencia del usuario en línea, la confirmación de lectura, las notificaciones push, la búsqueda del lado del servidor, la sincronización del historial y el estado del cliente.
Matrix.org Foundation
Para coordinar el desarrollo del proyecto, recientemente se creó la organización sin fines de lucro Matrix.org Foundation, que garantizará la independencia del proyecto, desarrollará estándares relacionados con Matrix y actuará como una plataforma neutral para la toma conjunta de decisiones.
La Fundación Matrix.org está dirigida por una junta de cinco directores de ecosistemas no comerciales que son respetados en la comunidad y están llamados a defender la misión del proyecto.
Los directores incluyeron a John Crowcroft ( Jon Crowcroft , uno de los pioneros de las comunicaciones descentralizadas), Matthew Hodgson (Matthew Hodgson, cofundador de Matrix), Amandine Le Pape (Amandine Le Pape, cofundadora de Matrix), Ross Schulman (Ross Schulman, abogado de Open Technology Institute especializada en Internet y sistemas descentralizados), Yuta Steiner (Jutta Steiner, cofundadora de la compañía Parity Technologies basada en blockchain).
También hace poco fue lanzada la primera versión estable del protocolo Matrix 1.0 y las bibliotecas relacionadas y especificaciones.
En la cual esta nueva versión de Matrix está totalmente estabilizado y ha alcanzado un estado adecuado como base para desarrollar implementaciones independientes de clientes, servidores, bots y puertas de enlace. Los desarrollos del proyecto se distribuyen bajo la licencia Apache 2.0.
De forma predeterminada , Room Protocol 4 se utiliza para crear nuevos chats. Al migrar de versiones anteriores, se debe tener en cuenta que la conexión a una red descentralizada común ahora requiere la obtención de un certificado TLS válido.
Como clientes, puede usar Riot (disponible para Linux, Windows, macOS, Web, Android e iOS), Weechat (CLI en Lua), nheko (C ++ / Qt), Quaternion (C ++ / Qt) y Fractal (Rust / Gtk).
De los próximos trabajos en la implementación del servidor se planea optimizar el rendimiento y reducir el consumo de memoria. Además del servidor de referencia en Python, también se están desarrollando implementaciones experimentales de Ruma (Rust) y Dendrite (Go).