Федеративная система Matrix поддерживает связь с другими сетями через мосты. Это пример инфраструктуры, к которой нужно стремиться Signal
4 января 2021 года WhatsApp
Для просмотра ссылки необходимо нажать
Вход или Регистрация
в пользовательское соглашение. Теперь каждый пользователь обязан согласиться на отправку личных данных в материнскую компанию Facebook, иначе его аккаунт WhatsApp просто заблокируют. Эффект от изменений был вполне предсказуем — миллионы человек массово ушли из WhatsApp. Прежде всего, в Telegram и Signal.Павел Дуров
Для просмотра ссылки необходимо нажать
Вход или Регистрация
это «крупнейшей цифровой миграцией в истории»: всего за трое суток у Telegram появилось 25 млн новых пользователей, абсолютный рекорд. Илон Маск в твиттере прокомментировал события просто:
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, — написал он. То же самое
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Эдвард Сноуден. Мессенджер
Для просмотра ссылки необходимо нажать
Вход или Регистрация
для многих стал настоящим открытием.После изменения политики WhatsApp
Для просмотра ссылки необходимо нажать
Вход или Регистрация
: если говорить по-русски, это значит в 43 раза, а Telegram вышел на второе место по количеству скачиваний в США. В итоге они примерно сравнялись по количеству загрузок: 7,5 млн и 9 млн за первую неделю после той новости от WhatsApp.С точки зрения шифрования, приватности и защиты информации
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Криптографические протоколы Telegram в старой версии
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, они
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, а в новой версии протокол до сих пор не прошёл независимый аудит. С другой стороны, у Signal всё в порядке: надёжность и безопасность
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, код открыт и доступен для проверки всеми желающими.Таким образом, если пользователи бегут от драконовской политики WhatsApp в области приватности, то логично переходить на более защищённый и приватный мессенджер, то есть на Signal. Это лучшее, что у нас есть.
Граффити, сделанное во время массовых протестов в Калифорнии в 2017 году. Фото: Elijah Nouvelage, Getty Images
Как клиенты заддосили собственный сервер
К сожалению, инфраструктура Signal не справилась с наплывом миллионов новых людей. Причём случилось довольно забавно: клиентское программное обеспечение Signal фактически
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.В коде клиента под Android была ошибка по обработке таймаута. С наплывом десятков миллионов новых пользователей серверы начали иногда возвращать ошибку HTTP 508, но клиент не обрабатывал эту ошибку должным образом. Он снова и снова повторял попытки. Хотя в алгоритме и реализована
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, но не был предусмотрен вариант, когда сервер специально отказывает клиенту в соединении. При этом экспоненциальная выдержка работала без джиттера (элемента случайности).В итоге получилось так, что все начинали стучаться к серверу одновременно — и не было никакой возможности отключить эти «волны» DDoS'а.
Примечание. Строго говоря, здесь не совсем DDoS. В компьютерной науке для данной проблемы существует специальный термин
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Это можно перевести как «проблема грохочущего стада» — имеется в виду стадо, которое начинает орать одновременно.Хотя код
Для просмотра ссылки необходимо нажать
Вход или Регистрация
открыт и опубликован на GitHub, никто так и не заметил эту ошибку во время предыдущих аудитов и проверок. Вероятно, аудиторы сконцентрировали внимание на правильной реализации криптографии, а не на всяких интерфейсах, которые не угрожают безопасности. Хотя нужно заметить, что некорректную реализацию повторения попыток коннекта часто допускают начинающие программисты.16 января для исправления ситуации в код Android-клиента внесли следующие изменения. «Флаги функций» означают, что соответствующий параметр в клиентской программе может быть установлен сервером:
-
Для просмотра ссылки необходимо нажать Вход или Регистрация
-
Для просмотра ссылки необходимо нажать Вход или Регистрация
int boundedAttempt = Math.min(nextAttempt, 30);
long exponentialBackoff = (long) Math.pow(2, boundedAttempt) * 1000;
long actualBackoff = Math.min(exponentialBackoff, maxBackoff);
-
Для просмотра ссылки необходимо нажать Вход или Регистрация
-
Для просмотра ссылки необходимо нажать Вход или Регистрация
Теперь клиенты Signal не должны ддосить свой сервер.
Для таких ситуаций Mozilla предлагает принять новый код ошибки
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, чтобы определить ситуацию более ясно. Он сопровождается заголовком
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с указанием предпочтительного таймаута. Например:HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600
Возможно, такой код ошибки будет проще обрабатывать на клиенте.
Стабильность инфраструктуры Signal не налажена до сих пор, так что серверы периодически уходят в даун. Ничего не поделаешь, ведь Signal Foundation — это некоммерческая организация, которая существует на
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. В отличие от компаний Telegram FZ LLC и Telegram Messenger Inc., привлекающих десятки миллионов долларов от инвесторов с общей оценкой мессенджера в
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Но там пользователей фактически считают товаром. Павел Дуров объявил, что
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, то есть показывать рекламу, зарабатывать на профилировании, продаже данных, таргетировании рекламы и так далее. Единственное, что Дуров пообещал не показывать рекламу в личных чатах.Signal никогда не сделает ничего подобного. Но поэтому вынужден страдать от недостатка финансирования и связанных с этим технических проблем.
Кстати, мессенджер WhatsApp до покупки компанией Facebook нормально выдерживал более 100 млн пользователей. Но у него были деньги на инфраструктуру.
Централизованная инфраструктура — всегда плохо
Дело не только в недостатке инвестиций. Организацию Signal и ведущего разработчика Мокси Марлинспайка ещё упрекают в выборе не самого корректного технологического стека, который не позволил внезапно масштабироваться в десять раз. Никто не знал, что WhatsApp выкинет такой фокус и произойдёт массовый наплыв пользователей в Signal, это было совершенно неожиданно, но инфраструктура оказалась не готова.
Вообще, Мокси Марлинспайк выступает принципиально против
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, которая предусматривает сосуществование произвольного количества серверов Signal, принадлежащих третьим лицам. Например, такую модель предусматривает протокол коммуникации XMPP (Jabber), на котором отлично работает служба обмена сообщениями.Другой пример федеративной системы — электронная почта, которая основана на инфраструктуре из миллиона почтовых серверов от третьих лиц. Кто угодно может поднять собственный почтовый сервер — и он станет частью общей почтовой экосистемы.
Ещё один пример федеративной системы — социальная сеть
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, свободная альтернатива Facebook.Инстансы Mastodon
Матрица
Сквозное шифрование в любом случае делает невозможным перехват сообщений Signal на сервере, поэтому никто не мешает реализовать федеративную систему. Например, такая система реализована в сети
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, которая поддерживает любые виды коммуникаций, в том числе разработаны мосты в Slack, IRC, XMPP, Gitter, Telegram, Discord, WhatsApp, Facebook, Hangouts, Signal и
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Нативный клиент для Matrix называется
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, он выпускается в версиях для Windows, macOS, Android, iOS, а также
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, то есть просто в браузере.Веб-версия Element
Matrix поддерживает сквозное шифрование, причём фактически на том же
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, что и сам Signal. Но это система иного типа. В реальности Matrix — это инфраструктура для сторонних сервисов, некий промежуточный слой, его называют
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Используя все вышеперечисленные мосты, можно интегрировать все сторонние мессенджеры, приложения для групповой работы и социальные сети в едином интерфейсе Matrix.В прошлом году удалось значительно увеличить количество мостов для разных сервисов благодаря одному предпринимателю, который
Для просмотра ссылки необходимо нажать
Вход или Регистрация
за создание мостов Hangouts, Slack, Instagram, Facebook, Twitter, WeChat, Line, Linkedin, Airbnb, Tinder, Gmail и Snapchat.Как выяснилось сейчас, это были инвестиции с дальним прицелом: в январе 2021 года этот предприниматель запустил новый стартап:
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с интеграцией 15 мостов из Matrix.Тем временем разработчики Matrix рассматривают дальнейшую эволюцию проекта. Вместо федеративной системы с определённым количеством серверов они
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. На пиринговой инфраструктуре работает демонстрационная версия мессенджера
Для просмотра ссылки необходимо нажать
Вход или Регистрация
.Демо Riot P2P
Несколько лет назад разработчики Matrix
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Мокси подключить Signal (тогда он назывался TextSecure) к Matrix.Мокси вежливо отказался, а через несколько месяцев опубликовал пост
Для просмотра ссылки необходимо нажать
Вход или Регистрация
с объяснением, почему он «больше не верит в возможность разработки конкурентного мессенджера на федеративной основе».Аргументом Мокси Марлинспайка является то, что децентрализованную систему сложнее корректно спроектировать и запрограммировать. Программиста можно понять по-человечески, но сложность в реализации — это всё-таки недостаточное оправдание.
С каждым новым даунтаймом централизованная инфраструктура выглядит всё менее подходящей для Signal, да и для любого другого веб-сервиса, который ставит главным приоритетом надёжность работы. Даунтайм 16 января 2021 года
Для просмотра ссылки необходимо нажать
Вход или Регистрация
!Даунтайм на сутки — уже достаточный аргумент против централизации. Есть и другие. Например, Signal
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, а это уже определённый риск, как мы знаем по печальной истории
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, который тоже рискнул положиться на AWS.Хотя исходный код Signal открыт, но тот же
Для просмотра ссылки необходимо нажать
Вход или Регистрация
не обновлялся с апреля 2020 года. Это не значит, что там нет багов, а скорее указывает на недостаток внимания.Если Мокси по-прежнему будет игнорировать федеративные системы, то в будущем есть смысл посмотреть в сторону альтернативных приложений со сквозным шифрованием. Кроме Matrix, например, есть приложение
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Оно не полагается на центральные серверы и не требует номер телефона для регистрации (это ещё один повод для критики Signal).Мессенджер Session
Судя по
Для просмотра ссылки необходимо нажать
Вход или Регистрация
, одним из разработчиков Session является Максим Шишмарёв из проекта Loki Project. Эта организация занимается разработкой инструментов приватности и анонимных коммуникаций.Session и Riot выглядят более стабильно, хотя по функциональности и удобству использования уступают Signal. Но они показывают, в каком направлении нужно двигаться Signal с точки зрения инфраструктуры. Федеративная система без центральных серверов — это отсутствие единой точки отказа, что означает более стабильную и надёжную работу.
По крайней мере, такое приложение не заддосит само себя.
Для просмотра ссылки необходимо нажать
Вход или Регистрация