Element
Element — это децентрализованный мессенджер с открытым исходным кодом, построенный на протоколе Matrix, предназначенный для обмена текстовыми сообщениями, голосовой и видеосвязи, а также для совместной работы в реальном времени.
История
Разработка Element началась в 2016 году как коммерческий продукт компании New Vector Limited (позднее — Element Matrix Services), основанной Мэтью Ходжсоном и Амандой Кейн. Проект возник на основе протокола Matrix, который был создан в 2014 году для решения проблем децентрализации и совместимости в системах мгновенных сообщений.
Первоначально мессенджер назывался Vector, но в 2017 году был переименован в Riot. В 2020 году, в рамках ребрендинга всей экосистемы Matrix, приложение получило название Element. Основной целью разработчиков было создание безопасного, независимого от централизованных серверов средства коммуникации, которое могло бы использоваться как частными лицами, так и организациями.
В 2021 году Element стал одним из первых мессенджеров, внедривших сквозное шифрование (E2EE) по умолчанию для всех типов сообщений, включая групповые чаты. В 2023 году компания выпустила версию Element X, основанную на новом клиенте Matrix (Rust SDK), что значительно повысило производительность и скорость работы приложения.
Архитектура и протокол
Протокол Matrix
Element работает на основе протокола Matrix — открытого, децентрализованного стандарта для обмена сообщениями в реальном времени. В отличие от традиционных централизованных мессенджеров (Telegram, WhatsApp), где все данные хранятся на серверах одной компании, Matrix использует федеративную архитектуру: пользователи могут подключаться к любому серверу (домашнему серверу, или homeserver), который взаимодействует с другими серверами по протоколу.
Каждый сервер Matrix хранит только данные своих пользователей, но может обмениваться сообщениями с пользователями других серверов. Это обеспечивает:
- Децентрализацию — отсутствие единой точки отказа и контроля.
- Интероперабельность — возможность общаться с пользователями других серверов и даже других мессенджеров, поддерживающих протокол Matrix.
- Контроль над данными — пользователь или организация могут разместить собственный сервер и полностью контролировать свои данные.
Клиент-серверная архитектура
Element является клиентом Matrix — программным обеспечением, которое подключается к домашнему серверу. Пользователь может:
- Использовать публичный сервер, например, matrix.org.
- Зарегистрироваться на сервере своей организации.
- Развернуть собственный сервер (например, на базе Synapse — эталонной реализации домашнего сервера Matrix).
Функциональные возможности
Обмен сообщениями
- Текстовые сообщения — поддержка форматирования (Markdown), упоминаний, реакций, редактирования и удаления сообщений.
- Файлы и медиа — отправка изображений, видео, аудио, документов любых форматов.
- Групповые чаты — создание комнат (аналогов каналов) с настраиваемыми правами доступа, модерацией и историей.
Голосовая и видеосвязь
- Аудио- и видеозвонки — реализованы на базе WebRTC. Поддерживаются как индивидуальные, так и групповые звонки (до нескольких десятков участников).
- Демонстрация экрана — возможность показывать свой экран во время звонка.
Совместная работа
- Пространства (Spaces) — иерархическая структура для организации комнат по темам, проектам или отделам.
- Интеграции — поддержка ботов, мостов (bridges) для подключения к другим мессенджерам (Slack, Telegram, IRC, Discord, WhatsApp и др.) и внешним сервисам (Jira, GitHub, GitLab).
- Поиск — полнотекстовый поиск по сообщениям и файлам в комнатах и пространствах.
Безопасность и конфиденциальность
- Сквозное шифрование (E2EE) — все сообщения, файлы и звонки шифруются на стороне отправителя и расшифровываются только на стороне получателя. Используется протокол Olm и Megolm (реализации алгоритмов Double Ratchet и AES).
- Шифрование по умолчанию — в Element X включено для всех приватных и групповых чатов.
- Проверка устройств — возможность перекрестной проверки ключей шифрования между устройствами пользователя и между собеседниками.
- Отсутствие сбора метаданных — сервер Matrix не хранит IP-адреса пользователей, не анализирует содержимое сообщений и не передаёт данные третьим лицам.
Платформы и доступность
Element доступен на следующих платформах:
- Desktop — Windows, macOS, Linux (нативные приложения).
- Mobile — iOS, Android (в том числе через магазины приложений F-Droid и Aurora Store).
- Web — браузерная версия (Element Web).
- Terminal — текстовый клиент (Element Terminal).
Все версии синхронизируются через протокол Matrix: сообщения, комнаты и настройки доступны на всех устройствах одновременно.
Применение
Корпоративный сектор
Element используется в организациях, где требуется высокая степень контроля над данными и соответствие требованиям законодательства (например, GDPR, Федеральный закон № 152-ФЗ «О персональных данных»). Компании разворачивают собственные серверы Matrix, что позволяет:
- Хранить все данные на территории организации.
- Настраивать политики безопасности и аудит.
- Интегрировать с корпоративными системами (SSO, LDAP, Active Directory).
Государственные и военные структуры
В ряде стран Element применяется в государственных органах и оборонных ведомствах благодаря возможности полной изоляции сети и отсутствию зависимости от иностранных серверов. Например, во Франции мессенджер Tchap, созданный для государственных служащих, построен на протоколе Matrix и использует Element в качестве клиента.
Образование и научные сообщества
Университеты и исследовательские группы используют Element для организации коммуникации между участниками проектов, обмена данными и проведения онлайн-конференций.
Сообщества с открытым исходным кодом
Element является стандартным средством связи для многих проектов с открытым исходным кодом, включая сам проект Matrix, KDE, GNOME, Mozilla и другие.
Критика и ограничения
Производительность
Ранние версии Element (до 2023 года) критиковались за медленную загрузку комнат с большим количеством сообщений и высокое потребление оперативной памяти. Выход Element X на Rust SDK значительно улучшил ситуацию, однако на устройствах с ограниченными ресурсами (старые смартфоны, слабые ПК) приложение может работать медленнее, чем централизованные аналоги.
Сложность настройки
Для пользователей, не знакомых с децентрализованными системами, процесс регистрации на сервере и понимание концепции «домашнего сервера» может быть неочевидным. Развёртывание собственного сервера Matrix требует технических навыков и ресурсов.
Отсутствие некоторых функций
По сравнению с коммерческими мессенджерами, в Element отсутствуют некоторые продвинутые функции, такие как встроенные каналы с автоматической модерацией, поддержка Stories (историй), а также полноценная система «каналов» (аналог Telegram-каналов с подпиской без вступления в комнату).
Проблемы с мостами
Мосты для подключения к другим мессенджерам (Telegram, WhatsApp, Discord) могут работать нестабильно, требуют отдельных серверов и часто нарушают политику использования этих платформ. Кроме того, через мосты не всегда передаётся сквозное шифрование.
Интересные факты
- Element стал первым мессенджером, который внедрил сквозное шифрование для групповых чатов в открытом протоколе.
- В 2020 году, во время пандемии COVID-19, Element использовался правительством Франции для организации удалённой работы государственных служащих.
- Протокол Matrix, на котором работает Element, используется в Европейском союзе для создания защищённой системы коммуникации между государственными органами стран-членов.
- Element X, выпущенный в 2023 году, сократил время запуска приложения на мобильных устройствах с 5–10 секунд до менее чем 1 секунды.
Источники
- Официальная документация Element (element.io)
- Спецификация протокола Matrix (matrix.org)
- Статья «Element: The open-source, decentralized messenger» на сайте F-Droid
- Материалы конференции FOSDEM 2023: «Element X: The next generation Matrix client»
- Публикации компании New Vector Limited о развитии Element
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →