Большинство современных интернет-платформ (соцсети, мессенджеры и другие онлайн-сервисы) строятся на принципе «дата-экстрактивизма», то есть их основная бизнес-модель — накопление, аналитика и перепродажа данных своих пользователей. Прибыль в таком случае присваивает небольшая группа цифровых предпринимателей (лидеры здесь, безусловно, Amazon и Google), простые юзеры лишь выполняют роль бесплатной рабочей силы. К тому же мы совсем не знаем, как на самом деле работают эти гиганты, потому что они используют полностью закрытый код. В этом посте я попытаюсь объяснить, что такое децентрализованные веб-сервисы и чем сама децентрализация может быть полезна рядовым интернет-пользователям в борьбе за цифровые права и, в частности, за право на приватность.
Почему открытый исходный код важен
Открытый код — это та же прозрачность и отчетность, которой мы должны требовать и требуем от государственных органов или частных предприятий, но только в применении к программному обеспечению.
Вам важно знать, что содержит еда, которую вы едите. А если вы к тому же аллергик — вы вряд ли выберете продукт, на этикетке которого нет списка всех ингредиентов. Почему же с компьютерными программами и сервисами все иначе? Открытый код означает, во-первых, что сообщество может проверить систему на наличие уязвимостей, выявить недостатки и улучшить продукт. Этот процесс (peer review) потенциально бесконечен. Он основывается на участии сообщества в создании коллективного инструмента, код которого доступен и становится общественным благом.
В прошлом посте я много писала об опасностях сервиса «ВКонтакте». Но чтобы вернуть себе право на приватность в Сети и контроль над своими данными, мало перейти с «ВКонтакте» на Facebook или даже в Telegram. Такое решение проблемы похоже на ситуацию с идущим ко дну кораблем, когда пассажиры в поисках спасения бегут с одного конца тонущего судна на другой.
Наш цифровой корабль в каком-то смысле и правда тонет: недаром «отец» мировой Паутины Тим Бёрнерс-Ли бьет тревогу, говоря об опасностях централизованных сервисов. Ведь интернет был задуман как разветвленная децентрализованная сеть, и централизация плохо сказывается не только на нас с вами, но и на самих технических сетях, на инфраструктурах, лежащих в основе Сети.
Любопытно, но инфраструктуры обычно становятся заметны обычному пользователю, когда ломаются. Работающую инфраструктуру и вовсе не должно быть видно: например, провода, по которым интернет приходит к нам в дома, все реже пускают по воздуху и все чаще укладывают в специальные «канализации», а крупные магистральные линии связи проходят по дну океана. И только когда происходит обрыв, мы вспоминаем, что где-то лежат эти самые провода.
Однако социологи науки и техники Джеффри Боукер и Сьюзанн Лей-Стар утверждают, что именно инфраструктуры фундаментально определяют наш пользовательский опыт и ту социотехническую реальность, в которой мы существуем.
Какие бывают интернет-архитектуры
Существует два основных типа альтернатив централизованным архитектурам: децентрализованные (федеративные) и распределенные (distributed, или peer to peer). Если в централизованных платформах наши устройства (клиенты) обращаются к центральной штаб-квартире (серверу), то в распределенных или федеративных системах таких «штабов» множество.
Telegram, Signal, WhatsApp, Wire — все эти мессенджеры обещают нам шифрование переписки. Все четыре мессенджера объединяет общая черта: централизованный сервер, на который попадают ваши сообщения, прежде чем их доставляют вашему собеседнику. И если сквозное шифрование в Signal или WhatsApp защищает содержание переписки, то метаданные (информация об устройстве, с которого отправлено сообщение, времени отправки, а иногда и размере сообщения и прикрепленных к нему файлов) не всегда так же надежно защищены. В случае с Telegram наличие серверов становится еще более критичным: ведь обычные групповые чаты не шифруются сквозным образом — при желании любой, у кого есть доступ к серверам, получает доступ и к вашей переписке. Только секретные чаты в Telegram обещают нам этого избежать.
Критики централизации среди главных недостатков таких систем называют неустойчивость к блокировкам, уязвимость для слежки, отсутствие возможности как-то адаптировать решение под нужды конкретных проектов и организаций.
Распределенные сети устроены иначе. Такого рода архитектуры подразумевают множество узлов связи, которые минуют центральный штаб и сообщаются напрямую. При этом каждый из них одновременно является и передатчиком, и приемником, и клиентом, и сервером. Каждый узел может полноценно участвовать в работе сети, раздавая полезные ресурсы и получая взамен данные. По такому принципу работают знакомые каждому, хоть и сейчас официально нелегальные, торренты.
Торренты — пример распределенной сети (peer-to-peer, или «ты — мне, я — тебе»). Любители торрентов знают, что скорость скачивания файлов сильно увеличивается от количества раздающих эти файлы людей. Таким образом, распределенные сети построены на идее активного соучастия и при этом не претендуют на полный доступ к вашему личному девайсу и вашим данным.
Сети, построенные на принципе peer-to-peer, похожи на самоорганизованные «народные» библиотеки: чем больше участников, чем больше книг, тем интересней и богаче выбор. Или на коммуникацию советских радиолюбителей, ловящих в эфире голоса других радиоэнтузиастов, попеременно передавая сообщения и принимая сигналы. Чем больше таких точек в эфире, тем интересней выходить на связь.
Конечно, и у распределенных систем есть свои риски и проблемы: как показал опыт с биткоином, определенные параметры системы (например, ограниченное количество биткоинов и растущая сложность по их добыче) могут привести к тому, что часть участников начинает сосредотачивать в своих руках слишком большое количество ресурсов и создавать что-то вроде олигархии внутри децентрализованной системы. Чтобы справиться с этой проблемой, сообществу придется, во-первых, прилагать большие усилия для коллективного модерирования, а во-вторых, изначально прописать такие свойства протокола, которые свели бы к минимуму возможность централизации «власти».
Другая проблема распределенных сервисов — их относительная ресурсоемкость: вам придется хранить у себя на устройстве либо всю базу, либо ее часть или «образ». Страдают и батареи устройств: пир-ту-пир-мессенджеры, например известный в узких кругах Briar, потребляют больше энергии, чем их централизованные аналоги.
Самый старый и самый эффективный пример работающей федеративной сети — электронная почта. В федеративных системах каждый сервер-участник раздает места пользователям, которые группируются вокруг него, как лучи вокруг солнца. В федеративной галактике существует множество островов-серверов, или инстанций, которые могут между собой переговариваться, таким образом координируясь на международном и межсерверном уровне. Отсюда слово «Федиверсум» (federation + universe) — так обозначается активно развивающаяся универсальная внутренне связанная сеть федерированных сервисов, в которую входят такие проекты, как Mastodon, Pleroma, Peertube, Pixelfed и другие.
Преимущество федеративности в ее универсальности: имея аккаунт в одном сервисе, пользователь может взаимодействовать с другими сервисами Федиверсума, не регистрируясь в них. По состоянию на май 2020 года в Федиверсум входило 45 сервисов, работающих на 13 различных протоколах и обслуживающих более 3 млн пользователей.
Федеративность возможна благодаря стандартизированным универсальным протоколам — как, например, SMTP (стандарт, на котором работает имэйл). Jabber — один из первых мессенджеров, существовавший еще до Telegram, Signal, WhatsApp, работает на протоколе XMPP, стандарте, который позволяет синхронный (моментальный) обмен сообщениями. Другой значимый протокол, поддерживающий работу федеративных сервисов, — стандарт ActivityPub, принятый в 2018 году консорциумом Web3C. На нем работают, например, платформы для микроблогинга Mastodon и Pleroma (децентрализованные альтернативы Twitter).
Есть еще множество протоколов, историю которых и различия между которыми я подробно описала в отдельной статье (Ermoshina, Musiani, Halpin, 2016). Эти стандартизированные протоколы можно сравнить с универсальным языком, который помогает разным «островкам» в федеративной сети понимать друг друга и организовываться на более глобальном уровне.
Стандартизирование тут играет важную роль, которую можно сравнить с консенсусом: мы договариваемся о том, что будем использовать одну и ту же грамматику, чтобы понимать друг друга. Федеративные протоколы подразумевают реплицирование, то есть я могу взять и в любой момент создать свой личный почтовый сервер. При этом масштабирование такой инстанции будет зависеть только от места на моих серверах, их мощности и моей дерзости — я могу расширять инстанцию и принимать новых участников, если это необходимо.
Среди преимуществ федеративных систем можно назвать их отказоустойчивость, устойчивость к блокировкам и цензуре, а также дополнительный слой безопасности, который обеспечивается именно наличием множества серверов.
Так, в 2019 году Роскомнадзор обратился к федеративному мессенджеру Delta Chat с требованием выдать данные пользователей и войти в Реестр организаторов распространения информации. Однако команда Delta Chat объяснила, что технически не может выполнить требования российских властей.
Оказалось, у мессенджера нет своих серверов, соответственно, нет и доступа к данным пользователей, а вся переписка, во-первых, зашифрована, а во-вторых, хранится на почтовых серверах, выбранных самими пользователями. Поэтому «даже при желании» команда Delta Chat не смогла бы дать спецслужбам доступ к перепискам пользователей. Таким образом федеративные архитектуры защищают нас от лишнего внимания спецслужб, помогают сохранять анонимность и конфиденциальность переписки.
Другое важное свойство федерации, ради которого стоит задуматься о переезде в Федиверсум, — это возможность мигрировать с сервера на сервер. Вы можете достаточно легко завести новый имэйл-аккаунт, настроив переадресацию писем со старого аккаунта, и продолжить общение с коллегами и друзьями, постепенно приучив ваш круг общения к вашей новой почте. Внутри Федиверсума вам, например, вовсе не обязательно заводить аккаунт в каждом из сервисов: вы можете читать сообщения из «Мастодона», находясь в «Плероме», и так далее.
Пример такой федеративности — мосты между мессенджерами. Например, умельцы ловко настраивают мосты между Telegram и децентрализованным мессенджером Element (бывший Riot, работающий на протоколе Matrix), а также между Telegram и известным в кругах айтишников IRC (Internet Relay Chat).
Такая настройка мостов позволяет прервать изолированность, в которую нас погружают централизованные сервисы, и вернуться к пониманию интернета как децентрализованной, глобально связанной сети.
Федерация и децентрализация также обеспечивает нам бóльший контроль за нашими данными. Например, у меня есть зашифрованное облачное хранилище, которое поддерживает (хостит) коллектив знакомых мне IT-активистов из Франции. Я жертвую ежемесячно небольшую сумму на содержание этого облака и сервисов, привязанных к нему (альтернатива Google-сервисов, включающая в себя таблицы и документы, файлообменник, сервис для видеозвонков и прочее). Так я могу быть уверена, что мои данные защищены, доступ к ним есть только у меня и на них не зарабатывают рекламные сервисы.
Конечно, в идеальном мире мечты каждый и каждая должны уметь настроить себе сервер и хранить свои данные, почту, картинки сами. Но пока это не так, у нас есть альтернативные решения, заключающиеся в том, чтобы перестать поддерживать крупные корпорации вроде Google и отказаться от сервисов, предоставляемых Mail.ru Group и Yandex в пользу локальных, поддерживаемых независимыми техническими коллективами федеративных решений.
Во Франции, например, активно развиваются проекты Degooglize Internet и Framasoft, которые призывают уход от Google и других IT-корпораций и предлагают альтернативные свободные сервисы.
Одна из важных черт Федиверсума — это его гибкость, подстраиваемость к предпочтениям и ценностям пользователей. В отличие от алгоритмов рекомендаций YouTube, на которые вы мало можете повлиять, у его федеративного и свободного аналога Peertube гораздо больше рычагов, позволяющих пользователям настраивать под себя контент-фильтры.
В целом федеративные сервисы делают пользователей гораздо ближе к администраторам и модераторам. В небольших инстанциях на несколько сотен или пару тысяч пользователей многие могут быть знакомы с администраторами лично (даже офлайн!), а также у пользователей есть возможность голосовать и влиять на дизайн и технический функционал сервисов (например, увеличение количества допустимых знаков, этический кодекс инстанции, бан или, наоборот, «разбан» конкретных юзеров и так далее).
Не слишком ли много свободы?
Устройство федеративных сервисов дает им не только преимущества, но и открывает определенные риски: например, из-за открытого кода и возможности для любого создавать свои инстанции в том же «Мастодоне» появляются новые сервисы с сомнительной репутацией, использующие то же самое программное обеспечение. Например, нашумевший аналог Twitter для ультраправых и правых под названием Gab, который использует код «Мастодона». Именно туда хлынула волна пользователей, забаненных в Twitter за разного рода язык вражды (hate speech). Модераторы инстанций «Мастодона» даже собирали чрезвычайное собрание, чтобы подумать, что делать со всеми этими правыми «беженцами» и стоит ли их принимать у себя.
Если крупные площадки вроде Twitter имеют мощные механизмы цензуры (и модераторов, и алгоритмы, распознающие определенный контент или лексику), то федеративные сервисы дают пользователям гораздо большую свободу — а значит, и ответственность за тот контент, который они создают и распространяют.
Пока что Федиверсум отвечает на появление таких радикальных инстанций исключением их из глобальной федерации (модераторы большинства инстанций просто отказываются коннектиться с Gab, несмотря на общность протокола Activity Pub). В итоге Gab существует как некий чумной форт, эхо-комната, в которой участники ферментируются в собственном соку, разделяя общие, весьма радикальные, идеи.
Сторонники децентрализации считают, что ответом на появление таких эхо-комнат, распространяющих язык вражды, может стать укрепление связей между существующими инстанциями и наращивание пользовательской базы, чтобы на фоне более качественного контента единичные островки негатива просто терялись бы. Однако вопрос остается открытым! Децентрализованные соцсети молоды и находятся в самом разгаре своего становления. Сейчас самое время подключиться к ним и увидеть своими глазами, чем мир Федиверсума отличается от привычных нам централизованных соцсетей и мессенджеров с закрытым кодом.
Децентрализованные альтернативы: с чего начать
Если вы сейчас думаете: «Мне интересно децентрализоваться! Куда мне идти и с чего начать?», прочитайте мой небольшой путеводитель по альтернативным сервисам.
Микроблогинг
Самый популярный в этой категории — сервис Mastodon, в 2020 году им пользовались 4 млн человек. Это полноценная замена Twitter, дающая пользователям гораздо больше гибкости и контроля. Так, например, вы можете выбрать любую открытую для регистрации инстанцию, которая подходит вам по интересам, этике, ценностям. Инстанций множество и на любой вкус: от аниме до философии и кибернетики. Есть и более нейтральные инстанции. Список инстанций можно посмотреть тут: https://instances.social. Одна из крупнейших русскоязычных инстанций (https://mastodon.ml). Официальный сайт «Мастодона»: https://joinmastodon.org/.
Pleroma — еще один сервис микроблогинга, менее популярный, чем Mastodon. Это решение считается «легче» «Мастодона».
Фото- и видеосервисы
Pixelfed — децентрализованная альтернатива Instagram. По своему интерфейсу очень похожа на популярную соцсеть, но не сотрудничает с Facebook. По уровню контента сервис сейчас кажется приятней: здесь редко встретишь блоги звезд и знаменитостей, хвастающихся роскошной жизнью. Зато гораздо больше фотографий путешественников, творческих людей, изобретателей. Также ваши данные остаются с вами: «Пиксельфед» не использует сторонние трекеры.
Peertube — децентрализованная альтернатива YouTube. Тут можно выбирать инстанции по интересам (список инстанций: https://joinpeertube.org/instances#instances-list), а также настраивать собственные фильтры для контента (например, по возрастному принципу или исключить из рекомендаций видео на определенные темы).
Мессенджеры
Delta Chat — по интерфейсу этот мессенджер, разработанный интернациональной командой из Германии, России, США, Франции, Гаити и Кубы, напоминает Telegram. Тут можно отправлять видео-, фото- и аудиосообщения, создавать групповые чаты и даже каналы, пользоваться разными ботами, настроить таймер для автоудаления сообщений, делиться геолокацией безопасным способом... Все это происходит на основе почтового протокола SMTP. То есть «Дельтачату» не нужен ваш номер телефона. Вы можете создать аккаунт на любом почтовом сервисе, поддерживающем SMTP. Ваши сообщения при этом будут шифроваться надежным алгоритмом PGP. У самого «Дельтачата» нет серверов, то есть команда разработчиков не знает, что вы обсуждаете в ваших чатах. И еще одна отличная новость: в «Дельте» все чаты «секретные», даже групповые чаты. Это значит, что имеющие доступ к почтовому серверу люди также не узнают, о чем вы общаетесь. Подробный обзор на русском: https://habr.com/ru/post/442266/ Сайт: https://delta.chat.
Matrix (Element) — это не просто мессенджер, это целый протокол! Отдельная экосистема, позволяющая связывать между собой разные сервисы, например Slack и Twitter. Протокол «Матрикс» федеративен, то есть вы можете иметь там свой сервер и установить свои правила. В групповых чатах «Матрикса» поддерживается сквозное шифрование протоколом MegOLM (вариация протокола «Сигнал» для децентрализованных сервисов). Кроме того, в нативном клиенте Element (приложение для Андроида, iOS и разных десктопов) поддерживаются видео и аудиозвонки. Недавно команда «Матрикса» представила и распределенную (p2p) версию. «Матриксу» доверяют государственные организации разных стран (например, министерство здравоохранения Германии, которое недавно выбрало «Матрикс» своим основным внутренним мессенджером).
Briar — приложение Briar для Андроида позволяет группе людей переписываться без подключения к интернету — по Bluetooth. Его тестировали в полевых условиях в Бразилии, а также в Беларуси и России во время отключения мобильного интернета или падения его скорости на фоне протестов. Briar пускает трафик через Tor, скрывая ваши метаданные. Однако, к сожалению, пока что в Briar не поддерживается обмен мультимедиа файлами, а также аудио- и видеозвонки.
Ricochet — приложение Ricochet для десктопа (Linux, MacOS и Windows) также является децентрализованным и проводит трафик через Tor, предоставляя максимальную защиту метаданных. Интерфейс «Рикошета» пока что весьма минималистичен, у него нет мобильной версии.
Scuttlebutt — существуют проекты, которые вообще опираются и на альтернативные интернету сети и работают полностью или частично офлайн, через mesh-сети, Bluetooth и другие протоколы. Проект Scuttlebutt (на сленге британских моряков это слово означает «слухи, сплетни»), например, задумывался разработчиком Домиником Тарром (который, кстати, живет на яхте и постоянно путешествует) как активистская соцсеть без зависимости от спутниковой сети и интернет-провайдеров.
Очень важная, хорошая статья!
Чудесная статья!)
Учим матчасть...
Я интересовался, можно ли звонить и писать сообщения напрямую с телефона на телефон по IP-адресам, без каких-то промежуточных серверов. Это возможно при условии поддержки протокола IPv6 (из мобильных операторов он есть пока только на МТС).
Для звонков я пользовался приложением Linphone. Так как адреса в сети динамические, нужен ещё какой-то сервис динамического DNS (но если у вас есть свой домен, вы не будете зависеть от какого-то одного сервиса, его можно просто сменить без смены вашего адреса), и DNS хранит только адреса, но не трафик.
В Linphone поддерживается шифрование и контроль целостности данных при звонках. Но к сожалению с сообщениями там гораздо хуже, шифрование через какой-то хитрый сервер, передача файлов тоже не напрямую... Сообщения напрямую между пользователями поддерживаются очень ограниченно.
DeltaChat умеет работать через email, но к сожалению не умеет устанавливать связь напрямую (а не через сервер) с помощью WebRTC (для ускорения доставки сообщений, а также возможности звонить через него), хотя он мог бы передавать необходимую информацию в заголовках сообщений, как сейчас передаёт ключи шифрования. Так что пока идеального децентрализованного приложения для связи напрямую между пользователями нет. Есть ещё Jami, но он использует часть своей инфраструктуры для доступа к распределённой БД адресной информации, а устанавливать подключение к этой БД напрямую на мобильном накладно с точки зрения трафика и заряда батарейки.
Как может "безопасный чат" весить 50 мегабайт и иметь кучу разнообразных разрешений к функциям смартфона, вот объясните мне пожалуйста!?😂😂😂😭