Matrix.org
Matrix.org — это открытый децентрализованный протокол для обмена мгновенными сообщениями, голосовой и видеосвязи, а также передачи данных в реальном времени. Протокол реализует модель коммуникации на основе федеративной архитектуры, при которой не существует единого центрального сервера, а пользователи могут взаимодействовать друг с другом, находясь на разных, независимых серверах, объединённых в общую сеть. Разработка протокола координируется некоммерческой организацией The Matrix.org Foundation, зарегистрированной в Великобритании.
История
Изначальная разработка протокола Matrix началась в 2014 году внутри компании Amdocs, специализирующейся на программном обеспечении для телекоммуникаций. Основной целью было создание альтернативы существующим проприетарным и централизованным системам обмена сообщениями, таким как WhatsApp (продукт Meta, признанной экстремистской и запрещённой в РФ), Skype или Telegram, которые не обеспечивали достаточного уровня контроля пользователя над данными и не поддерживали интероперабельность между разными сервисами.
В 2017 году компания Amdocs передала управление проектом и права на товарный знак вновь созданной некоммерческой организации The Matrix.org Foundation. В 2019 году была выпущена стабильная версия протокола (Matrix 1.0), что ознаменовало переход от стадии бета-тестирования к промышленной эксплуатации. В 2020 году, в связи с пандемией COVID-19 и ростом спроса на удалённую коммуникацию, протокол привлёк значительное внимание, особенно в государственном и корпоративном секторах Европы. В 2021 году правительство Франции объявило о создании собственной государственной мессенджер-платформы Tchap на базе Matrix для безопасной коммуникации чиновников.
Архитектура и принципы работы
Федеративная модель
В отличие от централизованных сервисов, где все данные хранятся на серверах одной компании, Matrix использует федеративную (децентрализованную) архитектуру. Каждый пользователь регистрируется на определённом сервере (домашнем сервере, или homeserver), который может быть как публичным, так и частным. Серверы общаются между собой по протоколу Matrix, синхронизируя историю сообщений и состояние комнат (чат-каналов). Это позволяет пользователям с разных серверов общаться друг с другом так же, как пользователи разных почтовых сервисов (например, Gmail и Yandex) обмениваются электронными письмами по протоколу SMTP.
Комнаты и события
Основной единицей общения в Matrix является комната (room). Каждая комната представляет собой виртуальное пространство, в котором участники могут обмениваться сообщениями, файлами, совершать голосовые и видеозвонки. Комнаты могут быть публичными (доступными для любого пользователя сети) или приватными (с приглашением). Все действия в комнате — отправка сообщения, изменение названия, добавление участника — фиксируются как отдельные события (events), которые образуют хронологическую цепочку. Эта цепочка событий реплицируется на все серверы, где есть участники комнаты, что обеспечивает отказоустойчивость и отсутствие единой точки отказа.
Криптографическая защита
Для обеспечения конфиденциальности переписки протокол Matrix поддерживает сквозное шифрование (end-to-end encryption, E2EE). По умолчанию E2EE реализовано на основе протокола Olm (для одноразовых сессий) и Megolm (для групповых чатов). Ключи шифрования генерируются на стороне клиента и не передаются серверу. Сервер хранит только зашифрованные данные, не имея доступа к их содержимому. Пользователь может верифицировать устройства собеседников, чтобы убедиться в отсутствии атаки «человек посередине».
Клиентское программное обеспечение
Для взаимодействия с сетью Matrix разработано множество клиентских приложений (клиентов), как официальных, так и сторонних. Основные клиенты:
- Element — наиболее популярный и функционально полный клиент, разработанный компанией Element (ранее New Vector), одним из основных спонсоров разработки протокола. Доступен для Windows, macOS, Linux, Android и iOS.
- NeoChat — клиент для среды рабочего стола KDE, интегрированный с ней.
- FluffyChat — лёгкий и простой клиент, ориентированный на мобильные устройства.
- SchildiChat — форк Element с дополнительными настройками и функциями.
- Cinny — веб-клиент с современным интерфейсом.
Кроме того, существуют мосты (bridges), которые позволяют подключать к сети Matrix пользователей других мессенджеров, таких как Telegram, IRC, Slack, Discord, WhatsApp и XMPP. Мосты транслируют сообщения из одной сети в другую, обеспечивая частичную интероперабельность.
Серверное программное обеспечение
Для развёртывания собственного домашнего сервера Matrix существует несколько реализаций:
- Synapse — эталонная и наиболее распространённая реализация сервера на языке Python. Отличается высокой функциональностью, но может быть требовательна к ресурсам при большом количестве пользователей.
- Dendrite — реализация на языке Go, разрабатываемая как более лёгкая и производительная альтернатива Synapse. Находится в стадии активной разработки, но уже пригодна для использования.
- Conduit — реализация на языке Rust, ориентированная на минимальное потребление ресурсов и простоту настройки.
- Construct — реализация на C++, нацеленная на максимальную производительность.
Применение
Корпоративный и государственный сектор
Благодаря возможности развёртывания на собственных серверах и полному контролю над данными, Matrix активно используется в государственных учреждениях и крупных корпорациях. Например, правительство Франции использует Tchap, а Бундесвер (вооружённые силы Германии) — собственную инстанцию на базе Matrix. В России протокол не получил широкого государственного распространения, однако используется в некоторых коммерческих и некоммерческих организациях, ценящих конфиденциальность.
Сообщества и открытые проекты
Matrix является основной платформой для общения многих проектов с открытым исходным кодом, включая KDE, GNOME, Mozilla, Fedora и сам проект Matrix.org. Публичные комнаты позволяют разработчикам и пользователям обсуждать проекты в реальном времени, не привязываясь к проприетарным платформам.
Личное использование
Отдельные пользователи выбирают Matrix для общения, если они ценят приватность и не хотят зависеть от одного провайдера. Для регистрации не требуется указывать номер телефона, а учётная запись привязана к конкретному серверу, который пользователь может сменить (функция миграции учётной записи между серверами).
Критика и ограничения
Несмотря на преимущества, протокол Matrix подвергается критике по ряду направлений:
- Сложность настройки и администрирования. Развёртывание собственного сервера Synapse требует определённых технических знаний и ресурсов, что может быть барьером для массового распространения.
- Производительность. Эталонный сервер Synapse при большом количестве пользователей и комнат может потреблять значительные объёмы оперативной памяти и процессорного времени. Разработчики активно работают над оптимизацией, в частности, через создание Dendrite и Conduit.
- Совместимость и стабильность. Некоторые функции, особенно сквозное шифрование и голосовые/видеозвонки, могут работать нестабильно на разных клиентах или при использовании мостов.
- Масштабирование. Хотя федеративная архитектура решает проблему единой точки отказа, она создаёт сложности с синхронизацией истории в очень больших комнатах с тысячами участников.
Правовой статус в России
На момент написания статьи протокол Matrix, его эталонная реализация (Synapse) и клиентские приложения (Element, NeoChat и др.) не признаны в Российской Федерации запрещёнными, экстремистскими или нежелательными организациями. Деятельность по развёртыванию и использованию серверов Matrix на территории России не противоречит действующему законодательству при условии соблюдения общих требований к организации обмена информацией (ФЗ-152 «О персональных данных», ФЗ-149 «Об информации, информационных технологиях и о защите информации»). Однако, как и для любых других средств связи, операторы серверов обязаны выполнять требования «пакета Яровой» (ФЗ-374, ФЗ-241) в части хранения и предоставления информации уполномоченным органам.
Источники
- Официальная документация протокола Matrix (spec.matrix.org).
- Статья «Matrix (protocol)» в английской Википедии.
- Публикации The Matrix.org Foundation (matrix.org/blog).
- Материалы конференции FOSDEM (доклады о Matrix).
- Статья «France deploys national messaging app Tchap» (Reuters, 2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →