Запостить в p2p-формате — на каких протоколах строят децентрализованные соцсети (и есть ли у них будущее) +5


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

/ Unsplash.com / Shubham Dhage
/ Unsplash.com / Shubham Dhage

Децентрализация на практике

Пожалуй, одним из наиболее известных протоколов в этой области, является Nostr. Основу составляют серверы ретрансляции, отвечающие за приём так называемых «событий». Это — метаданные о пользователе (имя, фотография и биография), текстовые сообщения, а также информация о других ретрансляторах. Каждое событие в Nostr содержит публичный ключ, дату публикации и цифровую подпись.

Пользователь может отправлять ретранслятору три типа событий в виде массивов JSON с требованиями: 1) опубликовать сообщение; 2) прислать контент от авторов, на которых он подписан, и оформить новые подписки; 3) прекратить следить за обновлениями конкретного пользователя. Выглядит это вот так:

["EVENT", <event JSON as defined above>] — для публикации событий.
["REQ", <subscription_id>, <filters JSON>...] — для запроса событий и подписки на новые аккаунты по набору фильтров.
["CLOSE", <subscription_id>] — для отмены предыдущих подписок.

Ретранслятор, в свою очередь, может отправить клиенту два типа сообщений по шаблонам:

["EVENT", <subscription_id>, <event JSON as defined above>] — для отправки событий, запрошенных клиентами по конкретным фильтрам.
["NOTICE", <message>] — для отправки сообщений об ошибках или с другими дополнительными данными.

За взаимодействие с ретрансляторами в экосистеме Nostr отвечают клиенты. С их помощью пользователи формируют события, подписывают их ключами и отправляют на публикацию. Также клиенты умеют загружать данные с выбранных ретрансляторов, реализуя функцию «подписки». Если говорить о конкретных приложениях, то существует открытый мессенджер Anigma, построенный по образу и подобию Telegram, и соцсеть для обмена короткими сообщениями Damus. Есть даже шахматный клиент Jester и форум Nvote.

В то же время у Nostr есть и свои ограничения. Некоторые энтузиасты критикуют его за создание «не совсем децентрализованной схемы», которая не позволяет пользователям взаимодействовать напрямую. Они утверждают, что протокол объединяет худшие черты работы через посредников и низкую скорость работы, вызванную задержками в p2p-соединениях. Среди других проблем Nostr отмечают невозможность привязать несколько аккаунтов к одному профилю и восстановить его при утере ключей — из-за их тесной привязки к идентификации.

Какие есть альтернативы

Альтернативой Nostr является протокол ActivityPub. На его основе запускают проекты, построенные по принципу федерации. Например, на нем построена одна из крупнейших децентрализованных сетей Mastodon. В ней каждый пользователь самостоятельно выбирает сервер с подходящими правилами модерации. Другим примером может быть децентрализованный видеохостинг с открытым исходным кодом Peertube и платформа для публикации фотографий pixelfed.

Еще одна альтернатива Nostr — p2p-протокол Scuttlebutt. Это — инструмент для построения частных социальных сетей для друзей и родственников (ему достаточно сети из двух компьютеров). Scuttlebutt сохраняет сообщения пользователя в формате фида, где каждая запись хранит хеш предыдущей. Контентные цепочки нельзя редактировать, можно лишь добавлять к ним новые записи — как публичные посты, так и личные сообщения, зашифрованные открытым ключом получателя. Чтобы выйти за пределы семейного круга, можно обратиться к управляемым добровольцами серверам ssb в интернете. Они могут сохранять записи пользователей и делиться ими с другими людьми — за счет этого можно поддерживать контакт с большим количеством человек.

Есть ли у таких проектов будущее

Децентрализованные сети набирают популярность, но их перспективы остаются туманными. Несмотря на колоссальный рост аудитории, общее число пользователей по-прежнему невелико (по сравнению с классическими соцсетями).

/ Unsplash.com / Y K
/ Unsplash.com / Y K

Миграцию тормозят сразу несколько факторов. Даже самые заинтересованные энтузиасты обращают внимание на техническую сложность работы с p2p-соцсетями. Из-за необходимости искать сервера и ретрансляторы, такие проекты оказываются неудобны для неопытных пользователей. Каждое сообщество требует создавать под него отдельный профиль. Если старый профиль утрачен, перенести подписчиков и посты из него просто так не получится. Со временем у новых соцсетей также могут возникнуть проблемы с масштабированием из-за количества публикуемого контента.

Еще одна проблема — модерация. Децентрализованные соцсети быстро заполняются спамом и другим контентом, мешающим общению. Модерацией должны заниматься серверы и ретрансляторы, но не все готовы это делать. Из-за отсутствия каких-либо стандартов такими проектами начинают интересоваться государственные регуляторы.

Специалисты по интернет-праву отмечают, что по мере роста сетей вроде Mastodon на владельцев частных серверов ляжет ответственность за поведение пользователей. Например, администраторам придётся удалять размещаемый контент, если он защищён авторским правом или нарушает законы стран, в которых сообщество надеется продолжить работу. Дополнительные затраты и ответственность определенно повлияют на скорость роста p2p-соцсетей.

Остается только догадываться, сможет ли p2p-сообщество вовремя предложить действительно жизнеспособную альтернативу, учитывающую наиболее значимые риски. И если не преодолеть имеющиеся сложности, то есть вероятность, что децентрализованные соцсети останутся нишевым продуктом для энтузиастов.


Дополнительное чтение в наших блогах:




Комментарии (1):

  1. spyload
    /#25161364

    Немного фантазии:
    А так круто иметь свою мини "сервер коробочку, " дома, просто купив как плейстейшен, и по технологии P2P иметь все сервисы от "почты", своих сайтов, и соцсетей, видео конференций, игр и асек, как-бы держишь все свое у себя, и от себя же отдаешь, т.е сервер коробка, как плагин и логин к сети интернет, и твой сервер, как аккаунт и адрес к своему пространству, лишь маленький сегмент, среди других таких-же, которые создают такой интернет. Т.е создать сервер операционку /api - главный протокол, и на нем уже писать под-протоколы "плагины", в виде P2P ново-почты, apache, протокола соц сети, и т.д, запустить в продакшен, чтоб даже первоклассники могли всё сами запустить, особенно уже на дворе IPV6.