blockchainjapan’s blog

旬のブロックチェーンを記事を厳選して提供!

Blueskyの自己認証型ソーシャルプロトコル


Blueskyの自己認証型ソーシャルプロトコル

Blueskyがもたらすソリューションとその理念

by The Bluesky Team

Blueskyのミッションは、プラットフォームからプロトコルへの進化を推進することです。公共の場での会話のためのツールは、インターネットそのもののように、共通のインフラとして特定の企業外に存在すべきであると考えます。公共の会話のためのオープンで耐久性のある分散型プロトコルは、ユーザーがその経験を選択し、クリエイターが参加者との関係をコントロールし、開発者がプラットフォームとパーミッションレスな関係性を保ってイノベーションを起こす自由を与えることができます。

私たちはまず、既存の分散型プロトコルから何が適用できるかを学ぶために、研究の集約プロセスから開始しました。この研究は、エコシステムのレビューから始まり、Blueskyチームが形成される間、継続されてきました。今月には、このハイレベルな紹介を含め、予備的な作業と研究についてを公表する予定です。オンラインでの会話の場を分散化を目的としたプロトコルを作成するプロジェクトは数多くあり、ソーシャルでは ActivityPubSSB、チャットではMatrixIRC、ブログではRSSなどが存在します。これらはそれぞれ成功していますが、どれもグローバルで長期的かつ大規模に機能するネットワークとして、私たちの目標を完全に満たすものではありませんでした。

私たちが評価してきた最も重要な目標は、ポータビリティ、スケール、そして信頼です。ポータビリティがあれば、プロバイダを変えたとしてもその活用性を維持することができます。規模が大きければ、偏りのない幅広い人々がグローバルな議論に参加することができます。そして、信頼は、サービスが自分のデータをどのように扱っているか、情報がどのようにフィードに組み込まれたり削除されたりしているのかを、透明性を持って人々が理解することで生まれます。各トピックをもう少し深く掘り下げてみましょう。

ポータビリティ

ポータビリティとは、電話番号を変えることなく携帯電話のキャリアを変更できるように、利便性を失うことなくサービス間を移動できる能力のことです。ユーザーの選択には、ID、データ、決済、その他あらゆるサービスにおいてポータビリティが必要です。アイデンティティソーシャルグラフを失うことなくプロバイダを変更できるようになれば、ソーシャルメディアは再び、競争力のあるオープンな市場として機能できるようになります。

メールに関しては、プロバイダを変更するとメールアドレスも変更しなければなりません。これは、ActivityPubやMatrixなどの連携型ソーシャルプロトコルではよくある問題です。ActivityPubのサーバーがシャットダウンすると、Twitterがシャットダウンするのと同じように、そのサーバー上のアカウントに紐づくアイデンティティや周囲との関係性を失うことになります。ActivityPubのサーバーはTwitterよりもずっと小さく、ボランティアによって運営されていることが多いので、このシナリオはありえないことではなく、実際に過去にも起こったことがあります。私たちは、サーバーの助けがなくても、ユーザーが簡単にサーバーを切り替えられるようにしたいと考えています。

スケール

Twitterでは、何億人もの人々が集まってグローバルに会話を繰り広げています。小さなコミュニティを好む人も存在し、ActivityPubやSSBはそうした密なグループには最適です。しかし、Blueskyでは、Twitterと同じようにグローバルな会話に参加するオプションをユーザーに提供したいと思っています。

大規模な運営には、スケールのための十分なエンジニアリングが必要です。当初、Twitterのサイトは頻繁にクラッシュを起こしており「fail whale」がミームとなったほどでした。その後、これらの問題解決されましたが、Twitterの機能を再現しようとする既存の分散型ネットワークはそはいきません。Twitterでトレンドのハッシュタグを検索して世界中の流行りのツイートを見つけたり、125kの「いいね!」を獲得したバイラルツイートを見たりすると、これはTwitterのサービスがネットワーク全体のグローバルなビューを提供する一方で、その水面下の複雑性は見せることなく一切を隠して機能しています。Twitterのような機能性を分散化することで、組織横断的なネットワーキングを追加し、複雑さを再露出させることになります。その規模に応じた会話のためのプロトコルは、あらゆる段階でこれらの課題を解決するために、多大な量と質による開発が必要となります。

分散化によって、他の領域については新しい機能が追加されますが、スケールに関しては、現在Twitterが提供しているグローバルな経験を再現することを目標としています。既存の分散型ソーシャルプロトコルは、分散型アーキテクチャに自然にフィットするため、ローカルな会話をデフォルトとしていますが、私たちの目標は、オープンなプロトコルを通じてユーザーが得る自由を維持しながら、グローバルな会話を可能にすることです。

信頼性

分散型ネットワークは複雑です。プロバイダは、ユーザーの信頼を失うようなバイアスを生むことなく、スパムや不正使用を管理する必要があります。これは、私たちのフィードを駆動するアルゴリズムにとって、特に重要なものとなります。ソーシャルメディアは文化的な言説を形成する力を持っており、チェックとバランスのシステムの中に存在する必要があります。スケールやポータビリティと同様に、私たちは、水面下で何が起こっているかを公開し、ユーザーがその経験を調整できるようにすることで、最初から信頼に基づいたものを構築することを目指しています。

中央集権的なプラットフォームとしてスタートしたTwitterは、APIを開放し、ユーザーに選択肢を提供する措置を取ることができ、これは現在のサービスに対する信頼を回復するための道となります。しかし、Blueskyの前提は、デフォルトでオープンなネットワークを構築することによって、ボトムアップによる透明で検証可能なシステムの構築に取り組むことです。そのためには、ユーザーがサービスのパフォーマンスを監査する方法や、不満があれば乗り換えることができるようにする道筋が必要となります。


この目的を達成するために採用した概念が「自己認証プロトコル」です。法律では「自己認証文書」は、真正性の外在的な証拠を必要としません。コンピュータサイエンスでは、「認証されたデータ構造」は、その操作が独立して検証可能となります。ネットワーク上のリソースが自身の真正性を証明できる場合、そのデータは本質的に生きており、つまり、どこにあっても正統で取引可能であるべきと考えます。これは、情報がホストによって認証されるため、元のサービスによってホストされなくなると無に帰してしまうという、ウェブの接続中心モデルとは異なるものです。自己認証データは権限をユーザーに移し、その結果として、全てのホスティングサービスにおいてデータの有効性が保たれます。

自己認証を可能にする3つの要素は、暗号化識別子コンテンツアドレス型データ検証可能な計算です。最初の2つは分散システムでおなじみの概念であり、3つ目はまだ広く適用されてはいませんが、大きな影響を及ぼすと考えられる新しい研究分野です。

暗号化IDは、ユーザーと公開鍵を関連付けるものです。自己主権的なアイデンティティは、ユーザーに暗号学的な識別子を持たせることに基づいています。アカウントの管理は、ログインを記録するデータベースのエントリではなく、ユーザーからの暗号署名によって証明されます。

コンテンツアドレス型データとは、コンテンツが暗号ハッシュ(データ片のユニークなデジタル「フィンガープリント」)によって参照されることを意味します。公開鍵とコンテンツアドレスを使用することで、ユーザーが作成したことを証明するために、ユーザーの鍵でコンテンツに署名することができます。認証されたデータにより、信頼はデータを見つけた場所ではなく、データ自体に宿るようになり、アプリケーションはクライアントサーバーアーキテクチャから脱却することができるのです。これにより、「ユーザー生成型オーソリティ」が実現されます。

検証可能な計算では、暗号化証明を使って、オブザーバーが自分で計算を実行しなくても、計算が正しく実行されたことを検証できるようにします。これは、ゼロ知識証明のように入力を隠すことでプライバシーを保護したり、検証のために保持しなければならない状態を圧縮したりするために利用されるのと同様のものです。このような暗号プリミティブの可能性は、まだ十分に解明されていません。現在、最先端の研究はブロックチェーンのスケーリングに応用されていますが、分散型ソーシャルネットワークへの新しい応用も研究しています。


自己認証プロトコルについて説明しましたが、次にその構成要素がどのように私たちの目標達成に役立っているかを見てみましょう。

ポータビリティは、自己認証プロトコルが直接的に満たすものです。プロバイダを変えたいユーザーは、自分の都合に合わせてデータセットを転送することができ、自身のインフラにも転送することができます。暗号化識別子を持つシステムにおいて、鍵の管理とユーザー名の関連付けをどのように扱うかについてのUXは、近年大きく進歩しており、私たちはこれらの新しい標準とベストプラクティスを基に構築していく予定です。私たちの哲学は、「ユーザーにより多くのコントロールを与える一方で、より多くのリスクを負う自己主権型ソリューション」と、「利便性を得る一方で、コントロールを放棄するカストディ型サービス」という選択肢を提供することです。

自己認証データは、保存と転送のキャッシュを可能にすることで、スケーラビリティの利点を提供します。自己認証ネットワークにおけるアグリゲーターは、データの信頼性を低下させることなく、小規模なプロバイダに代わってデータをホストすることができます。検証可能な計算により、これらのアグリゲーターはデータの信頼性を維持したまま、メトリック、フォローグラフ、検索インデックスなどの計算されたビューを生成することもできるようになります。このようなトポロジーの柔軟性は、さまざまな発信元からの活動のグローバルビューを作成する上で鍵となります。

最後に、自己認証データは、信頼性を確立するために使用できるメカニズムを提供します。自己認証されたデータは、誰が何かを公開したか、それが変更されたかといったメタデータを保持することが可能です。また、ユーザー、コンテンツ、サービスの上にレピュテーションやトラストグラフを構築することができます。検証可能な計算が提供する透明性は、結果がどのように生成されたかを正確に示すことにより、信頼を確立するための新しいツールを提供します。しかし、この分野の暗号プリミティブはまだ改良中であり、製品化されるまでには活発な研究が必要となっています。


この記事では、私たちが設定したハイレベルな目標と、それを達成するための計画について整理しました。今後数週間のうちに、エコシステムのレビュー以降に行った研究の詳細と、予備的なコードのオープンソースを公開する予定です。私たちは、アイデアを検証し、具体的なものに反復するためにコードを書き始めていますが、これはまだ完全に実験的なものです。コマンドラインクライアントで遊ぶことはできますが、この段階ではあらゆる部分が変わる可能性があるため、すぐに大きなアプリをこの上に構築するということは、まだ期待しないでください。

私たちが構築しているものは、フェデラルネットワーク、P2Pネットワークブロックチェーンネットワークのいずれにも当てはまりません。p2pの特性を持つハイブリッドなフェデラル・ネットワークと表現することもできますが、ネットワークのトポロジーよりも、自己認証アイデンティティとデータという機能に焦点を当てた方がより分かりやすいでしょう。私たちのチームは、これまで分散型ウェブプロトコルブロックチェーンネットワークを構築してきましたが、その枠に制限されることなく、最も優れたものを新しいものに統合することに取り組んでいます。ある側面では、既存のものを利用することができますが、他の側面では、私たち自身の新たなソリューションを考え出す必要があるでしょう。近日中にアップデートを行いますので、ご期待ください。


blueskyは友人たちによる無償の愛♡によって構築されています。

是非とも、blueskycommunity.netからエントリーしてください。

Bluesky:Webサイト|Twitter|Discord


訳:Takeshi_TGAL