メインコンテンツへスキップ

ArcBlock が AWS QLDB を活用して分散型アイデンティティソリューションを構築する方法

Robert Mao, Founder / ArcBlock
AWSDIDOCAPQLDB

執筆: Robert Mao、ArcBlock 創業者

イラスト: Moon Cao、ArcBlock UX デザイナー

アイデンティティ技術は、中央集権型のアイデンティティソリューションから分散型アイデンティティソリューションへと進化しています。分散型アイデンティティは、アイデンティティの管理権をユーザーに戻し、第三者と共有する情報を自ら決定できるようにする新しい技術です。

アイデンティティモデル

2017 年に設立された ArcBlock は、dApps、DID、Blockchain アプリケーションの開発を簡素化する、新しい分散型アプリケーションプラットフォームを構築しています。W3C Credentials Community Group と DIF の勧告に準拠した DID プロトコルを実装しており、このプロトコルは当社のアーキテクチャで重要な役割を担い、プラットフォームの基盤となっています。ArcBlock は 2019 年に AWS Partner Network (APN) のメンバーとなり、EC2、QLDB、OpenSearch など複数の AWS サービスを活用して、本稿で取り上げる分散型アイデンティティ技術を含む基盤インフラストラクチャを構築しています。

DID

(図:一般的な DID とその情報アーキテクチャ)

開発プラットフォームである ArcBlock を使えば、誰でも DID 機能を備えたアプリケーションを簡単に実装し、デプロイできます。また、DID(ユーザーがデジタルアイデンティティ、クレデンシャル、NFT、その他のデジタル資産を管理するためのモバイル/Web ウォレットアプリケーション)、DID(認証、検証可能なクレデンシャルの提示と検証、暗号資産決済、デジタル資産交換などを実現する拡張可能なプロトコル/フレームワークおよび SDK)など、すぐに使えるツールとフレームワークを一式提供しています。開発者は、分散型アイデンティティ技術を最大限に活用したアプリケーションを構築するために必要なものをすべて入手できます。

分散型アイデンティティとは

分散型識別子(DID)は、個人、組織、IoT デバイスなどのための自己主権型デジタル識別子です。私たちはさまざまなオンラインサービスを利用し、個人情報を提供する機会が増えるにつれて、データ漏洩やプライバシー喪失のリスクにさらされることが多くなっています。標準に基づく分散型アイデンティティシステムは、個人情報やプライベートデータに対するプライバシーと管理能力を高めます。

DID は暗号署名を用いた秘密鍵によって保護されるため、その所有と管理を証明できるのは秘密鍵の所有者だけです。1 人が必要な数の DID を持つことができ(また、そうすることが推奨されます)、異なるサービスでの複数の活動を横断して追跡されにくくなります。たとえば、金融口座に関連付けた DID と、それとは完全に独立したソーシャルネットワーク用の DID を持つことができます。

各 DID には多くの場合、他の DID が発行し、その DID に関する特定の主張(所在地、年齢、学位、予防接種証明書など)を証明する一連の Verifiable Credentials (VC) が関連付けられます。これらのクレデンシャルは発行者によって暗号署名されているため、署名者から独立し、プライバシーを保ちながら検証できます。また、元の文脈の外でも解釈でき、その文脈を独立して再構築し、解釈するための仕組みも備えています。DID の所有者は、特定のプロバイダーに依存せず、自らこれらのクレデンシャルを保管します。

DID と Verfiable Credentials

(図:DID と VC の仕組みの概要)

Verifiable Data Registry (VDR) は、データを検証可能な形で登録する方法の総称です。原則として VDR はブロックチェーン、クラウド、ネットワークなど、特定の形態である必要はありませんが、最も一般的な VDR はブロックチェーンまたは台帳で実装されています。ArcBlock のソリューションでは、QLDB を活用し、DID アーキテクチャ向けにブロックチェーンプロトコルを基盤とする高性能な VDR を実装しています。

DID が重要な理由

DID 技術は、個人ユーザーと組織の双方にメリットをもたらします。DID により、エンドユーザーは自らのアイデンティティを所有・管理し、高度に安全な方法でプライバシーを保護できます。企業組織にとっては、EU GDPR (General Data Protection Regulation) などの規制が最新のアイデンティティソリューションを求めるアイデンティティ標準を強化しています。DID は、組織による電子データの検証を可能にし、透明性と監査可能性を向上させます。

現在、多くの人が、このような暗号学的証明を伴うデジタルクレデンシャルを指して verifiable credentials (VCs) という用語を使用しています。「エンタープライズブロックチェーン」のユースケースの多くは、verifiable credentials の代表的なユースケースと見なすことができます。W3C の文書「Verifiable Credentials Use Cases」には、教育、小売、金融、医療、法的アイデンティティ、IoT デバイスなど、7 つの分野にわたる 30 以上の代表的なユースケースが掲載されています。近年の COVID-19 パンデミックの世界的な拡大により、「免疫証明書」への需要と技術的要件が生じ、DID と VC は有望な技術的解決策の一つと考えられています。

「分散型デジタルアイデンティティ(DDID)は単なる技術的な流行語ではありません。現在の中央集権的な物理・デジタルアイデンティティのエコシステムを、分散化され民主化されたアーキテクチャへと全面的に再構築する可能性を秘めています。」

-- Prepare For Decentralized Digital Identity: Security SWOT, January 21, 2020, Forrester Research

ArcBlock が QLDB を活用して DID を実装する方法

ArcBlock は、トークンエコノミー、NFT (Non-fungible Token)、DID (Decentralized Identities) などを標準でサポートし、dApps 向けに最適化された高性能なブロックチェーンプロトコルを構築しています。Amazon QLDB は、ブロックチェーンのレイヤー 2 スケーリングソリューションに、透明で不変かつ暗号学的に検証可能な台帳バックエンドを提供します。また、当社のニーズを満たす、非常にコスト効率の高いマネージドサービスです。

以下の概略図は、ArcBlock プラットフォームのレイヤー化されたアーキテクチャを示しています。W3C による DID と VC の勧告およびベストプラクティスを活用して基盤として設計し、DID を一種の「ネイティブ識別子」として使用しています。ユーザー、ブロックチェーンアカウント、スマートコントラクトなど、システム内のすべてのオブジェクトが DID を持ちます。

ArcBlock プラットフォームの概要

(図:ArcBlock プラットフォームの概要)

Amazon QLDB 自体に暗号学的検証機能が組み込まれているとはいえ、分散型アイデンティティと Verifiable Credentials の技術には、異なるベンダー間での移植性、プラットフォーム非依存性、相互運用性が必要です。そのため、QLDB 上に DID と VC レベルの検証を独立して実装しました。ArcBlock の Open Chain Access Protocol (OCAP) レイヤーは、基盤となる台帳とストレージをカプセル化し、汎用的で高水準なブロックチェーンプロトコルとツール(トランザクション、スマートコントラクト、ブロックエクスプローラー、ウォレットなど)を提供する中間層プロトコルです。

以下の図に示す ArcBlock プラットフォームのアーキテクチャでは、Amazon QLDB を活用し、生のトランザクションを保存する「State Storage」として使用しています。「wallet」から発生するエンドユーザーのトランザクションを含め、アプリケーションからのすべてのトランザクションはまず Amazon QLDB に保存されます。トランザクションの実行後には、ブロックチェーンの「states」も更新され、Amazon QLDB に保存されます。同時に、システムは Amazon QLDB streams を使用してトランザクションを Amazon Kinesis にストリーミングし、追加のインデックスを作成するとともに、データを Amazon の Elastic Search に保存して、高速で複雑な検索とクエリを可能にします。Amazon Lambda は、このプロセスでイベントデータを処理する柔軟性を提供します。これらのトランザクションプロトコルは、高性能な Remote Procedure Call (RPC) フレームワークである gRPC で構築し、標準クエリ言語として GraphQL をサポートしています。

AWS QLDB 上の ArcBlock のシステムアーキテクチャ

(図:システムアーキテクチャ)

DID はアーキテクチャの基盤であるため、すべてのブロックチェーントランザクションは当然 DID に関連付けられます。また、ブロックチェーンシステム内に FT (Fungible Tokens) や NFT (Non-fungible Tokens) などの高水準なデジタル資産を定義し、いずれも DID を識別子として使用するとともに、VC (verifiable credentials) を可変データ形式として活用しています。システム全体で DID を一意の識別子として使用することで、異なるベンダーが開発したコンポーネントでも相互に統合しやすくなります。

ABT Node は、再利用性の高いソフトウェアコンポーネントフレームワークである「Blocklets」のコンテナ兼ランタイム環境です。ブロックチェーンプロトコルの実装自体を含め、ArcBlock のすべてのアプリケーションとコンポーネントは Blocklets であり、Amazon EC2 インスタンス内で動作する ABT Node によって管理されます。本番環境では、Amazon Elastic Load Balancing を使用して複数の ABT Node インスタンス間で負荷分散できます。また、ユーザーが購読している特定のイベント、たとえば暗号資産決済の完了や重要な個人データの共有直前などにプッシュ通知を送信するため、Amazon SNS も使用しています。これにより、ユーザーは通知を受け取り、リアルタイムの体験を得られます。

特筆すべき点として、Amazon QLDB の内部データに対する検証可能性を活用しながらも、暗号学的検証は Amazon QLDB 自体から独立して構築しています。これにより DID と VC は他のシステムと相互運用でき、顧客は Amazon QLDB の検証の仕組みを必ずしも理解する必要がありません。state storage 内のトランザクションデータと状態データは、Amazon QLDB の組み込み検証機能によって、さらなる検証可能性を備えています。

今すぐ利用可能

Amazon QLDB を基盤とする ArcBlock プラットフォームは、ブロックチェーン技術の可能性を最大限に引き出し、smart-contracts、tokens、NFT、DAO など、付加価値の高い機能を SAAS クラウドのお客様に提供できます。

完全に動作するソリューションはすでに本番稼働しており、今すぐ利用できます。デモ、サンプル、開発者向けドキュメントなどの詳細は ArcBlock の Web サイトをご覧ください。なお、ArcBlock のすべての Web サイトとサービスは、すでに上記の DID 技術を使用し、dApps として動作しています。AWS のお客様は、必要なコンポーネントをローカルに簡単にダウンロードするか、AWS Marketplace からインスタンスを起動して、今すぐ DID を使った開発を始められます。

参考資料

このページに関わるもの

製品

  • OCAP active

    チェーンごとにクライアントを用意するのではなく、一つのインターフェースでチェーン上のデータを問い合わせるためのプロトコル。ArcBlock が関連特許を保有しています。

用語

  • DID

    DID はデジタル識別子です。保持者と検証者が、そのアイデンティティを誰が管理し、ある主張が誰に関わるかを確認するために使います。DID はウォレットではなく、アプリケーションのアカウント、サインイン方法、権限ルールを置き換えるものではありません。