Matrix

Материал из InnerEq.org
Версия от 16:42, 19 марта 2021; Commagray (обсуждение | вклад) (Magnolia →‎Особенности)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Matrix — протокол для создания федеративной сети коммуникаций в реальном времени. Работа протокола основана на линейной истории событий (events) в формате JSON внутри ациклического графа событий (DAG): простыми словами, является распределённой базой данных, хранящей полную историю отправленных сообщений и данные участвующих пользователей, реплицируя эту информацию между всеми участвующими серверами. Это означает, что чаты (комнаты) Matrix являются отказоустойчивыми и функционируют даже после падения сервера, где была создана эта комната.

Эталонные реализации клиентов и серверов[1][2] разрабатываются коммерческой компанией Element, сотрудники которой также возглавляют некоммерческую организацию Matrix.org Foundation, курирующую разработку спецификации протокола Matrix. На данный момент в сети Matrix насчитывается 28 миллионов аккаунтов и 60 тысяч серверов[3]. Для групповых VoIP-конференций используется свободный проект Jitsi Meet.

Интерфейс[править | править код]

Особенности[править | править код]

Как и в случае с остальными федеративными серверами, сеть из серверов протокола Matrix не имеет единой точки отказа. Более того, сохранность данных здесь возведена в абсолют, поэтому все сообщения, некогда отправленные пользователями, синхронизируются между участвующими серверами и в случае утраты одной из сторон — даже той, где изначально создавался групповой диалог — история сообщений всё ещё будет доступна и уцелевшие серверы смогут спокойно продолжить дискуссию. Каждый сервер хранит свою копию сообщений. Если «упавший» сервер вновь вернётся в сеть, он синхронизирует сообщения с другими серверами в том же хронологическом порядке, как они были отправлены.

Сравнения[править | править код]

В отличие от вредительских централизованных сервисов, вроде Telegram, WhatsApp, Viber и других, вся инфраструктура, описанная в открытой спецификации протокола, доступна любому желающему в виде проектов со свободным кодом: и клиенты, и серверы, и всякого рода вспомогательные программы.

Matrix является федеративной сетью без единой точки отказа (то есть децентрализованной), когда у сервисов выше она присутствует в виде компаний, которые ими владеют. В этой сети вы не заключены в рамки определённой платформы с единым сводом правил для всех.

Matrix поощряет разнообразие в виде множества альтернативных реализаций клиентов и серверов, когда ранее упомянутые сервисы прямо запрещают пользовательские проекты или не дают документацию по их реализации.

Шифрование клиентов Matrix работает на всех платформах, а не только на мобильных клиентах. Более того, вы куда с меньшей вероятностью обнаружите потайные лазейки в реализации шифрования в этом свободном и полностью прозрачном проекте.


Всё то же самое справедливо и для другого свободного протокола для построения федеративной сети коммуникаций в реальном времени — XMPP. Отличие в том, что этот протокол не является в той же мере децентрализованным, как Matrix: групповые конференции (MUC, MIX) привязаны к определённому серверу, после падения которого чат перестаёт функционировать.

Клиенты[править | править код]

Стикеры в Matrix.

Официальный список.

Мосты с другими сетями[править | править код]

Как вы могли понять, всякого рода релеи для федеративных сетей не редкость — и Matrix не стал исключением, стремительно развиваясь в этом направлении. Основной фокус сосредоточен на ретрансляторах сообщений для соединения единичных каналов и даже Discord-гильдий, для которых нужно одобрение администраторов обеих подключаемых сторон, но доступны и транспорты для подключения своего Matrix-аккаунта к Telegram или Discord, позволяющие использовать Matrix-клиент для этих сетей.

Сообщение и стикер из Telegram (слева) отправляются в Matrix (справа) и в Discord (снизу).

Примечания[править | править код]