blockchainjapan’s blog

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

Verifiable Credential II:Litentryにおけるトラストレス・ワークフロー


Verifiable Credential II:Litentryにおけるトラストレス・ワークフロー

Litentry Adegoke Yusuff

Litentryの各リンクをフォローして最新情報を入手しましょう!

この論考は、Verifiable Credentials(検証可能なクレデンシャル)に関するシリーズで「Data Stardust and Constellations」の続編です。この解説では、検証可能なクレデンシャルの概念をより深く掘り下げ、その中核となる機能、LitentryにおけるVCとトラストレスワークフロー、そのユースケースについて説明します。

Litentryにおけるトラストレスワークフロー

Litentry Protocolは、Web3分野で初めて、VC のトラストレスワークフローを設計しました。このトラストレス・ワークフローは、Litentryにフォーカスしたコンポーネントを用いて、VCの自動生成、発行、検証を提供します。対応するVCを発行・生成するためには、VCスキーマが存在する必要があります。VCスキーマとは、VC に含まれる情報、その構造化、フォーマット化、標準ルールを定義するデータモデルまたは構造のことです。通常、著者、ID、コンテンツという3つの重要なフィールドが含まれます。

VCスキーマは通常、VCに含めることができるデータの種類、異なるデータ要素間の関係、VCを有効化するための制約や要件について規定します。トラストレスエコシステムでは、どのユーザーもスキーマを作成し、パラシェーン上のスキーマレジストリに公開することができます。

VCスキーマを共有することで、全ての関係者が同じ方法で文書を参照することができ、スキーマは多くの場合、W3C Verifiable Credentials Data Model などの既存のデータ標準に基づいています。これによって、発行者はクレデンシャルを保有者に発行でき、クレデンシャル保有者は検証者にクレデンシャルを提示でき、いずれの当事者も他方を信頼する必要はありません。

これは、デジタル署名や公開鍵基盤(PKI)などの暗号技術の使用によって可能になるもので、発行者と検証者が互いを信頼する必要なくクレデンシャルの真正性と完全性を暗号的に検証することができるようになります。まとめると、Litentryプロトコルで設計されたVCのトラストレスワークフロープロセスは以下のようになります:

VCのエンティティ(署名者とユーザー) — → Litentryプロトコル(IdHub) — → データ/ストレージ(Parachainオンチェーンストレージ、データプロバイダー)

VCのトラストレベル

検証可能なクレデンシャルのトラストレベルは、クレデンシャル検証者がクレデンシャルに含まれる情報をどの程度まで信頼できるかを示します。VCのトラストレベルは、クレデンシャル発行者の身元、発行プロセスに適用される精査のレベル、クレデンシャルを改ざんや詐欺から保護するためのセキュリティ対策など、さまざまな要因によって決定されます。

VCのトラストレベルには、低から高までさまざまなものが存在します。低レベルでは、比較的未知または信頼されていない発行者によって発行された、あるいは厳密 な発行プロセスを経ていないVC と関連付けられます。このような VC は、クレデンシャル検証者に受け入れられにくい可能性が高いと言えます。中程度のVCのトラストレベルは、評判のよい発行者によって発行され、発行プロセス中にある程度の検証または精査を受けたクレデンシャルと関連しています。検証者に広く受け入れられていますが、追加的な精査または検証を受ける可能性があります。

Litentryのような信頼度の高いVCは、評判が良く信頼できる発行者によって発行され、徹底的かつ厳格な検証プロセスを経ています。Litentryがこの高い信頼レベルを達成するためのメカニズムには、オープンソースコード、TEE、Trusted data providers、VC registry(IDHub)、アサーション、デジタル署名、証明、発行者などが含まれます。これらは全て異なるユーザーシナリオをカバーし、相互に作用して、プライバシー保護、最小限の情報開示、分散化、信頼性、移植性、透明性といった検証可能なクレデンシャルの中核的機能を確認するものです。高い信頼レベルを持つ VC は、検証者に広く受け入れられ、従来の身分証明書または資格証明書と同等と見なすことができます。

Litentry Protocolにおける検証可能なクレデンシャル — アイデンティティハブ

一般論として、IDHubはオンチェーンVCレジストリであり、VCの安全な保管システムであり、Litentry Parachain上で動作します。パラチェーン上にVCを保存することで、安全で改ざんができないクレデンシャルの記録を提供します。これにより、個人、DApps、組織は検証可能なクレデンシャルを安全に保管・管理し、本人確認やその他の属性を確認する必要がある他者が利用できるようになります。

パラチェーン検証可能クレデンシャルレジストリは、パラチェーンの特化した性質を利用して運用を最適化できるため、従来のオンチェーン検証可能クレデンシャルレジストリよりも効率的でスケーラブルなものとなっています。(パラチェーンは、基盤となるPolkadot Relaychainのセキュリティメカニズムを共有し、他の多くのパラチェーンに接続されています。詳しくはこちらをご覧ください)

パラチェーンのオンチェーンストレージからVCの有効性を問い合わせるためのエクスターナルは、VCが発行された時点で初期投入されます。Litentryのパラチェーンは、<VC DID, {trx_hash, status}のペアでオンチェーンストレージを維持し、検証者がVCの状態を照会して検証するための外部機関を提供します。

VCの使用

以下は、エンティティ間の信頼を促進するために協働するVCの中核的な機能です:

発行者:発行者は、受信者にクレデンシャルを発行するエンティティです。VC は誰でも発行できますが、通常は Web3 プロジェクトや組織などの信頼できるエンティティが発行します。このエンティティは、クレデンシャルに含まれる情報を検証し、その真正性を証明するためにクレデンシャルにデジタル署名を行う責任を負います。発行者のデジタル署名は、発行者の秘密鍵を使用して作成され、その後、受信者は発行者の公開鍵を使用して検証することができます。これによって受信者は、クレデンシャルが改ざんされていないこと、および信頼できる発行者から確かに発行されたことを確認することができます。Litentryプロトコルの文脈では、発行者は情報の同期と計算を可能にするLitentry TEE Workerとなります。

検証者:検証者は、クレデンシャルの真正性と妥当性を確認するエンティティであす。発行者の秘密鍵を使用して発行者が作成したクレデンシャルのデジタル署名を使用して、クレデンシャルの真正性を確認することができます。検証者はまた、通常は発行者と共有される発行者の公開鍵を使用して、クレデンシャルのデジタル署 名を検証し、それが改ざんされていないことを確認することができます。検証者は、クレデンシャルに含まれる情報を発行者の規則と照合して検証し、クレデンシャルが有効であることを確認することができます。これによって検証者は、受信者の身元または資格の証拠としてクレデンシャルを受け入れるかどうかについて、情報に基づいた決定を下すことが可能になります。Litentryでは、検証者は通常 DAppであり、与えられた対象に関するクレデンシャルを検証します。

保有者:ホルダーはID-Hubユーザーです。通常、VCの対象者となりますが、必ずしもそうではありません。ID-Hubユーザーはクレデンシャルを所有し、それを使って検証者に自分の身元または資格を証明することができます。クレデンシャルの所有者であり、IDまたは資格の証拠としてそれを使用する権利を持っているということです。保有者は、検証のために検証者に提示する場合など、クレデンシャルを他者と共有する能力も有します。

レジストリ:Litentry Identity Hubは、VCレジストリです。これは、発行されたクレデンシャルのリストまたはディレクトリを維持する責任を負う非中央集権システムであることを意味します。レジストリには通常、発行者、クレデンシャルの対象者(クレデンシャルが発行された個 人)、およびクレデンシャルの状態(アクティブ、取り消し、期限切れなど)に関する情報が含まれます。この情報には検証者がアクセスして、所持者によって提示されたクレデンシャルの真正性と妥当性を検証することが可能です。レジストリは、保有者がクレデンシャルを管理できるようにしたり、発行者がクレデンシャルに 関する情報を公開および共有できるようにしたりするなどの追加サービスも提供できます。

要約すると、検証可能なクレデンシャル・エコシステムにおける一連の出来事のサイクルは、以下の通りです:

  1. 発行:一連のイベントの最初のものは、VCの発行になります。これには、発行者が検証可能なクレデンシャルを保有者に発行することが含まれます。
  2. 転送:保有者が受け取ると、保有者はそのVCの1つまたは複数を別の保有者に転送するか、オプションでその VC を検証者に提示することができます。
  3. 検証:検証者はVCの真正性を判断し、これには検証可能なクレデンシャルの失効に関するステータスチェックが含まれます。
  4. 発行者はその後、検証可能なクレデンシャルの取り消しを決定することができ、保有者が検証可能なクレデンシャルを削除することができます。

この動作の順序は常に固定されているわけではありませんが、最も一般的な動作の順序はこのようになります:

  • 発行者が保有者に発行
  • 保有者が検証者に提示
  • 検証者が検証を実行

VCの構成要素

VCは平文のJSONファイルとして保存されます。JSONは、データの保存と交換にJavaScript Object Notation(JSON)形式を使用します。JSONはテキストベースのフォーマットで、属性と値のペアや配列データ型からなるデータオブジェクトを、人間が読みやすいテキストで表現するものです。軽量で読み書きが容易なため、ネットワーク上でのデータ転送やNoSQLデータベースへのデータ格納によく利用されます。

JSONファイルでは、データはキーと値のペアで構成され、キーは引用符で囲まれた文字列で、値は文字列、数値、ブール値、配列などのデータ型で表現されます。Litentry VCの場合、JSONファイルは主に3つの部分から構成されています:

  1. 発行者のエンクレーブ認証メタデータ- 検証可能なクレデンシャルには、多くの場合、VC を発行するエンティティである発行者についてのメタデータが含まれる。このメタデータは、発行者のエンクレーブ認証メタデータと呼ばれ、発行者のセキュリティに関す る情報を提供します。エンクレーブとは、暗号鍵やプライベートデータなどの機密情報を保護するために使用される、コンピュータやデバイス内の安全で隔離された環境のことを指します。発行者のエンクレーブ認証メタデータには、発行者が使用するエンクレーブのタイプ、エンクレーブのセ キュリティ対策と機能、および関連するセキュリティ認証または認証の詳細が含まれます。この情報により、クレデンシャル検証者は発行者のエンクレーブのセキュリティを評価し、発行者 が発行する VC の信頼性を判断することが可能になります。検証可能なクレデンシャル・システムでは、発行者のエンクレーブ認証メタデータは、VCの一部と して含めることも、別々に格納してVCから参照することもできます。これによって、クレデンシャル検証者は、VC の真正性を検証するときにメタデータに簡単にアク セスして検証することができる仕組みです。
  2. アサーション- 検証可能なクレデンシャルには、多くの場合アサーションが含まれる。これは、VCに含まれる情報についてクレデンシャル発行者が行ったステートメントを指します。アサーションは、クレデンシャルの対象、アサートされる情報のタイプ、およびアサートされる 情報の値を指定します。これらは、データをフェッチして計算する方法を記述する一連のステップを含むドメイン固有言 語(DSL)で記述されます。このDSLとは、パラチェーンランタイムコードやTypeScript SDKコードに自動生成することができるコードの一種です。データの柔軟性、分離、標準化を可能にし、信頼できる自動生成コードによってアサーション(データ、値、情報など)の検証可能性を向上させることができます。アサーションは、VCレジストリに合致したデータに基づいてどのように実行されるかを定義した独自の実行フローを持つ。データプロバイダから提供されたデータに基づいて、Litentryコンテキストの標準を定義するために使用されます。つまり、アサーションは、VCが正確で信頼できる情報を含み、容易に検証できることを保証するのに役立ちます。

3. 署名証- これは発行者エンクレーブの秘密鍵によって提供され、発行者のアイデンティティと発行されたドキュメントの完全性を認証するために使用されるデジタル署名の一種です。要するに、署名は発行者の秘密鍵と文書の内容を入力とし、出力として一意の署名を生成する暗号関数となります。この署名は、発行者の公開鍵を用いて検証することができ、通常、文書の受領者と共有されます。これによって、受信者は文書が改ざんされていないこと、発行者が発行したものであることを確認することができます。

これらのJSONファイルの各構成要素を以下に示します:

一般的なユースケース

検証可能なクレデンシャルは、関係者の特定のニーズと要件に応じて、様々なシナリオと様々な目的で使用できます。分散型VCの潜在的ユースケースには、以下のようなものがあります:

  • アイデンティティの検証:個人または組織のアイデンティティを検証し、アイデンティティの証明を必要とするサービスやリソースにアクセスできるようにするためにVCを使用することができます。例えば、ある機関が個人に対して、氏名、生年月日、機関のデジタル署名を含むVCを発行し、その個人が第三者に提示することで本人確認ができるようにすることができます。
  • アクセス制御:VCは、デジタル・リソースへのアクセスを許可または制限するために使用することができます。例えば、ある個人が、リソースの全部または一部へのアクセスを許可するVCをエンティティに発行し、そのVCを提示することでアクセスできるようになります。
  • 議決権/ガバナンス:VCを発行することで、個人にガバナンスや議決権を付与し、その評判を確立し、民主的権利を行使できる投票モジュールにアクセスできるようにすることができます。
  • 所有権の証明:VCは、資産の所有権を安全かつ検証可能に確立するために使用され、所有者が資産の所有権やアクセス権を譲渡することを可能にすることができます。
  • ローン:クレジットVCを発行することで、借り手の本人確認に加え、収入や信用力など、ローン申請プロセスに関連する要素を証明することができます。これによって、検証者はローン申請を承認するか否かを決定する根拠を得ることができます。
  • サプライチェーンの追跡 :VCは、サプライチェーンにおける製品の出所や真正性を追跡・ 検証するために利用することができます。例えば、製造者は、製品の原産地、製造日、品質管理措置に関する情報を含む VC を発行し、その VC をサプライチェーンの後続当事者(流通業者、小売業者、消費者など)に伝達し、真正性や出所を確認することができます。

まとめ

検証可能なクレデンシャル(VC)は、個人がデジタル ID を簡単、プライバシー、セキュリティで保持および共有することを可能にする概念です。これは、ID属性を暗号的に署名し、信頼できる当事者によって検証することができるという考えに基づいています。VCの中核的な機能には、プライバシー保護、選択的開示、相互運用性などがあります。

Litentryは、Web3空間におけるVCのトラストレスワークフローの設計を先駆的に行っています。このトラストレスワークフローでは、分散型識別子(DID)の作成、VCの発行と提示、Litentryにフォーカスしたコンポーネントを用いた検証を実行します。

VCの汎用的なユースケースは、KYC/AMLコンプライアンス、アクセスコントロール、データ承認、サプライチェーンラッキングなど、多岐にわたります。

この記事への貴重な貢献をしてくれた MelとLitentryのデザインチームに感謝を捧げます。

Litentryの技術についてより知りたい方は、プライバシーに関する記事シリーズをご覧ください。


Litentryについて

Litentryは、複数のネットワークにまたがるユーザーIDの連携を可能にする分散型IDアグリゲーターです。DIDインデックスプロトコルとSubstrateが構築した、分散型DID検証ブロックチェーンを特徴とします。分散型で相互運用可能なIDアグリゲーションサービスを提供し、DIDメカニズムの複雑さを軽減して利便性を向上させます。Litentryは、ユーザーが自身のIDを管理し、使用するdAppsが、異なるブロックチェーン間でユーザーのDIDデータをリアルタイムに取得するための安全な手段を提供します。

Litentryの各リンクをフォローして最新情報を入手しましょう!