分散型SNSプロトコル「AT Protocol」「ActivityPub」「Nostr」は一体何が違うのか?それぞれの特徴をまとめてみた


X(旧Twitter)の仕様変更などを受けて、BlueskyやMastodonなどの分散型SNSに注目が集まっています。そこで、分散型SNSプロトコルの代表的存在である「AT Protocol」「ActivityPub」「Nostr」の特徴をまとめてみました。
Docs | AT Protocol
https://atproto.com/docs
ActivityPub
https://www.w3.org/TR/2018/REC-activitypub-20180123/
GitHub - nostr-protocol/nostr: a truly censorship-resistant alternative to Twitter that has a chance of working
https://github.com/nostr-protocol/nostr
Nostrの仕組み - nostr
https://scrapbox.io/nostr/Nostr%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF
・目次
◆1:分散型SNSプロトコルとは?
◆2:AT Protocolとは?
◆3:ActivityPubとは?
◆4:Nostrとは?
◆1:分散型SNSプロトコルとは?
XやFacebookなどのSNSは「ユーザーの投稿」「フォロー・フォロワー情報」などのデータがすべてSNSの運営者によって管理されています。また、投稿の非表示処分やユーザーの追放処分などのモデレーションも運営者が決定した基準に沿って実行されます。このため、運営者の方針転換によって「投稿内容を閲覧できなくなる」「自分の投稿内容が運営者の一存でタイムラインに表示されなくなる」といった問題が生じる可能性があります。
分散型SNSプロトコルは各種データを分散管理できることを特徴としており、「絶対的な運営者」が存在しません。このため、ユーザーは「運営者の方針転換」を気にすることなく情報を共有したり閲覧したりできます。ただし、データの分散管理の仕組みはプロトコルによって大きく異なります。
◆2:AT Protocolとは?
AT Protocolは、Bluesky PBLLCが中心となって開発している分散型SNSプロトコルです。Bluesky PBLLCは2019年にTwitter創業者のジャック・ドーシー氏が中心となって立ち上げた「分散型SNSプロトコルを開発するTwitter社内のプロジェクト」を源流とする企業で、2021年にTwitterから独立しました。その後、Bluesky PBLLCは2022年5月に分散型SNSプロトコル「Authenticated Data eXperiment(ADX)」を公開。2022年10月にはADXをAT Protocolに改名し、同時にAT Protocolのリファレンス実装としてSNS「Bluesky」を発表しました。なお、AT Protocolは「Authenticated transfer protocol(認証済み転送プロトコル)」の略称とされており、開発チームは「アットプロトコル」と発音しています。
Twitter創業者の立ち上げた分散型SNSプロトコル開発団体が新SNS「Bluesky」を発表 - GIGAZINE


AT Protocolではユーザーの投稿やフォロー・フォロワー情報などを「Personal Data Server(PDS)」と呼ばれるサーバーで管理し、各PDSに含まれる情報を「Relays」と呼べるサーバーに集約して検索処理やいいね数の合算などの処理を実行します。さらに、「labeler」と呼ばれるサーバーでモデレーションを実行した後、各種アプリで投稿内容が表示されます。なお、Relaysは以前は「Big Graph Service(BGS)」と呼ばれていましたが、2023年11月にRelaysへ名称変更されました。


ユーザーはPDSを自分でホストすることで、データを自分で管理できるようになります。また、Relaysを自分でホストすれば、検索機能やいいね数の合算機能なども自分で自由にカスタムできるようになります。ただし、Relaysをホストするには大規模なサーバーインフラが必要です。仕様上はPDSもRelaysもユーザーが自由にホスト可能ですが、記事作成時点ではPDSのホスト機能のみが公開されており、Relaysをホストする仕組みは今後実装される予定です。AT Protocolではユーザーが自分でPDSをホストしても他のユーザーと同じRelaysに接続できるため、「個人データを自分で管理しつつ、同一Relaysに接続する全ユーザの投稿を閲覧する」という操作が可能です。
なお、PDSを自分でホストする手順は以下の記事で詳しく解説しています。
Blueskyのデータを独自サーバーでホストする仕組み「PDS(Personal Data Server)」を使ってみた - GIGAZINE


AT Protocolでは、どのlabelerを用いるかをアプリ側で決定することができます。Bluesky公式アプリではBluesky PBLLCのlabelerによるモデレーションが適用されていますが、「Bluesky PBLLCのlabelerを参照せず、すべての投稿を表示するアプリ」「Bluesky PBLLCのlabelerではなく、独自のlabelerを用いて独自モデレーションを適用するアプリ」といったアプリを独自開発することも可能です。また、ユーザーが独自にモデレーションを行う機能も存在しています。
Blueskyが「ユーザーがコンテンツを独自にモデレーションできる機能」を発表&モデレーションツール「Ozone」をオープンソース化 - GIGAZINE


◆3:ActivityPubとは?
ActivityPubはウェブ技術の標準化団体「World Wide Web Consortium(W3C)」によって確立された分散型SNSプロトコルです。すでにMastodonやMisskey、Pixelfedなど数多くのSNSがActivityPubに対応しています。
ActivityPubでは、独自のモデレーション基準やルールを設定したサーバー(インスタンス)を設立することができます。例えば「芸術関連の話題に特化したMastodonインスタンス」「特定の話題を禁止したMastodonインスタンス」「特定のジャンルに特化したPixelfedインスタンス」といったインスタンスが存在しており、ユーザーは好みのインスタンスに参加することができます。
ActivityPub対応SNSでは、自分が参加したインスタンス内の投稿が流れる「ローカルタイムライン」と他のインスタンス内の投稿も流れる「グローバルタイムライン」の2種のタイムラインが用意されます。また、ActivityPubに対応したSNS同士では、インスタンスだけでなくSNSの垣根を超えてユーザーをフォローしたり投稿をリポストしたりできます。2024年3月にはMetaの短文投稿SNS「Threads」がActivityPub対応SNSへの同時投稿機能を実装して話題になりました。
ThreadsがMastodonなど分散型SNSへの投稿シェア機能のベータテストを日本・アメリカ・カナダで開始 - GIGAZINE


ActivityPubではユーザーのデータがインスタンスの設立者によって管理されます。このため、別のインスタンスに乗り換える際は「乗り換え元のインスタンスでフォロー情報やブロック情報をエクスポートし、乗り換え先のインスタンスでインストールする」という作業が必要です。また、過去の投稿内容を乗り換え先のインスタンスにインポートすることはできません。このため、ActivityPubは「各ユーザーが個人データを管理できる」というわけではなく、「データを管理する代表者が大量に存在し、好きな代表者を選べる」という仕組みだといえます。
◆4:Nostrとは?
Nostrはfiatjaf氏が2019年に11月に公開したアイデアを元に形成された分散型SNSプロトコルです。fiatjaf氏はTwitterに嫌気が差して他の仕組みへの移行を思い立ったものの、Mastodonなどの分散型SNSの「Twitterと同様に、インスタンスの運営者がユーザーを追放できる」「インスタンス間の引っ越し機能が、引っ越し元と引っ越し先の同意がなければ機能しない」「各インスタンスで少数の運営者による専制支配が生じる」といった問題点に気付き、新たな分散型SNSプロトコル「Nostr」を立案しました。その後、Nostrはビットコインコミュニティなどを中心に活発に開発が進み、2022年12月にはTwitterの創業者であるジャック・ドーシー氏から14ビットコイン(約1億5000万円)の寄付を受けています。
Nostrのシステムは、ユーザーが操作する「クライアント」とハブになる「リレー」に分かれています。ユーザーはクライアントを用いてリレーにコンテンツを投稿したり、リレーに投稿されたコンテンツをリクエストしたりできます。リレーは誰でも自由に設立可能で、ユーザーは膨大に存在するリレーの中から好みのリレーを選んで利用できます。このとき、ユーザーは基本的に自分が参加しているリレーのコンテンツしかリクエストできません。このため、Nostrユーザーの間では複数のリレーに参加するのがスタンダードとなっています。


一般的なSNSでは「@gigazine」といったように「@○○○」という形式のユーザーIDを持つことができます。Nostrの場合は利用開始時に「@○○○」というユーザーIDではなく「公開鍵」と「秘密鍵」を作り、公開鍵をユーザーIDのように扱います。例えば、ジャック・ドーシー氏の場合は「npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m」という公開鍵を世界中に公開しています。


秘密鍵はコンテンツ投稿時の電子署名に用いられ、公開鍵を用いて署名を検証します。このようにNostrでは公開鍵暗号方式を用いることでアカウント不要で運用できる仕組みを構築しているというわけです。

ジャンルで探す