ブロックチェーン上でのDIDアグリゲーターの開発(Part I)
著:Litentry
この投稿シリーズでは、W3CのDecentralized Identifiers (DIDs) v1.0に基づいて、複数のレイヤーのIDデータの問い合わせに流動性、相互運用性、整合性を提供するDIDアグリゲーターを紹介します。
イントロダクション
DIDアグリゲーションは、複数のネットワークからもたらされる広範囲のデジタルアイデンティティを統合するプロセスです。
私たちが定義している分散型アイデンティティの定義は「分散型アイデンティティは、暗号化を経て生成および/または登録された、中央集権的登録機関を必要としない、グローバルにユニークで永続的な識別子である」 と規定しており、これはW3C標準に準拠するものです。異なる分散型システムが異なるDID標準を有しているため、デジタル・アイデンティティをリンクする際に各標準をシームレスに統合することが重要となります。統合されたアイデンティティデータの需要は、主に個人のアイデンティティデータを燃料とする分散型アプリケーションからもたらされると予想されます。相互運用性に加え、アイデンティティは、サービス提供の為にサーバが KYC、クレジットスコアやクレデンシャルなどのIDデータをクライアントに要求する場面で重要な役割を果たします。現在、多くのアプリケーションが、サードパーティ製のアプリケーションから情報を提供したり、ユーザーの活動を追跡したりして情報を得る為の方法を探しています。これは、その方法によってはユーザーのプライバシー侵害や個人データ侵害によって、ユーザーを危険にさらすことに繋がりかねません。
そこで、分散型アイデンティティとプライバシー保護ストレージによって、分散型システムによってデータ主権を保護することが必要となります。しかし、IDデータは希少かつ散在しているため、現状では対応するアプリケーションのメリットがまだ大きくありません。DeFiにおけるクレジットレンディング、チェーンガバナンスにおける個人の評判、ソーシャルメディアにおける分散化レコメンデーションアルゴリズムの利用など、広範なユースケースに対応する為の課題は複数存在しています。現状、需要を十分にサポートする為の量のデータを保持しておらず、また、他のネットワークからデータを収集する場合にこれらのデータを読み取るには、DID検証やコード解析などの複雑な作業が必要となり、特に複数のデータソースがある場合には非常に不便なプロセスが要求されます。
具体的に信頼性の高いDIDデータ活用には以下の問題があります:
- データソースの不足
- データレジストリと対話するための相対APIの欠如
- 全てのDIDメソッドを解決してクレデンシャルを検証する必要性
- 新しいデータフォーマットの学習と遵守の必要性
- 集中型サービスのエンドポイントからの単一障害点の問題
現在、多くの分散型アプリケーションがユーザーのアイデンティティデータを収集するための独自のなDIDメカニズムを運用しているのを目にしますが、これは多くの場合、同じ目的を持つものであり個々に別のメカニズムを有する必要性はありません。例えば、Keybase、Polkadot Registrar、その他のソーシャルネットワークのID認証などが挙げられますが、多くの開発チームにとって、独自の機能コンポーネントを構築することは、多くの時間と労力、コストを要することになります。ここに、検証された信頼できる共通のデータソースがあれば、非常に便利になることは間違いありません。
人々はすでに様々な分散型システムで大量のデータを生成しており、ユーザーのプライバシーとデータ主権を維持しながら、各データを接続して、異なるシステムやプラットフォームを横断して利用できるようにする方法を発見する事が必要です。ブロックチェーンの出現は、データのインデックス化と検索を可能にする効果的なデータレジストリインフラストラクチャを提供し、DIDの成長と採用を促進するものとなります。
DIDデータとは?
分散型システムにおいて、アイデンティティの所有権を証明するデータをDIDデータとします。これらのデータは、それ自体が基本的にアイデンティティと強く関連付けられている場合が多いが、計算分析後にアイデンティティと関連付けられるデータである場合も存在します。例えば、DIDサービスアプリケーション内のデータは、一般的にIDに強く関連付けられているものであり運転免許証やCOVID-19検査結果などが含まれます。あるいは、分散型コラボレーションシステムへのコード貢献活動履歴や分散型自律組織(DAO)での投票活動など、特定の計算後にIDに関連付けられるデータもあるという事です。
これらのデータは、全てインデックス化される必要性と価値があります。私たちは、DIDデータのクロスシステムインデックスがWeb3ネットワークの重要な要素になると確信しています。それはWeb3ネットワークのための強力なデータベースを提供し、アプリケーションの発展を加速させる起爆剤となるでしょう。さらに、このインデックスはインターネットのために前例のない価値を提供します。分散型システムでは、全てのデータが検証可能で改ざん防止がなされているため、データ生成の由来や存在の事実を反映させた信頼性が存在します。一方で、既存のネットワークは中央集権型システムで構成されており、ユーザーのデータはシステムの所有者によって制御され、支配されています。それらのデータは検証可能ではない上に改ざんが可能な状態となっています。
DIDデータの需要
分散型アプリケーションが急速に台頭する中、DIDデータの需要は拡大を続けています。初期段階では、分散型クレジットレンディング、分散型DAO、分散化されたパーソナライズ・レコメンデーションシステムなどのDIDサービスに対する強い需要が期待されていました。分散化を維持し、単一障害点を回避するために、dAppsはDIDデータを取得する際にソースを分散化すべきでありますが、現在のネットワークには既製の分散化されたIDデータソースが存在しません。
潜在的な解決策としては、標準化された共通言語を作成することです。例えばPresentation Exchangeは、異なるシステムによるクレデンシャル交換・共有を可能にする為の標準化データ形式を提供するプロトコルの存在が挙げられます。このプロトコルは、異なるIDシステムがそれぞれが保有するID証明を交換するための「共通言語」を作成する為に役立ち、これによってサードパーティがアプリケーションで証明のための要件と証明保持者による証明の提出方法が共有できます。このようなプロトコルは、システム間のデータの摩擦を大幅に減らし、一貫性を高めることができます。しかし、こうしたコンピュータ言語が広く採用されるようになるには時間がかかります。
DIDアグリゲーター
任意のDIDデータ問題に対するワンストップソリューションを継続的に探索する中で、オープンな分散型DIDソリューションを可能にするモデルであるDIDアグリゲーターを紹介します。DIDアグリゲーターは、すべてのDID標準と互換性があり、信頼性の高いDIDデータインターフェースを搭載しています。このモデルは、Substrateによる構築ブロックチェーン、分散型DID検証ネットワーク、アルゴリズム交換プロトコルを特徴とします。
DIDアグリゲーターは、誰でも自分のID検証アルゴリズムをアップロードし、ネットワーク上で共有することができるようにします。また、DIDデータのインデックス作成、DID認証、リンク、DIDデータの集約の為のワンストップサービスを提供します。このプロトコルは、人々がWeb3ネットワーク上で統合されたIDデータを簡単に取得できることを保証し、データの信頼性、セキュリティ、完全性も保証します。
オープンプロトコル
このアグリゲーターはオープンソースプロトコルであり、誰でもDID検証アルゴリズムをアップロードすることができ、ネットワークを介した分散型クレデンシャルの生成を可能にします。ネットワークにより処理されたすべてのDID検証アルゴリズムはブロックチェーンに記録され、DAOによる承認を経て、アルゴリズムが信頼されたものとしてラベル付けされます。
分散型
技術面以外の用件として、あらゆる種類のDIDとの対話を可能にし、dAppが不可知性の高いDIDメカニズムを検証するためには、第三者が検証プロセスを引き受ける必要がありますが、これは単一障害につながるものです。
中央集権的な権限やDID検証システムによる一点障害を取り除くために、私たちはProof of Stakeブロックチェーン上に分散型バリデータネットワークを構築しており、バリデーターとサービス需要間で成り立つビジネスモデルを再構築します。このネットワークは、オンチェーンで実行されるコントラクトでバリデーターの信頼性を保証します。
バリデーターネットワークは、サービス需要からのDID検証要求を処理し、他の情報の中から信頼できるDIDのクレデンシャルを返します。検証プロセスは、ネットワーク内のバリデータのランダムなセットによって実行され、検証結果の安全性を確保するためにBFTコンセンサスアルゴリズムを利用する事を特徴としています。
検証の簡易化
クレデンシャルを検証するには、クレデンシャル文書に記載されているバリデーターの署名を検証するだけで済みます。全ての資格のあるバリデーターはブロックチェーン上に登録され、PoSプロトコルとコミュニティにより選出された評議会によって管理されます。
ネットワークは、そのコードベースに統合された信頼できるDID検証メカニズムを認識し、他のメカニズムを不可知論的なものとして考慮します。このメカニズムは、サービスの要求者がメカニズムを信頼しない限り機能しません。この場合、バリデーターは選択されたDIDメカニズムを使用して結果を計算することになります。
例えば、DIDアグリゲーターがEthereumアカウントの検証方法をコンパイルした後、ある人は自分のアカウントの所有権を証明できる一方で、他の人はネットワークバリデーターの署名を検証することで検証を簡易化することができます(バリデーターIDはブロックチェーンに記録されます)
同様に、誰かPolkadotのアカウント所有権を証明する必要がある場合、開発者はアグリゲーターに別の検証メカニズムを追加・アップロードし、ネットワークバリデーションを要求することができます。コードがネットワークに信頼され、受け入れられる為には、コミュニティによる投票が必要です。第三者が結果を信頼するには、それ以前にコード発行者の信頼性を認証する必要があります。
データ・オン・チェーン
最小限のユーザーデータが、暗号化の下でオンチェーンに格納されています。その他のDIDデータは、ネットワークサーバーに保存されるのではなく、リアルタイムでサービスの需要元に直接返されます。ユーザーがネットワークにアクセスする度にアイデンティティを証明・リンクする必要がないようにDID関係をオンチェーンで保存しています。
プライバシー保護
分散型検証の過程では、DID-アカウントの関係が必然的にバリデーターに晒される可能性があります。その対策として、プライバシーと利便性のバランスが必要であると考えられます。機能的な分散型サービスを提供することを前提に、TEEの実装やゼロ知識証明などのシークレットコンピューティング手法とプロトコルによるID難読化技術を適用します。ID難読化技術は、クレデンシャル所有者のIDやサービス要求者のIDを隠すことができます。バリデーターは、DIDデータの真の所有者やデータの行き先を知ることができなくなり、広告や詐欺といった悪意あるアクションを起こす動機を失うことになります。
相互運用性
DIDアグリゲーターは、中央集権型DIDリゾルバを実装しているか分散型DIDリゾルバを実装しているかに関わらず、異なるIDシステムからのDIDメカニズムを統合するために設計されています。一方で、DIDインフラストラクチャが相互運用性をサポートする既存のツールやソフトウェアライブラリと統合できるように、相互運用可能な標準を採用しています。
民主主義
集約されたDIDから信頼できるクレデンシャルを生成するには、全てのネットワークバリデ ーターが連携して信頼できる結果を出力する必要があります。バリデ ーターはサービスプロバイダでもあり、その作業に応じて報酬を得ることができるため、より最適化されたサービスを提供する義務とインセンティブが生じます。また、サービス要求者としてのクレデンシャル消費者は、プロトコルの反復に参加する権利を保持します。
アグリゲーター内の全ての機能は、分散型自律組織(DAO)により変更することが可能です。コミュニティは、プロトコルのアップグレード提案に投票し、ネットワークに実装することができます。例えば、コミュニティはDAOの投票によって、どのDID検証方法が信頼できるかを決定することができ、その後、ネットワークはこの方法を信頼できるものとして承認します。このアプローチは、ユーザが自分のクレデンシャルが効果的に検証されていると疑う余地のない信頼できる効率的な環境を提供するのに必要なものとなります。
全体として、DIDアグリゲーターはスーパーDIDリゾルバであるといえます。開発者がDID検証方法を追加し、ネットワークを介して分散型クレデンシャルサービスを提供することができます。また、開発者がアップロードしたDID解決方法の組み合わせを使って、より深いレベルの分散型クレデンシャルを計算するツールとしても利用できます。アグリゲーターは信頼できるDIDメソッドのドッカーのようなものであり、誰もが分散型ネットワーク検証サービスを使用して、あらゆる種類のアプリケーションで使用するための信頼できるクレデンシャルを生成することができます。
技術的なアーキテクチャ部分の詳細は近日中に公開します。
今後のLitentryにご期待ください!