商業的動機に動かされて、企業が管理するソーシャル メディア プラットフォームが出現し、オンライン参加型文化に対する当初の期待は劇的に損なわれました。ネットワーク情報技術は根本的に文化生産を民主化するはずですが、今日では、これらの利益主導のプラットフォームがオンライン行動を制限し、形成しています。「いいね!」はコンテンツに対する感謝の表現ではなく、商業化のツールです。
分散型テクノロジーとフェデレーテッド プロトコルに基づいて構築された代替ソーシャル メディア プラットフォームは、ソーシャル ネットワーキングの本来のビジョンを再現します。データはユーザーによって管理され、分散データベースに記録されます。フロントエンドはコミュニティによって駆動され、モデレーションはコミュニティの好みの表現であり、アルゴリズムはユーザーによって選択されます。これはイノベーションを推進するオープンソースの精神です。
分散型ソーシャルメディアと代替ソーシャルメディアの歴史
Web がビジネス、エンターテイメント、社会的交流の中心となる前は、主に学術および軍事分野のツールでした。ティム・バーナーズ・リーは、最初のネットワーク プロトコルを開発したときに平等主義的なビジョンを持っていました。インターネットはもともと、情報がノード間を自由に移動できる分散型ネットワークとして設計されました。制御できる個人は一人もおらず、単一障害点も存在しません。
しかし、Web の商業化が進むにつれて、検索エンジンやソーシャル メディアの巨人などの集中型プラットフォームが主流になりました。これらのエンティティは多大な価値を提供しますが、元の分散型精神から逸脱しており、その結果、現在の Web2 環境が生まれています。
代替ソーシャル ネットワークの開発における重要な革新は、フェデレーション プロトコルの概念の出現です。フェデレーテッド ネットワークは、1 つの組織がすべてのサーバーを制御する集中型プラットフォームとは対照的に、連携してソーシャル ネットワークを形成する複数の独立したサーバーまたは「ノード」のシステムです。
フェデレーテッド ネットワーク システムでは、各サーバーは共有プロトコルに従うソフトウェアを実行し、これによりサーバー間の通信が可能になります。 1 つのサーバーに登録されているユーザーは、あたかも同じプラットフォーム上にいるかのように、他のサーバー上のユーザーをシームレスにフォローし、対話し、コンテンツを共有できます。フェデレーション プロトコルの例には、Mastodon や PeerTube などのフェデレーション プラットフォームを強化する ActivityPub や OStatus などがあります。
フェデレーテッド システム セットアップでは、ユーザーは信頼するサーバーを選択でき、別のサーバーに移行したり、独自のサーバーをセットアップしたりすることができ、より高い自律性が与えられます。 「Fediverse」という用語 (「Federation」と「Universe」のかばん語) は、そのようなシステムを説明するために使用されます。 Fediverse は、GNU Social プラットフォームとその前身 (Statusnet および Laconica) から始まりましたが、本当の転換点は、2018 年に World Wide Web Consortium (W3C) によって推奨標準として公開された、ActivityPub プロトコルの開発と広範な採用でした。 。
Web3 では、データがオンチェーンに移植されると、フェデレーテッド ソーシャル ネットワークが分散システムのデフォルトの状態になります。ブロックチェーンはコンテンツを保存するバックエンド サーバーとして機能し、フロントエンドはこのコンテンツにインデックスを付けてユーザーに直接提供します。 ID はユーザーのウォレットを管理する公開キーと秘密キーのペアに関連付けられているため、ユーザーは生成したデータやコンテンツを簡単に検証できます。さらに、NFT などのオンチェーン プリミティブを使用すると、保存されたコンテンツをメタデータにバンドルし、ドメイン名または分散型 ID (DID) として機能させることができます。
ActivityPub の仕組みと同様に、Web3 プロトコルはユーザー ノード間の認証された関係を通じてソーシャル グラフをブートストラップしようとします。どのフロントエンドでもこのコンテンツにインデックスを付けて提供できるため、フロントエンド層では激しい競争が発生し、新しい機能が繁栄します。さらに、データはオンチェーンに保存されるため、ユーザーは好みのアルゴリズムを選択でき、データの価値を取り戻すために特定のアルゴリズムを使用するよう奨励することができます。これは、コンテンツを収益化するより直接的な手段と組み合わせることで、コンテンツがこれらのプラットフォームの需要を促進しているにもかかわらず、収益化からほとんど排除されてきたクリエイターに全体的なエクスペリエンスを向上させます。
プロトコルの比較
分散型ソーシャルメディアプロトコルのイノベーションを真に理解するには、それを実装するテクノロジーを理解する必要があります。ここではすべてのソーシャル プロトコルを含めたわけではありませんが、最も人気のあるソーシャル プロトコルのいくつかを選択したことに注意してください。
アイデンティティ/名前空間
フェデレーションおよび分散型のソーシャル グラフまたはネットワーク プロトコルでは、「名前空間」はユーザー ID またはその他のリソースが一意であるドメインです。これは、あるドメイン/サーバーのリソースまたはアイデンティティを別のドメイン/サーバーから区別し、複数のドメイン間で統合または通信するときに競合や曖昧さがないようにする方法です。
さまざまな分散型ソーシャル プロトコルの ID と関連する名前空間は、単純なキー ペア (Nostr、Scuttlebutt) から始まり、ホストされた構成ファイル (ActivityPub) を指す URI、NFT などのオンチェーン プリミティブ (最近では ERC-6551 拡張機能) の使用まで多岐にわたります。 Lens V2 などのより複雑なモデルのすべてのスコープに適用されます)。
Farcaster は、これらのテクノロジーの好例です。 Farcaster アカウントは、ネットワーク上の一意のエンティティを表します。各アカウントには、Farcaster ID (fid) と呼ばれる一意の数値識別子があります。 ID は IdRegistry と呼ばれる Ethereum コントラクトを使用してオンチェーンで管理され、ユーザーは IdRegistry へのトランザクションを開始して新しい FID を取得します。 fid が付いているアドレスはユーザーの管理アドレスです。 IdRegistry は、アドレス間で fid を転送できること、および 2 つのアドレスが同じ fid を持たないことを保証します。 Farcaster は、オンチェーンまたはオフチェーンで発行された ENS 名をサポートするためにこの名前空間も拡張します。ユーザー名を要求するには、ユーザーは署名済みの証拠をネットワークに送信する必要があります。
一方、ActivityPub は、一意の URI (通常は HTTPS URL) を通じて各ユーザーを識別します。この URI はユーザーのプロファイルを指し、Fediverse でのグローバル識別子として機能します。これらの URI をよりユーザーフレンドリーにするために、多くの ActivityPub プラットフォームは Webfinger と呼ばれるシステムを使用しています。 Webfinger を使用すると、ユーザーは「@[email protected]」のような ID を持つことができます。
Lens と CyberConnect はユーザー プロファイルを NFT として管理します。レンズを例にとると、1 つのユーザー アドレスで 1 つのプロファイル NFT が保存され、1 つのアドレスで複数のプロファイル NFT を保存できます。各プロファイル NFT は、ユーザー アクティビティの履歴全体をカプセル化します。さらに、プロファイル NFT には FollowModule があり、これは基本的に、さまざまなアカウントがフォロー NFT を取得する方法を管理する一連のルールです。これらのフォロー NFT は、アカウントとプロファイル間の接続をチェーン上に直接記録します。プロファイルとは別に作成でき、あるプロファイルから別のプロファイルにリンクまたはリンク解除できるハンドルも存在します。ハンドルは独自の名前空間に存在します (たとえば、lens/@alice)。
データ
データの作成と標準化が分散型ネットワークの基盤であるため、データはおそらく分散型ネットワークの最も重要な機能です。ここでのデータ管理の最も一般的な手法は、JSON や一般的な関係オブジェクト (いいね、フォローなど) などの標準化された形式を使用することです。コア データ オブジェクトには通常、次のものが含まれます。
- 件名とオブジェクト: 「件名」(ユーザーなど) と「オブジェクト」(投稿やメッセージなど) を定義します。
- 出版物: 投稿またはコメントは「出版物」としてパッケージ化され、通常は URL を介して外部コンテンツにリンクされます。
- ログ内の内容のみを追加する: 各エントリ (公開または更新) は、個別のコンテンツ項目のログであり、順次追加および保存されます。
- 件名とオブジェクト: 「件名」(ユーザーなど) と「オブジェクト」(投稿やメッセージなど) を定義します。
- 出版物: 投稿またはコメントは「出版物」としてパッケージ化され、通常は URL を介して外部コンテンツにリンクされます。
- ログ内の内容のみを追加する: 各エントリ (公開または更新) は、個別のコンテンツ項目のログであり、順次追加および保存されます。
いくつかの例を掘り下げて、特定のプロトコルがどのように機能するかを見てみましょう。
ActivityPub は、JSON ベースのデータ構造である ActivityStreams 2.0 データ形式を利用して、投稿やいいね! などのさまざまなソーシャル インタラクションを表します。このプロトコルは、クライアントからサーバー (C 2 S) とサーバーからサーバー (S 2 S) という 2 つの主要コンポーネントで構成されます。 C2S を使用すると、ユーザーはクライアント アプリケーションを通じてそれぞれのサーバーと対話できます。対照的に、S2S はサーバー間の通信を容易にし、プロトコルの堅牢なフェデレーション特性を可能にします。
ActivityPub では、エンティティは「サブジェクト」(通常はユーザー アカウントまたはグループ)と「オブジェクト」(コンテンツまたは投稿や「いいね!」などのアクション)に分類されます。エージェントがオブジェクトに対してアクションを実行すると、「作成」、「フォロー」、「いいね!」などの「アクティブな」オブジェクトが作成されます。
Web3 ソーシャル グラフは、中心となるアイデアの多くを ActivityPub から借用していますが、それらをブロックチェーンに適用します。たとえば、Lens プロトコルでは、投稿、ミラー、コメント、その他の形式のメディアなど、ユーザーが作成したさまざまなコンテンツをカプセル化する「パブリケーション」を導入しています。各パブリケーションは、分散プロトコル (IPFS や Arweave など) または集中ストレージ サービス (AWS S3 など) に保存されている特定のコンテンツを指す ContentURI に関連付けられています。この設計により、ユーザーのプロフィールとすべての関連出版物が個人のウォレットに安全に保存され、集中データベースへの依存が排除されます。
さらに、Web3 は、Web2 アーキテクチャよりもユーザーのコンテンツと影響力を収益化するためのより直接的な方法を提供します。ユーザーはフォローNFTの鋳造に料金を請求したり、収集モジュールを自分の出版物と統合したりできます。後者のオプションでは、出版物の ContentURI にリンクされた NFT の鋳造に料金を請求することができます。これらの機能に加えて、Lens Protocol はフロントエンド インターフェイスからブロックチェーン コンポーネントを保護するための GraphQL API も提供し、以前の分散型ソーシャル ネットワークよりもユーザー フレンドリーなエクスペリエンスを提供します。
最終的に、多くの分散型ソーシャル ネットワーク プロトコルは、ユーザー キーを介してのみ追加および認証できるデータ構造を作成します。たとえば、サイバーコネクトでは、ユーザー中心のデータはそれぞれデータ フローとして表現され、データ所有者のみが更新を許可されます。データへの各更新は、コミット ログのみを追加することによってデータ ストリームに追加され、結果として得られるデータ構造は、マークル DAG と呼ばれるハッシュリンクされたデータ構造になります。データ タイプには、コンテンツ、コレクション、コメント、サブスクリプションが含まれます。
Scuttlebutt は、追加専用のログ データ メカニズムも使用します。各ユーザーには独自のログがあり、新しいメッセージやアクションはすべて、ユーザーの ID によって署名された後に末尾に追加されます。 「BLOB」と呼ばれるバイナリ データの共有もサポートしています。このデータは、画像、ビデオ、またはその他のバイナリ コンテンツにすることができます。 BLOB は追加専用ログとは別に保存されますが、これらの BLOB への参照 (ハッシュ) をログに含めることができます。
Farcaster の場合、メッセージは投稿、フォロー、プロフィール写真の追加などの公開更新であり、protobuf でエンコードされ、アカウント署名者によってハッシュ化および署名される必要があります。十分なストレージ容量がある限り、ユーザーはメッセージをハブにパブリッシュできます。 HUb は、各メッセージを受け入れる前に、その署名者の有効性をチェックします。
ストレージ
初期の分散型プロトコルのデータ ストレージは主にオフチェーンでした。たとえば、Scuttlebutt はピアツーピア ゴシップ ネットワークを使用して、データをユーザーのデバイスにローカルに保存します。このアプローチにより、ユーザーが自分の情報を完全に制御できるため、データ主権が保証されます。ただし、これは、データの可用性が、ユーザーのデバイスがオンラインであるかどうか、またはネットワーク内の他のノードにデータのコピーがあるかどうかによって決まることも意味します。長期にわたってストレージ領域を管理するために、一部の Scuttlebutt クライアントでは、古いデータや関連性の低いデータを削除するガベージ コレクション ポリシーを実装する必要がある場合があります。
このピアツーピアのアプローチに代わる手段として、データ ストレージ サーバーの登場があります。 Matrix の場合、複数のホーム サーバーが部屋の履歴のコピーを保存し、相互に同期します。ユーザーが室内でメッセージ (またはイベント) を送信すると、ホーム サーバーはそのイベントを他のホーム サーバーにブロードキャストし、そのイベントが保存されて、接続されているクライアントに転送されます。同様に、ActivityPub を使用すると、ネットワーク内の各インスタンス (またはサーバー) がそのデータ (通常はデータベース) に保存できます。データベース (リレーショナル、NoSQL など) の選択は、ActivityPub ソフトウェアの特定の実装によって異なります。たとえば、人気のある ActivityPub プラットフォームである Mastodon は PostgreSQL データベースを使用しています。
Cyberconnect、Farcaster、Lens などのプロトコルでは、ストレージにブロックチェーンが採用されています。オンチェーン ストレージはデータの不変性と検証可能性を保証し、基盤となるコンセンサス メカニズムを使用して状態を同期する分散型アプリケーションに強固な基盤を提供します。ただし、このアプローチでは、すべてのデータをオンチェーンに保存する必要があるため、スケーラビリティの課題が生じる可能性があり、その結果、トランザクション手数料が高額になり、取得時間が遅くなる可能性があります。
このため、多くの Web3 ソーシャル プロトコルは、オンチェーン ストレージを使用して低頻度の操作 (プロフィール、サブスクリプションなど) を実行し、オフチェーン ストレージを使用して高頻度のイベント (いいね、リツイート、コメントなど) を実行するというハイブリッド アプローチを試みるようになりました。または、一定の間隔でデータをバッチでチェーンにアップロードするための一時的な手段としてオフチェーン ストレージを使用します。
ユーザー接続間の頻繁な更新を効果的に処理するために、サイバーコネクトは分散型データ ストレージでハッシュ リンク リストを使用します。接続が開始されると「操作ログ」が作成されます。その後のステータスの変更 (フォローとフォロー解除の切り替えなど) は、新しいノードとしてこのログに追加されます。これらの更新は最初は集中サーバーに保存されますが、Arweave や IPFS などの分散ストレージ プラットフォームに定期的にバッチでアップロードされます。高速なデータ取得を実現するために、操作ログのノードは一元的に保存されます。ただし、ユーザーはこのハッシュ リンクのリストを参照することで、データの整合性を独自に検証できます。一部のデータ クエリは集中型サーバーに依存していますが、サイバーコネクトのシステムは完全に分散型でありながら高いパフォーマンスを提供できるように設計されています。
Farcaster も同様のハイブリッド アプローチを使用しています。オンチェーン コントラクトは、一貫性と分散化が重要な低頻度の操作に使用されます。アカウント、ユーザー名、ストレージ、キーは、一連の Ethereum コントラクトを使用して管理されます。オフチェーン システムは、パフォーマンスに依存する高頻度の操作に使用されます。ユーザー アカウントによって作成されたメッセージは、Farcaster ハブのピアツーピア ネットワーク上に保存され、伝播されます。
話し合う
分散型ソーシャル プロトコルは、デジタル インタラクションにおけるユーザー エクスペリエンスに革命をもたらすことを約束します。 Web3 によって推進される公開鍵と秘密鍵のペアの導入の加速は、この文脈におけるアイデンティティ プリミティブのより広範な理解に貢献し、Web2 ソーシャル メディア企業による継続的な監査とデータ収集により、より多くのユーザーが他の場所に移動することになります。これらの分散型ソーシャル プロトコルの導入曲線は加速すると予想されます。
革新的なアプリケーションの開発を促進するために、プロトコル開発者とオープンソース貢献者は、現在インフラストラクチャ層で使用されている基本的なデータ型とリレーショナル オブジェクトを超えて移行することが緊急に必要です。既存のプリミティブは従来の Web2 ソーシャル メディアの機能を完全にカバーしていますが、拡張と革新の大きな可能性がまだあります。ここで説明するプロトコルのほとんどは本質的にシステム内の拡張性をサポートしており、将来の開発やオープンソースへの貢献のための強固な基盤を提供します。
ただし、相互運用性も重要です。フロントエンド開発者は独自に機能を強化できますが、強化された機能が同じ基礎となるプロトコル上に構築された他のアプリケーションと相互運用できない場合、システム全体の利益を損なう可能性があります。分散型ソーシャル プロトコルの長期的な成功と導入には、さまざまなアプリケーション間の互換性とシームレスな統合を確保することが重要です。
データ ストレージの世界では、Web3 ソーシャル プロトコルはハイブリッド アプローチを好みます。 ID やプライマリ コンテンツなどの高価値資産をオンチェーン プリミティブに割り当て、いいねなどの低リスク コンテンツをオフチェーン ソリューションに割り当てることで、このバランスのとれたアプローチにより、重要なデータの整合性とセキュリティが維持されるだけでなく、ユーザーに従来のソーシャルメディアプラットフォームに近いエクスペリエンスを提供します。
分散型ネットワークは、対人コミュニケーション、情報共有、コミュニティ構築を変革することを約束します。ユーザーの自主性、プライバシーを優先し、有機的な関係を育むことで、これらのネットワークは、より公平でユーザー中心のデジタル環境への道を切り開いています。さらに、これらのネットワークの分散型の性質により、情報やリソースへのアクセスが民主化され、集中管理に伴うリスクが軽減されます。
全てのコメント