Bitsocial と ActivityPub
ActivityPub は、Fediverse を支える W3C 標準です。利用者はインスタンスと呼ばれるサーバーを選び、そこに自分のアカウントをホストしてもらいます。サーバー同士は互いに投稿をやり取りします。Mastodon はその代表的なマイクロブログソフトウェアです。Lemmy はトピックごとのコミュニティで構成される Reddit 型のリンクアグリゲーター兼フォーラムで、Seedit のような Bitsocial アプリに Fediverse の中で最も近い存在です。
ActivityPub の仕組み
- 受信箱と送信箱。 各アカウントには受信箱 (inbox) と送信箱 (outbox) があります。サーバーはアクティビティを他のサーバー上の受信箱へ届け、受信側の各サーバーは自分の利用者がフォローしているものの独自のコピーを保存します。
- サーバーが所有するアイデンティティ。 アカウントと投稿の ID は、発信元サーバーのドメイン上の HTTPS アドレスです。Mastodon のハンドルは
@user@domainの形で、WebFinger で解決され、サーバーが利用者に代わってフェデレーションのメッセージに署名します。 - クライアント。 アプリやブラウザは、利用者自身のサーバーとだけ、そのサーバーの API を通じて通信します。
- Lemmy のコミュニティ。 コミュニティは、1 つのインスタンス上にホストされるグループアクターです。利用者が投稿をコミュニティへ送ると、コミュニティはそれをフォロワーに再配信します。共通のフォーラム標準 (FEP-1b12) では、コミュニティは先に投稿を検証することができ、モデレーターによる手動承認まで行えます。
- モデレーション。 モデレーションは各サーバー内で完結します。管理者はアカウントを停止したり、サーバーをまるごとブロックしたり、許可リストに載ったサーバーとだけフェデレーションしたりできます。Lemmy には、コミュニティごとのモデレーターもいます。
- スパム対策。 ActivityPub はスパム対策の仕組みを定義していません。Mastodon と Lemmy は、承認、招待、登録時の質問、CAPTCHA、メール確認によって登録を制限し、その後はレート制限、通報、モデレーションに頼ります。
どこが違うのか
アイデンティティはドメインに属する
Fediverse のアカウントは、そのサーバーのドメインに属します。Mastodon ではフォロワーを新しいアカウントへ移すことはできますが、投稿は移せず、移行は元のサーバーから始める必要があり、30 日間のクールダウンもあります。Bitsocial では、プロフィールもコミュニティも鍵ペアなので、ホストやアプリを変えてもアイデンティティは変わりません。アイデンティティとコミュニティの所有権 を参照してください。
コミュニティがどこにあるか
Lemmy のコミュニティは、構造的には Bitsocial のコミュニティに近いものです。投稿はコミュニティへ送られ、コミュニティは再配信の前にそれを確認できます。違いは、コミュニティがどこにあるかです。Lemmy のコミュニティは作成者のホームインスタンスにしか作れず、インスタンスの管理者がそれを 完全に掌握しており、別のインスタンスへ移す方法は文書化されていません。Bitsocial のコミュニティはそれ自体が鍵ペアです。所有者はそのノードをどこででも動かせ、上に立つサーバー管理者はいません。
スパム対策
Fediverse のサーバーは、主に登録の段階でスパムを止め、その後はモデレーションで対処します。Bitsocial のコミュニティは、すべての投稿に対して受理する前にチャレンジを実行し、そのチャレンジは CAPTCHA、許可リスト、支払い、その他任意のコードなど、各コミュニティが自ら選びます。カスタムのスパム対策チャレンジ を参照してください。
インフラの運用
インスタンスを運用するには、ドメイン、TLS、メールを備えた常時稼働のサーバーが必要です。Mastodon にはさらに PostgreSQL、Redis、バックグラウンドワーカーが必要です。Lemmy はもっと軽く、本家の数字によれば RAM は約 150 MB です。各インスタンスは、自分の利用者がフォローしているリモートのコンテンツのコピーを保存します。Bitsocial のコミュニティノードはドメインも証明書も必要とせず、デスクトップアプリや bitsocial-cli から動かせます。
サーバーが見返りに提供するもの
Fediverse のサーバーは完全な履歴を保持して確実に配信し、Mastodon には長年かけて育ってきた成熟したモデレーションツールがあります。Bitsocial は古いコンテンツを永久に保証するわけではなく、モデレーションツールはそれぞれのアプリの中にあります。
比較
| 論点 | ActivityPub (Mastodon, Lemmy) | Bitsocial |
|---|---|---|
| 分類 | フェデレーション型のサーバー群 | ピアツーピアのコミュニティネットワーク |
| アイデンティティ | サーバーのドメイン上のアカウント。署名はサーバーが行う | 利用者とコミュニティの Ed25519 鍵ペア |
| 投稿の保存場所 | 発信元のサーバーと、フォローしている各サーバー上のコピー | コミュニティ所有者のノードと、そのコミュニティを読んでシードするピア |
| 誰が公開を維持するか | インスタンスの管理者 | コミュニティ所有者のノードと補助のシーダー |
| コミュニティ | 1 つのインスタンスにホストされる Lemmy のコミュニティ | 自身のノードが投稿を受理または拒否する第一級のオブジェクト |
| スパム対策 | 登録時の関門、レート制限、通報、モデレーション | 投稿が受理される前に課される、各コミュニティのチャレンジ |
| モデレーション | サーバー管理者とコミュニティのモデレーター。各サーバー内で完結 | コミュニティ所有者が自分のコミュニティをモデレートし、何を表示するかはアプリが選ぶ |
| 名前 | @user@domain と !community@domain のハンドル | 鍵に解決される .bso と .eth の名前 |
| ブラウザ | 利用者自身のサーバーのクライアント | 通常のブラウザタブ内で動くピアツーピアノード |
| 主なトレードオフ | 履歴が確実でモデレーションも成熟しているが、アイデンティティとコミュニティはサーバーに属する | サーバーもドメインも不要だが、古いコンテンツが永続する保証はない |