DID,VC入門(1)- Decentralized Identifiersとは
本記事は3部構成DID,VCを使ってできることを紹介します。
- 1部: Decentralized Identifiersとは
- 2部: Verifiable Credentialsとは
- 3部: DIDとVCでできること
第1部として本記事ではDIDについて解説します。
あくまで「DID,VCを使って(でも)」できることの説明です。「他の技術でもできる」「Why DID/VC?」というご指摘はおっしゃる通りであることは前置きとして書いておきます。
Decentralized Identifiers(DID)
DIDの技術に関して詳細かつ広範に書かれた記事としてはこちらの方が書かれた記事がおすすめです。かなり技術寄りで読み応えがあります。
本記事ではもう少し簡略化した解説をしようと思います。
DIDの概要
DIDとはW3Cが標準化した識別子の標準です。
識別子を変えずにその識別子に紐付いた鍵情報と更新・失効ができるのも特徴の一つです(できないDIDメソッドもあります)。
下の図のように、主に3つの要素から構成される識別子です。
- スキーム: この識別子がDID標準に準拠した識別してであると表す
- DIDメソッド: DIDの種類を表す。詳細は後に記します。
- DIDメソッド固有の識別子: DIDメソッドに応じた固有の識別子
DIDを用いることで識別子のコントロール権を所有していることを証明できることができます。例えば、DNSレコードの設定や公開鍵暗号における署名生成のように、その所有者しかできない操作を行うことで、当人性の証明を行う所有の証明(Proof of Possession(PoP)を行います。
DIDメソッド
ひとえにDIDと言っても、公開鍵の置き場所としてブロックチェーンを用いる、Webサイトを用いる、DNSを用いるなどの識別子の構成方法・構成技術によって仕様が異なります。それぞれのDIDの技術仕様をDIDメソッドと言います。
did:keyメソッド
公開鍵暗号方式をもとにしたDIDメソッドの一種であり、公開鍵をそのまま固有識別子として扱うのが特徴です。このDIDメソッドでは鍵情報の更新・失効はできません。
did:key:z6MkepWVAjYFGvTdffTcJJcE1sJKLHuCefxqw72dPodoxJrP
did:webメソッド
WebのドメインをもとにしたDIDメソッドです。管理者のWebサイト上の特定の場所にDIDドキュメントを設置します。
did:web:idroit-dashboard.com
did:ethrメソッド
Ethereumブロックチェーンを用いるDIDメソッド。
スマートコントラクトを用いた鍵情報の更新・失効が可能です。
did:ethr:0x030a48b2e2c4890ff2c26b91b93f8f899191c21bd6d52722e62a5251c55dfa22a5
did:ionメソッド
Bitcoinブロックチェーンと分散ファイルシステムIPFSを用いるDIDメソッドです。Sidetreeプロトコルと呼ばれる様々なブロックチェーンと分散ファイルシステムで適用可能なDIDの仕様をもとにすることで、鍵情報の更新・失効が可能です。
did:ion:EiBqKd-OC-GCTZDOFuC7RORjJsxhCN06IzWnVzM7f2c-gw
DIDの仕組み
DIDドキュメント
DIDの生成時に識別子情報と検証用鍵を記載したファイルであるDIDドキュメントを生成しDIDレジストリに登録します。
DIDリゾルバー
DIDのルールに則ってDIDレジストリに登録されたDIDの検索(解決)を行いDIDドキュメントを取得します。。
基本的にオープンソースになっており、誰でも利用可能です。
DIDレジストリ
DIDドキュメントを保存する誰でもアクセス可能なレジストリ。
一般的なデータベース、ブロックチェーンや分散ファイルシステムなどをレジストリとして用います(DIDメソッドごとに異なる)。
DIDが抱える課題
一方でDIDには多くの技術的課題があり、最近は(VCほど)あまり熱心に議論されていない印象を受けます。DIDの問題点については以下の記事にまとめています。
TBD
まとめ
本記事ではDIDの概要を説明しました。次の記事ではVerifiable Credentialsについて解説しようと思います。
- 第1部: 「Decentralized Identifiersとは」
- 第2部:「Verifiable Credentialsとは」
- 第3部: 「DIDとVCでできること」
最後に改めて書いておきますが、この記事ではあくまでDID,VCの入門としてかなり簡略化をした説明をしています。
また間違いも多くあると思います。ご指摘お待ちしております。
Discussion