Matrix


Matrix — открытый протокол мгновенного обмена сообщениями и файлами с поддержкой голосовой и видеосвязи. Это децентрализованный клиент-серверный протокол с передачей сообщений между серверами. Также разработан API (интерфейс взаимодействия с программой) в формате JSON[1][2].

Протокол Matrix позиционирован создателями как замена для более ранних протоколов, он призван объединить мгновенные сообщения (IM) с голосовым (VoIP) и видео-общением (video chat), что не удалось сделать в рамках SIP, XMPP и RCS[3][4][5].

Ключевые особенности протокола Matrix — объединение в одном месте всех каналов непосредственного общения и децентрализация[5].

Концепция Matrix основана на принципах построения электронной почты. Внутренняя организация протокола похожа на IRC — доверенные серверы обмениваются сообщениями чатов друг с другом. При этом Matrix отличается от того же IRC низким порогом вхождения, для общения через Matrix не нужно быть опытным пользователем, идентификация проста и осуществляется по номеру телефона, адресу электронной почты, аккаунтам Facebook или Google или другим способом, привычным пользователю. Также существуют сервера, не требующие для регистрации ввода данных пользователя, за исключением имени пользователя и пароля[5].

После обнаружения серьёзной уязвимости, позволяющей раскрывать ключи сквозного шифрования[6], люди начали сомневаться в том, что протокол Matrix гарантирует полную безопасность. Вслед за этим появились подозрения в том, что в протокол Matrix может быть встроен бэкдор, который позволяет расшифровывать сообщения собеседников. Доказано это так и не было, в коде никаких ошибок найдено также не было.

Протокол обеспечивает возможность обмена сообщениями с другими протоколами посредством мостов. Мосты являются программами, работающими в связке с сервером и пересылающими сообщения между различными сетями. В настоящее время существуют мосты для: