Bitsocial и ActivityPub
ActivityPub — стандарт W3C, на котором построен Fediverse. Пользователи выбирают сервер, называемый инстансом, который размещает их учётную запись, а серверы обмениваются постами друг с другом. Mastodon — самое известное ПО для микроблогов в Fediverse; Lemmy — агрегатор ссылок и форум в стиле Reddit, состоящий из тематических сообществ, поэтому из всего Fediverse он ближе всего к приложениям Bitsocial вроде Seedit.
Как работает ActivityPub
- Входящие и исходящие. У каждой учётной записи есть inbox и outbox. Серверы доставляют активности во входящие ящики на других серверах, и каждый принимающий сервер хранит собственную копию того, на что подписаны его пользователи.
- Идентичность принадлежит серверу. Идентификаторы учётных записей и постов — это HTTPS-адреса
на домене исходного сервера. Хэндл в Mastodon выглядит как
@user@domainи разрешается через WebFinger, а сервер подписывает федеративные сообщения от имени пользователя. - Клиенты. Приложения и браузеры общаются только с сервером самого пользователя, через API этого сервера.
- Сообщества Lemmy. Сообщество — это групповой актор, размещённый на одном инстансе. Пользователи отправляют посты в сообщество, а оно ретранслирует их своим подписчикам; по общему стандарту для форумов (FEP-1b12) сообщество может сначала проверять посты — вплоть до ручного одобрения модераторами.
- Модерация. Модерация локальна для каждого сервера. Администраторы могут приостанавливать учётные записи, блокировать целые серверы или федерироваться только с серверами из белого списка; в Lemmy у каждого сообщества также есть модераторы.
- Защита от спама. ActivityPub не определяет никакого антиспам-механизма. Mastodon и Lemmy ограничивают регистрацию одобрением, приглашениями, вопросами в заявке, капчами и проверкой электронной почты, а затем полагаются на ограничения частоты, жалобы и модерацию.
Чем они различаются
Идентичность принадлежит домену
Учётная запись в Fediverse принадлежит домену своего сервера. Mastodon может перенаправить подписчиков на новую учётную запись, но посты не переезжают, переезд должен начинаться со старого сервера, и действует 30-дневный период ожидания. В Bitsocial профили и сообщества — это пары ключей, поэтому смена хоста или приложения не меняет идентичность. См. Идентичность и собственность сообщества.
Где живёт сообщество
Сообщество Lemmy по устройству близко к сообществу Bitsocial: посты отправляются в сообщество, которое может проверить их перед ретрансляцией. Разница в том, где оно живёт. Сообщество Lemmy можно создать только на домашнем инстансе его создателя, администратор инстанса полностью его контролирует, а документированного способа перенести его на другой инстанс нет. Сообщество Bitsocial — это собственная пара ключей: владелец может запустить его узел где угодно, и над ним нет никакого администратора сервера.
Защита от спама
Серверы Fediverse в основном останавливают спам на этапе регистрации, а модерируют уже потом. Сообщество Bitsocial прогоняет каждый пост через проверку, прежде чем принять его, и каждое сообщество выбирает свою: капчу, белый список, оплату или любой другой код. См. Пользовательские задачи по борьбе со спамом.
Эксплуатация инфраструктуры
Запуск инстанса означает постоянно работающий сервер с доменом, TLS и электронной почтой. Mastodon
также требует PostgreSQL, Redis и фоновых воркеров; Lemmy легче — около 150 МБ оперативной памяти по
его собственным данным. Каждый инстанс хранит копии удалённого контента, на который подписаны его
пользователи. Узлу сообщества Bitsocial не нужны ни домен, ни сертификат, и он запускается из
десктопного приложения или bitsocial-cli.
Что серверы дают взамен
Серверы Fediverse хранят полную историю и надёжно её отдают, а у Mastodon есть зрелые инструменты модерации, отточенные за годы. Bitsocial не гарантирует, что старый контент сохранится навсегда, а его инструменты модерации живут в каждом приложении.
Сравнение
| Вопрос | ActivityPub (Mastodon, Lemmy) | Bitsocial |
|---|---|---|
| Категория | Федеративные серверы | P2P-сеть сообществ |
| Идентичность | Учётная запись на домене сервера, подписанная сервером | Пары ключей Ed25519 для пользователей и сообществ |
| Где хранятся посты | Исходный сервер плюс копии на каждом сервере, где есть подписчики | Узел владельца сообщества и пиры, которые читают и раздают его |
| Кто держит контент онлайн | Администраторы инстансов | Узел владельца сообщества плюс вспомогательные сидеры |
| Сообщества | Сообщества Lemmy, размещённые на одном инстансе | Полноценные объекты, чей узел принимает или отклоняет посты |
| Защита от спама | Фильтры при регистрации, ограничения частоты, жалобы и модерация | Антиспам-проверка сообщества перед тем, как пост будет принят |
| Модерация | Администраторы серверов и модераторы сообществ, локально на каждом сервере | Владельцы сообществ модерируют свои сообщества; приложения выбирают, что показывать |
| Имена | Хэндлы @user@domain и !community@domain | Имена .bso и .eth, которые разрешаются в ключи |
| Браузер | Клиент сервера самого пользователя | P2P-узел внутри обычной вкладки браузера |
| Главный компромисс | Надёжная история и зрелая модерация, но идентичность и сообщества принадлежат серверу | Не нужны ни сервер, ни домен, но старый контент не гарантирован навсегда |