こんばんはみなさま、ワークアイデンティティプロトコル VESS を開発しておりますVESS LabsのMinamotoです。
〈Weekly DID it!〉 では毎週、DID/VC (分散型アイデンティティ)やSBTについての話題を配信しております!是非とも登録していただける嬉しいです👇
そして、今週のトピックは 「DID(分散型識別子)の基礎編」第一弾 です!これから数回に分けてDIDについてを記事にしていきます!もうご存知の方もたくさんいらっしゃるかと思いますが、是非ご一読いただけると幸いです。
〈わたし〉は誰のもの?
といわれてももちろん、私は私のものだ!とほとんどの人が答えると思います。しかし、インターネットの世界では実はそう言い切れないのです。
皆さん、「Googleでログイン」や「Twitterでログイン」でウェブアプリにログインしたことが一度はあると思います。このように、私たちの情報は Google や Twitterなどの認証を介して、自分の情報にアクセスできるようになっています。
さて、もし仮に、その Google や Twitter のサーバーがダウンしてしまったらどうでしょう ── 私たちは自分で持っていた (はずの) 情報にアクセスできなくってしまいます。私たちは自分の意志に反して〈わたし〉を失うことになるのです。
分散技術で〈わたし〉を取り還す
つまり、自分自身の情報を参照する窓口が Google などのビックテックに依っていることが問題だということがわかりました。
そこで登場するのが、ブロックチェーンや分散型台帳です。それらを活用し、ビックテックに依ってた権限を分散することでより、安全で頑丈なインターネット上のIDを実現しようとするのが DID (Decentralized Identifier: 分散型識別子)です。
分散化することで主に以下のような性質が備わります:
コントロール:分散させることで、自分自身でIDの作成・管理を行うことができ、また誰からもIDを奪われたりすることもありません。
検証可能:従来のように Google などの中央集権的な力を借りることなく、第三者に提出した情報が改竄されていないことと、自分自身が提出したことを証明できます。
── このようにDIDを用いることで、自分自身が作成・管理できる暗号鍵で非中央集権的な方式で認証を行いて自分のデータにアクセスする「自己主権的」なデータ管理が実現するのです。
ウォレットじゃダメなの?
ここで、「DIDって、ブロックチェーン使うならウォレットと大して変わらないんじゃないの?」と思われる方もいるかもしれません。確かに、ブロックチェーンウォレットは分散化されていて、自分でコントロールできるし、署名などの「検証も可能」です。
しかし、ウォレットは基本的にはオンチェーンの情報を参照することしかできません。また、ウォレットの秘密鍵やシードフレーズを紛失してしまうとそれを復元することもできません。
DIDを用いることでオンチェーンの情報だけでなく、IPFSなどの分散型データストレージや、もっと言えば個別に運用されているデータストレージに保存された自分の情報へのアクセスも可能にできます。さらに、DIDには複数の検証方法を紐づけたり入れ替えたりすることができるので、自分の秘密鍵を紛失したとしても自分のデータに永遠にアクセスできないといった事態を避けることができます。1
とはいっても、ウォレットもAccount Abstractionなどの技術で、DIDと同様なことが可能になりつつあります。この辺の話はまた別の機会に詳しくまとめてみようと思います!
DIDだけでは埋められないピース
さて、これで晴れて我々は〈わたし〉を取り戻せたのかというと、、、実はまだスタートラインに立っただけなのです。
ここで大事なのは、DIDは “Decentralized Identifier (分散型識別子)” であり、”Decentralized Identity (分散型アイデンティティ)” ではないということです。
これを理解するために「Identifier」と「Identity」の違いを見ていきます:
Identifier(識別子) = ある一つの主体を指す一意な文字列
Identity(アイデンティティ) = ある主体を表現する情報の集まり
つまり、言ってしまえば DIDとはインターネット上の「自分の名前」であり、Decentralized Identityとは DID(識別子)を含む自分に紐づくあらゆる分散化された情報の集まりを指します。私たちは、名前だけでなく様々な情報(SNSの投稿もそうだし、学歴や職歴もIdentityの一部) で構成されていますよね。
そう、DIDとは数あるIdentity を構成するデータのほんの一部であり私たちはまだ「名前」しか取り戻せてないということなのです。
ではどうやって他の数多ある自分に紐づく情報を分散化していくのでしょうか。その手法の一つとして提案されているのが、Verifiable Credentials(検証可能な資格情報、以下VC) です。なんだか事務的な名前をしていますが、簡単にいうとデジタル証明書です。免許証や学位証のような証明書をインターネットの世界で実現するものです。
Verifiable Credentialsについてはまた詳しく解説いたしますので、ここでは割愛させていただきます。
また、オンチェーンアイデンティティであるNFTやTx履歴なども個人(ウォレット)に紐づく分散化された情報ですので Decentralized Identity といえます。2
まとめ
DIDとは分散型識別子のことで、第三者を介さず自分のIDの生成・管理を行うための規格
Decentralized IdentityとはDIDを含む、自己を構成する自己主権的な情報の集まり
VCとはDIDを用いて、第三者を介さず証明書が改竄されていないことと自分自身が提出したものであることを証明できる規格
「DID」「Decentralized Identity」「VC」は以下のような関係になっています。
さいごに
今回はDIDの基本についてをかなり噛み砕いて説明してみました。(わかりづらかったかもしれませんが😭)
DID/VCsはW3Cによって規格されておりDIDについては勧告も受けています。しかしながら、これらはまだまだ発達段階であり、私がこの記事で述べたことも数年後には違っていることもあるかもしれません。
また、たくさんの乗り越えなければいけない壁も残っていますので、DID/VCsが抱える問題についてもいつか記事にしていきたいと思います!
今回もお読みいただきありがとうございました!
今週の著者 → Kouki Minamoto
VESS Website : https://vess.id
VESS Twitter: @vess_id
VESS Discord: https://discord.gg/dAhxxmfc4p
Email : info@vess.id
DID Methodの種類に依ります。
個人情報の一つ一つの保存先が複数のストレージに分散しているものを指す場合もあります。
勉強になりました!ゾス!
> DIDとは分散型識別子のことで、第三者を介さず自分のIDの生成・管理を行うための規格
第三者を介さずにDIDの「生成」が重複しない方法ってあるんでしょうか?単純な例えですが、名前をDIDにすると重複する人がたくさん出てきます。この重複を完全に回避するには中央集権的な第三者がDIDを配布する必要性がありませんか?