DID? SSI? VC? DIDに関する用語の意味を解説します!

GMです。みなもとこうきと申します。我々は今、C-VoxelというDIDに紐づいた「職歴」を構築できるプロトコルを開発しております。ご興味がございましたら、こちらまで、、、!


さて、近頃よく「DID」とか「VC」という言葉を目にすると思います。どうやら分散型のIDのことだってことはわかるけど、具体的にどういうものでどう使われるのかは知らない方も多いと思います。ということで、今回はまず、DIDやVC、SSIという言葉の意味をしっかりと説明していきたいと思います!

ざっくりとDIDとは

めちゃくちゃざっくりとDIDとは**「自分の個人情報は自分しか扱えないようにしよう」**っていうことを目的とした技術です。

皆さん、いつもなんの気無しに 「Googleでログイン」とか「Twitterでログイン」とかのボタンを押していると思います。これは一見とても便利ですが、言い換えれば**「一つの機関が膨大な個人情報を握っている」**という事です。これは、

  • IDを管理している機関がなくなると、全ての個人情報も消える
  • 自分の個人情報を操作できる権利を特定の機関が持っている
  • 管理している機関も、管理するのが大変

という問題を孕んでいます。例えば、Googleのデータセンターが大爆発したら僕らがログインしている色んなサイトの情報はアクセスできなくなっちゃうし、Googleがいつ僕らの個人情報を書き換えたり、第三者に見せたりしているかわかりません。実際に、Google Analyticsなどを使えば、どんな人がサイトにアクセスしたのかなどを閲覧できてしまうのです。

それを解決するために、自分のデータは自分で持っておいて、自分で管理しようよっていうのがDIDの発端なのです。

DIDって意味が二つあるって知ってた?!

実は、一口にDIDと言っても実は二つの意味があります。それが、

  • Decentralized Identity
  • Decentralized Identifier

です。「え?!そんなの言葉のあやじゃん!!」って思いますよね。僕も思いました。それでは、これらの違いについて説明していきましょう〜!

Decentralized “Identity” : 分散型アイデンティティ

Decentralized Identityというのは分散型アイデンティティと訳されます。アイデンティティとは 個人を表現する属性の集合 のことです。例えば、人やモノを構成する、名前であったり年齢であったり職歴であったり、Webサイトの閲覧履歴といった情報の集合をアイデンティティと言います。ここで大事なのは、アイデンティティとは「個人」ではなくその**個人を表す「情報の集合」**のことです。

つまりこのアイデンティティを一つの機関が管理するのではなく、分散型で皆んなで証明しようよっていう考え方が Decentralized Identity という事です。

Decentralized “Identifier” : 分散型識別子

現実世界でも「名前」があるように、Webの世界でもその “個人” に名前をつけなくては判別ができません。その**「名前」が Decetralized Identifier** です。つまり皆さんもよくご存知の「ID」です。ツイッターの @hogehoge みたいなアレです。

Decentralized Identifierは did:example:123123abc と言った形で表現され、各個人に対してユニークなIDが割り振られています。

つまり、まとめると、

  • Decentralized Identity : 分散型技術を用いて表されるアイデンティティ
  • Decentralized Identifier : Decentralized Identityを識別するための名前(ID)

です。

💡 豆知識

実は、W3CのDIDの規格に、DIDはブロックチェーンや分散型台帳などの分散型技術を使わなければならないという記述はなく、DIDだからと言って全てがDecentralizedではないです。

ややこしさの根源 Self-Sovereign Identity (SSI)

実はですね、これがややこしいことなんですけど、上記の Decentralized Identity と Decentralized Identifier の他に、Self-Sovereign Identity (SSI) ってのがあります。そしてめんどくさい事にこの Self-Sovereign Identityが一番重要です。

SSI は、自己主権型アイデンティティと訳されます。これも Decentralized Identity 同様、「自分のデータは自分で管理しようよ」っていう考え方なのですが、若干ニュアンスが違います。それは「分散型(Decentralized)」か「自己主権型(Self-Sovereign)」かです。前者はブロックチェーンや分散型台帳を使った技術で実現するアイデンティティというニュアンスですが、後者は「自分のデータは自分で管理する」という思想的なニュアンスが強く、それを実現する技術は特定されません。

そして、Decentralized Identity も Decentralized Identifierも元を辿れば Self-Sovereign Identityに行き着きます。これらは全てSSIという考え方から発祥しています。

SSI と DID の簡単な歴史

SSIとDIDの歴史はまだかなり浅いのですが、2016年初めからまずSelf-Sovereign Identity についての言及が始まります。(参照↓)

そこから、2016年の10月には初のDID(Decentralized Identifier)の仕様が提案され、その後に Decentralized Identity Foundation (DIF)が設立され… という風な歴史です。つまり、まずはSSIがありそこからDIDが生まれていきました。

え、待てよ。Decentralized Identifierはいいとして Decentralized Identity はどっから生まれたんだよ!って思いますよね。

実は、Decentralized Identityについては言葉の起源が不明です。ですが、DID (Decentralized Identifier)のW3Cの規格の最初期のドラフトから何度か Decentralized Identityという記述が登場していることから、Decentralized Identifierを持っている実体という意味での Decentralized Identityが使われるようになったのではないかと考えています。

そして現在、Decentralized Identity は Self-Sovereign Identity とほぼ同じ意味として使用されています。

Verifiable Credentials (VC) : 検証可能な資格情報

そしてもう一つ、Verifiable Credentials というものも存在します。僕はよくDID/VCと書くのですが、これは Decentralized Identifier と Verifiable Credentialsという意味になります。

Verifiable Credentials は検証可能な資格情報という意味で、Decentralized Identifierに紐付いた資格情報のことです。ここでいう資格情報とは例えば、運転免許証やパスポート、学位と言った公的なものから、DAOでのロールや信用スコアなど様々な資格情報を指します。これらを、改竄されていないかを確認できる形式でDecentralized Identifierに紐付けて保存しておきます。

VCはDecentralized Identifier とほぼ同時に出現した考え方で、これもW3Cに規格としてまとめられています。

また、Verifiable Credentialsについては以下の記事に詳細がまとめらています!

まとめと使い分け

色々と言葉の説明をしてきましたが、まとめると、

  • Decentralized Identity (DID) : 分散型技術を用いて表されるアイデンティティ
  • Decentralized Identifier (DID) : Decentralized Identityを識別するための名前(ID)
  • Self-Sovereign Identity (SSI) : 個人の情報は個人自身がが管理するという考え方のアイデンティティ
  • Self-Sovereign Identity (SSI) ≒ Decentralized Identity
  • Verifiable Credentials (VC) : Decentralized Identifierに紐付いた検証可能な資格情報

という事です。

SSIとDIDとVCの関係
SSIとDIDとVCの関係

なんの断りもなくDIDと書くとどっちの意味かわからなくなるので私は、

  • Decentralized Identifier を表したいときは**「DID」**
  • Decentralized IdentityとSelf-Sovereign Identityを表したいときは**「SSI」**
  • SSIとDecentralized Identityを明確に区別して使うときは、Decentralized Identityと略さず書く。

と明確に区別してこれからDIDとSSIについての記事を書いていこうと思います!!なので、僕がDIDと書いたときは基本、Identifierの方だと思ってください!!


記事以外にも、TwitterのスペースでDID勉強会などをを開催しておりますので、よろしければツイッター(@KoukiMinamoto) もフォローよろしくお願いいたします!

Subscribe to Kouki Minamoto
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.