【中瀬のDID/VC探訪】reusable IDという概念について
こんにちは!Recept代表の中瀬です!
本日は私が常日頃頭の中から離れないreusable ID という概念について書きます。
一言でいうと何?
reusable IDとは再利用可能なIDのことです。
ID情報を色んな所に使いまわせるアイデンティティと言ってもいいです。
これはSSIの原則のうちの1つである、ポータビリティ性ともいえます。
現在の世界において、UXが低下している信用プロセスにおいて劇的に体験を変えてくれるSSIの性質となります。
実例
例えば、A銀行で口座を開設したとします。
この際に、本人確認や与信チェックなどの信用プロセスが発生します。
これを通過することによって、A銀行の口座を開設することができます。
次に、クレジットカードを作成しようとするときに、また同じような与信チェックの手続きを踏むのはめんどうですよね?
これは事業者にとっても同じで、本人確認や与信チェックをするためにある程度のコストをかけることになります。(ekycサービスを使うにしても、月額または従量課金が発生します)
「A銀行の口座開設をした」事実としてデータを残しておけば、一定期間はクレジットカードを作る際に見せるのは、本人確認や決算書でなく、上記のデータで済みます。
ユーザーは毎回めんどくさい手続きをしなくて済みますし、事業者側も余分にコストを払う必要がありません。
これは便利ですよね。
ソーシャルログインとは違うの?
上記のようなあるサービスを開設したIDで別のサービスを利用するのはソーシャルログインの仕組みに似ています。
例えばgoogleのアカウントを持っていれば、アカウントを新しく作らずに他のサービスを利用できることがあると思います。
できることはほとんど同じなのですが、その厳密性や信頼性といった点で違いがあります。
まず厳密性について話すと、reusable IDの場合VCとしてデータを発行します。
VCはデジタル署名を検証することができるので、改竄されていないかをチェックすることができます。
仮に今のソーシャルログインだと、検証者に提出するデータはIDプロバイダーによって与えられたものでかつ、IDプロバイダーのレジストリに保存されたデータになります。
さらに、信頼性の問題。
例えば銀行の口座開設に、googleが所有している「A口座開設済み」というデータを信頼して口座を開設することができるでしょうか。
それはできないです。なぜならばgoogleの所有している「A口座開設済み」というデータだけで、本人確認済み+与信チェック済みだと判断することができないからです。
ここも、VC内のDIDを検証することによってA銀行お墨付きのVCであることが証明することができます。
補足
上記で信頼性の問題について、「googleのレジストリに入っているデータを信頼して口座開設はできない」という話をしましたが、では、「株式会社Receptの作成したソースコードによって作成されたVCは信用できるのか?」という指摘もあると思います。
この世の信用プロセスは常に誰かに信用を委譲することで成り立っています。
本人確認書類のコピーを郵送する場合は、コンビニコピー機は誤動作・改竄をすることなくコピーを取り、郵便物が間違いなく郵送されるという信頼のもとに信用プロセスが成立しています。
これはreusable ID を利用する場合でも同じです。
reusable ID を発行する人、reusable ID に紐づくVCなどのデータを生成するロジックが正常に悪意なく動作することを前提に実装が進みます。
しかし、その確からしさを最大限証明するための努力を行うことがreusable ID システム提供者の責任だと思います。
まとめ
SSIが実現した世界では、「最強のソーシャルログイン」が完成すると思います。
個人がそれぞれのアイデンティティを管理し、適度にekycとかしてメンテナンスしながら、各種サービスの個人情報部分はウォレットに外だししているので、実装も軽いような世界です。
そんな歴史を変えるムーブメントにしっかり関われるようになりたいですね。
僕たちのプロダクト。proovy。
https://proovy.recept.earth/lp