GMです。みなもとこうきと申します。我々は今、C-VoxelというDIDに紐づいた「職歴」を構築できるプロトコルを開発しております。ご興味がございましたら、こちらまで、、、!
さて、近頃よく「DID」とか「VC」という言葉を目にすると思います。どうやら分散型のIDのことだってことはわかるけど、具体的にどういうものでどう使われるのかは知らない方も多いと思います。ということで、今回はまず、DIDやVC、SSIという言葉の意味をしっかりと説明していきたいと思います!
めちゃくちゃざっくりとDIDとは**「自分の個人情報は自分しか扱えないようにしよう」**っていうことを目的とした技術です。
皆さん、いつもなんの気無しに 「Googleでログイン」とか「Twitterでログイン」とかのボタンを押していると思います。これは一見とても便利ですが、言い換えれば**「一つの機関が膨大な個人情報を握っている」**という事です。これは、
という問題を孕んでいます。例えば、Googleのデータセンターが大爆発したら僕らがログインしている色んなサイトの情報はアクセスできなくなっちゃうし、Googleがいつ僕らの個人情報を書き換えたり、第三者に見せたりしているかわかりません。実際に、Google Analyticsなどを使えば、どんな人がサイトにアクセスしたのかなどを閲覧できてしまうのです。
それを解決するために、自分のデータは自分で持っておいて、自分で管理しようよっていうのがDIDの発端なのです。
実は、一口にDIDと言っても実は二つの意味があります。それが、
です。「え?!そんなの言葉のあやじゃん!!」って思いますよね。僕も思いました。それでは、これらの違いについて説明していきましょう〜!
Decentralized Identityというのは分散型アイデンティティと訳されます。アイデンティティとは 個人を表現する属性の集合 のことです。例えば、人やモノを構成する、名前であったり年齢であったり職歴であったり、Webサイトの閲覧履歴といった情報の集合をアイデンティティと言います。ここで大事なのは、アイデンティティとは「個人」ではなくその**個人を表す「情報の集合」**のことです。
つまりこのアイデンティティを一つの機関が管理するのではなく、分散型で皆んなで証明しようよっていう考え方が Decentralized Identity という事です。
現実世界でも「名前」があるように、Webの世界でもその “個人” に名前をつけなくては判別ができません。その**「名前」が Decetralized Identifier** です。つまり皆さんもよくご存知の「ID」です。ツイッターの @hogehoge みたいなアレです。
Decentralized Identifierは did:example:123123abc
と言った形で表現され、各個人に対してユニークなIDが割り振られています。
つまり、まとめると、
です。
💡 豆知識
実は、W3CのDIDの規格に、DIDはブロックチェーンや分散型台帳などの分散型技術を使わなければならないという記述はなく、DIDだからと言って全てがDecentralizedではないです。
実はですね、これがややこしいことなんですけど、上記の 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の歴史はまだかなり浅いのですが、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 というものも存在します。僕はよくDID/VCと書くのですが、これは Decentralized Identifier と Verifiable Credentialsという意味になります。
Verifiable Credentials は検証可能な資格情報という意味で、Decentralized Identifierに紐付いた資格情報のことです。ここでいう資格情報とは例えば、運転免許証やパスポート、学位と言った公的なものから、DAOでのロールや信用スコアなど様々な資格情報を指します。これらを、改竄されていないかを確認できる形式でDecentralized Identifierに紐付けて保存しておきます。
VCはDecentralized Identifier とほぼ同時に出現した考え方で、これもW3Cに規格としてまとめられています。
また、Verifiable Credentialsについては以下の記事に詳細がまとめらています!
色々と言葉の説明をしてきましたが、まとめると、
という事です。
なんの断りもなくDIDと書くとどっちの意味かわからなくなるので私は、
と明確に区別してこれからDIDとSSIについての記事を書いていこうと思います!!なので、僕がDIDと書いたときは基本、Identifierの方だと思ってください!!
記事以外にも、TwitterのスペースでDID勉強会などをを開催しておりますので、よろしければツイッター(@KoukiMinamoto) もフォローよろしくお願いいたします!