分散型アイデンティティの独立記念日

著者: Robert Mao、ArcBlock創業者兼CEO
イラスト: Moon Cao、ArcBlock UXデザイナー
6月30日、Sir Tim Berners-LeeはGoogleやMozillaなどによるDID CoreのW3C勧告化への拒否権を覆しました。これにより、DID CoreがついにW3C勧告となる道が開かれました。これはW3C CCG(Credentials Community Group)の全メンバーや貢献者にとっての勝利であり、さらにユーザーにとっても大きな勝利です。DIDが最初のセルフソブリンアイデンティティ(SSI)プロトコルとしてW3C勧告となったことを考えると、これは人々にとっての勝利とも言えるでしょう。
その数日後、7月4日はアメリカ合衆国の独立記念日と重なりました。1776年7月4日にアメリカ合衆国が独立宣言を行ったことを記念する日です。私は、DID CoreがW3C標準となったことは、分散型アイデンティティ技術の「独立宣言」のように捉えられ、長期的には独立記念日と同じくらいの意義を持つかもしれないと考えています。

DIDとは何か?
まずは簡単にDIDについて紹介しましょう。W3CのDID Core仕様の基礎は、単に「分散型識別子」の標準フォーマットの定義に過ぎません。
このフォーマットは、https://で始まるお馴染みのウェブアドレスに似ており、3つの部分に分かれています。
- 最初の部分は常に「did」で、これは「分散型識別子」であることを示します。
- 2番目の部分は「メソッド」と呼ばれ、例のABTはArcBlockが定義したDIDメソッドです。
- 3番目の部分は任意の文字列で、その定義、生成、解釈はすべて2番目のメソッド提供者によって決定・実装されます。

例えば、FacebookのユーザーIDは連番であり、同じ番号が他のシステムにも存在し、全く異なるものを指すことがあります。私のFacebookユーザーIDは1314596489ですが、そのIDはAmazonの本やInstagramの写真を指すかもしれません。DID仕様を使えば、グローバルに一意な識別子を明確に定義でき、どのシステムにあっても、誰が実装していても混乱は起きません。

DID Coreのユニークな(しかしGoogleやMozillaから批判された)設計は、多数の登録メソッドを許容し、それぞれの背後にあるアイデンティティを異なるメソッドが定義・解釈する点にあります。この設計自体が分散化の精神を体現しており、DIDに無限の拡張性と既存のレガシーIDシステムとの互換性を与えています。2019年初頭に参加した当時はメソッドのリストは短かったですが、現在は数ページに及び、DID Coreが標準となるにつれてメンバーや対応メソッドのリストはさらに増える見込みです。
GoogleやMozillaからのDIDプロトコル草案への反対意見の一つは、DIDが標準メソッドを厳密に定義せず多くのメソッドをサポートしていること、そして多くのメソッド間での相互運用性が必要な点にあります。また、メソッドは複数の実装が可能なため、一部のメソッドは他よりも分散化されていない可能性があり、これもGoogleの拒否理由の一つです。しかし私は、これは設計上の欠陥ではなく、まさに分散化の体現だと考えています。大手企業がその価値を理解できないのではなく、むしろこの設計が彼らの既得権益やユーザーのアイデンティティとデータの独占を脅かすことを恐れているのだと思います。
W3CのDIDはDIDドキュメントの概念も定義しており、これはDIDとURI(ユニバーサルリソース識別子)を統一し、過去のインターネットプロトコルから得た多くの教訓を取り入れた非常に拡張性の高い設計です。DIDドキュメントと混同されやすいため、本記事では詳細には触れません。
検証可能な証明書(Verifiable Credentials)とは?
DIDは最も基本的な層に過ぎず、DIDを基盤とした検証可能な証明書(Verifiable Credentials)が多くの応用シナリオの鍵となります。
検証可能な証明書は、検証を可能にするデジタル署名を含むデータフォーマット仕様です。概念は非常にシンプルで、データフォーマットに検証情報が含まれており、効率的に検証でき、改ざんや破損ができないことを意味します。ここで使われる署名と検証技術は多くのインターネットアプリケーションで一般的に使われており、成熟した技術と実践です。仕様設計の目的は、異なるシステムや実装が効果的に相互運用できるようにこれらのデータフォーマットを標準化することにあります。
W3C CCGは、DIDベースの検証可能な証明書設計のために以下のような抽象的かつ汎用的な概念モデルを提案しています。

このモデルでは、証明書の各部分の役割は主に発行者(Issuer)、保持者(Holder)、検証者(Verifier)に分かれ、それぞれの役割はDIDで識別されます。検証可能な証明書は署名アルゴリズムで検証可能なデータです。
DIDから検証可能な証明書へは、必ずしも今日のブロックチェーンや暗号通貨と関連しているわけではありません。検証可能な証明書の設計は、今日のブロックチェーンで広く使われているハッシュや署名アルゴリズムに似た技術を使うことが多いです。上記モデルには検証可能データレジストリ(Verifiable Data Registry、VDR)という役割もあり、これはブロックチェーンで実装可能ですが、必ずしもブロックチェーンを使う必要はなく、伝統的なデータベースや一般的なファイルで実装することも可能です。私の「ArcBlockがAWS QLDBを使って分散型アイデンティティソリューションを構築する方法」では、AWS QLDBをVDRのDID実装として使う方法を紹介しています。
W3C CCGのドキュメント「Verifiable Claims Working Groups' Use Cases」には、検証可能な証明書を使って解決できる多くのシナリオや実用例が挙げられています。CCGのドキュメント「Verifiable Claims Working Groups' Use Cases」には、検証可能な証明書を使って解決できる多くのシナリオや実用例が挙げられています。市場で見られる多くの「企業向けブロックチェーン応用シナリオ」は、実は検証可能な証明書の典型的なシナリオです。
検証可能な証明書が使える具体的なシナリオは多岐にわたるため、いくつかランダムに例を挙げます。
- 一定の年齢以上か?(例:酒類やタバコの購入、年齢制限のある場所への入場)
- 自動車を運転できるか?(例:デジタル運転免許証)
- ある研修を修了し資格を取得しているか?(例:デジタルの学歴・研修証明書)
- 専門職の免許を持っているか?(例:医師免許のデジタル版)
- KYC(本人確認)が済んでいるか?特定の法律・規制下で適格な投資家か?
- 国際旅行が許可されているか?(例:ビザ、パスポート、予防接種証明書など)
- ...
これらの例はすでに実装され日常的に使われているものもあります。確かに多くは今日使われているシナリオですが、いくつか問題があります。まず、これらの中央集権的な認証システムは基本的に完璧なネットワーク接続が必要で、特定のネットワーク環境や予期せぬ事態で失敗する可能性があります。次に、中央集権的な設計はハッキングの重要な標的となり、深刻なデータ漏洩やプライバシー問題を引き起こすことが多いです。そして今日のソリューションは特定のベンダーや政府機関が実装しており、相互接続が十分でなく、ユーザーは多くのアプリを使い分けなければならないことが多いです。DIDの検証可能な証明書の設計目標は、これらのアプリケーションを実現するだけでなく、分散性を確保しユーザーのプライバシーを保護することにあります。
DIDが切り開く新しいアプリケーション開発パラダイム
私たちが目にするのは、DIDがもたらす将来のアプリケーション機会の幅広さと、それに伴うアプリケーション開発パラダイムの移行です。DID、分散型アプリケーション、そして最近のWeb3ムーブメントは重なり合っています。DID技術はWeb3ムーブメントにおける重要な技術革命となることが想像できます。
DIDは識別子の標準化により異なるソフトウェアモジュールやシステム間の相互運用性を容易にし、さらに重要なのは、DIDの核心的な考え方がユーザー自身が自分のデータを完全に所有・管理することにある点です。これは過去のインターネット時代、特にWeb2の考え方からの大きな転換です。過去はインターネットサービスの「コア競争力」はいかに多くのユーザーデータを持つかにあり、ベンダー間の競争は誰がより多くのユーザーデータを支配するかにかかっていました。しかしDIDの考え方では、ユーザーだけが自分のデータを所有し、ベンダーはサービスやソフトウェアの提供に専念するため、ソフトウェアとサービスのより密接な協力が利益相反を減らして可能になります。

ArcBlockが2017年に設立されたとき、分散型アイデンティティの必要性を認識していましたが、当時は最適なソリューションを見つけていませんでした。2018年に市場のさまざまなソリューションを調査し、W3C CCGが提案するDIDに惹かれ、市場にあるさまざまな分散型アイデンティティの中で最良の選択だと判断しました。2019年前半からDID技術をコア技術スタックに組み込み、この分野に取り組んでいます。2022年にはDID関連技術を分社化し、DID Labsをエコシステムの一部として設立し、より独立して集中したDID技術の開発を可能にしました。
私たちは標準がまだ形成されていない時期にDIDのプロセスに関わりました。業界標準は長期間にわたり多くの議論や妥協を要し、スタートアップがリソースや時間を割くのは困難です。そこで私たちはより柔軟で軽量な参加方法を採用しました。
標準化団体のコミュニティに積極的に参加し、ドキュメントや議事録、議論を注意深く学習しています。コミュニティ内ではアイデアを発信するよりも、聞き取りと学習に重きを置いています。
標準やコミュニティの合意(通常はかなり時間がかかる)を待つのではなく、自分たちの理解に基づいて迅速に実装し試作を行い、自分たちのプロトタイプや製品ができた後に、コミュニティの成果や議論の構造を踏まえて改善しています。この方法により、まだ形成されていない標準に多くの時間を費やさず、自分たちのやり方に固執しすぎることも避けられます。
他のDIDメソッドとの相互運用性については、初期段階では様子見をし、努力を割きませんでしたが、標準が正式に形成された段階でコミュニティを注視しながら相互運用性に取り組みました。
この戦略により、W3C DID Core勧告と自社のイノベーションを中心に一連のDID関連モジュールを実装し、現在はすぐに使える完成された製品体系を形成しています。
- ネイティブDIDベースのブロックチェーンアドレス:DIDを用いたブロックチェーンアドレス
- DID/VCベースのNFTフォーマット:DIDとVCを使ったNFTデータフォーマット
- DID/VCベースのAccess Control Passport:DIDとVCを使ったアクセス制御フォーマット
- DID Wallet:ユーザーが分散型アイデンティティとデジタル資産を管理するためのウォレット
- DID Connect:DIDを使ってユーザーとアプリケーションを接続するプロトコル
- DIDモチーフ:DIDの視覚的レンダリングライブラリで、パターンの色の違いで異なるDIDを一目で識別可能
- DIDストレージ:DIDで管理されるユーザーデータアクセスプロトコルおよび分散型データストレージフォーマット

これらの製品体系のうち自社で開発した部分はオープンソース化し、DIDコミュニティに貢献していきます。また、DIDの正式な標準が形成されるにつれて、標準と相互運用性を全面的に受け入れていきます。
DIDの未来に向けた課題
W3C DIDは正式なW3C勧告標準となります。これはすべてのDID推進者にとって大きな勝利の節目ですが、分散化への長い道のりの始まりに過ぎません。W3C勧告となったのはあくまで最も基本的なプロトコルであるDID Coreだけであり、DIDを基盤としたアプリケーション構築にはさらに多くのことが必要です。DID技術の未来は多くの課題に直面し、より多くの標準や仕様の形成が求められています。
W3C CCGのDIDは分散型アイデンティティの唯一の標準ではなく、競合または類似のプロトコルも存在し、同じ方向を目指す異なる学派とも言えます。例えばOpenID、WebID、Web Authn、IndieAuthなどがあります。これらの中にはDIDと同じ問題を解決しないものもありますが、ある程度の重複はあります。
DID標準形成の過程で、GoogleやMozillaなどのインターネット時代の大手企業は反対意見を出し、DID仕様の成立を阻止しようとしました。彼らの動機はともかく、これはDIDの価値と可能性を示していると私は信じています。私がVoIP分野に参入したときのことを思い出します。当時、大手電話会社や通信技術企業、国営通信事業者がIP電話技術を潰そうとし、革新に対して何度も妨害を仕掛けました。今日ではVoIP技術は基本サービスであり、現代の通信事業の新たな基盤となっています。技術革新を阻止しようとした「巨人」たちは歴史の彼方に消え去るか、最終的には受け入れて新たな陣営に加わりました。歴史は繰り返すのです。

DID CoreがW3C勧告となったことに関するHacker Newsの議論では、多くのコメントがDIDに関わる多くのブロックチェーン技術企業への批判や嘲笑に集中しているのを見て驚きました。数十件のコメントを読みましたが、有効な反論はほとんどなく、DIDの誤解や誤読、ブロックチェーンや暗号通貨への悪意が多く見られました。前述の通り、DIDとブロックチェーンは実際には独立した技術であり、必ずしも関連していません。しかし、ブロックチェーンやデジタル通貨、そして今流行のWeb3の人気により、多くのブロックチェーン技術企業(私たちも含む)がDIDの価値を見出し飛び込みました。Hacker Newsのギークコミュニティで多くの人がこれを嘲笑し嫌悪しているのは驚きであり残念ですが、DIDが広く普及するまでにはまだ長い道のりがあることを示しています。
まさに歴史を遡れば、独立宣言が初めて書かれ、署名され、宣言された7月の時点で、アメリカはまだ嵐の中の小さく弱い政治体でした。アメリカが強大な国に成長するまでには長い時間がかかりましたが、この短い宣言が将来にわたり消えない歴史を刻むことになるとは誰も知りませんでした。

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