:blobcatthink: :blobcatthinkingglare:
Возможно, я открываю Америку, но я тут на досуге просмотрел доки по ATProto (https://atproto.com/guides) - протоколу, по которому работает Bluesky - и вот что меня зацепило.
Если я правильно понял их витиеватый tech speak, то ключевая единица в этом протоколе - это репозиторий данных (data repo, "репа"), солянка из JSON-файлов и блобов, которая является репрезентацией пользователя. Репы хранятся на персональных серверах данных (PDS), которые могут присвоить им хэндл и уникальный децентрализованный ID (DID). Обращение к репам из PDS ведётся через реле (для агрегации и синхронизации) или через веб-приложения, которые в протоколе называется AppView.
Собственно, так я и нашел ответ на вопрос селф-хоста Блюская. Мы разворачиваем не весь сервис целиком (как в случае с ActivityPub-сервисами), а сервер с дата-репой, к которой уже обращаются клиенты, работающие на ATProxy, а Bluesky - и есть такой клиент. ==>
Т.е. по логике я могу зайти в Блюскай под своей репой и переписываться со всеми остальными, как если бы я был в Федиверсе, НО все мои посты и контент при этом будут складироваться не на инстансе/сервере Блюская, а в моей репе, лежащей на моем же сервере.
Надо бы это дело как-нибудь потестить, слишком хорошо это звучит на бумаге.
Ещё в этой истории меня напрягают реле, которые собирают данные по репам. Ничего не сказано об их реализации или процессе агрегирования, по крайней мере, в словарике.