web3の発展に必要不可欠な分散型ID(DID)を学ぶ

web3の発展に必要不可欠な分散型ID(DID)を学ぶ

はじめに

仕事の関係で、日頃からweb3の動向を追っています。web3のエコシステムがめまぐるしい速度で発展していくのを見ているのは、とてもエキサイティングです。

数年前には「仮想通貨には信用創造の機能がないから、ブロックチェーン上にまともな経済は発展し得ない」という意見もありましたが、MakerDAOやAAVEのようなレンディングプロトコルが登場して、信用創造の機能を担うようになりました。この例一つからも分かるように、ブロックチェーンやweb3に対する批判は、徐々に解決され、その度にブロックチェーンやweb3が担う役割が増えていくことでしょう。

一方、現状のweb3に欠けているものがたくさんあることも事実です。

その中でも、特に重要だと思うようになったものが「分散型ID(Decentralized ID = DID)」です。

なぜ分散型ID(DID)が重要なのか

個人的な意見としては、暗号資産やweb3が飛躍的に発展して、社会に大きな価値を提供するようになるためには、証券的な性質を持つトークン(将来の金銭的なリターンを価値の源泉とするトークン)を扱えるようになることが必要不可欠です。

現在のweb3は、融資(レンディング)や取引所(マーケットプレイス)など、エコシステムが機能するために必要なパーツがどんどん整備されている一方で、そうした機能を用いて取引されている中身そのものは粗末です。

「トークンに価値があると誤認させるためのホワイトペーパー」と「近い将来に崩壊するまでの束の間の右肩上がりのチャート」に釣られた情報弱者に対して、価値のないトークンを売りつけることがweb3ビジネスだと思われても仕方のない状況だといえるでしょう。

こうした状況を改善するためには、ファンダメンタルな価値のあるトークンが取引されるようになる必要があります。

具体的には、ユーティリティトークン(ゲームアイテムをNFT化したものなど、実際の用途があるもの)とセキュリティトークン(将来の金銭的なリターンを価値の源泉とするもの)ということになりますが、その片方であるセキュリティトークンをweb3で取り扱えるようにするためには、分散型IDの整備が必要不可欠なのです。

考えてみると、現在のweb3においては、すべての取引履歴はブロックチェーン上に残りますが、相手が誰であるかは分かりません。NFTを購入したり、ステーブルコインを貸した相手は、シンプルにweb3やクリプトが好きな同士かもしれませんし、ロシアや北朝鮮かもしれません。マネーロンダリング等に加担してしまうリスクを取り除きつつ、安心してweb3を利用するためには、相手が取引をしてもよい人物だということを、IDが証明してくれる必要があります。

また、日本の投資業界には「適合性の原則」というものがあります。

【適合性の原則(金融商品取引法第40条第1号)】

金融商品取引業者等は、業務の運営の状況が、次に該当することのないように、業務を行わなければならない。
(1) 金融商品取引行為について、
(2) 顧客の知識、経験、財産の状況及び金融商品取引契約を締結する目的に照らして、
(3) 不適当と認められる勧誘を行って投資者保護に欠け、又は欠けるおそれがあること

内閣府ウェブサイトより

「web3だから適合性の原則を守らなくてもよい」という論理は成り立たないため、こうした側面からもIDというものが必要とされるでしょう。

そこで、今回は分散型ID(DID)ついて、調べながら学んでいきたいと思います。

分散型ID(DID)とは:マイクロソフトの5原則

まずは、DIDのイメージを具体的に持つために、DIDの分野に力を入れているマイクロソフトが提示する「DIDの5原則」を見てみたいと思います。(「Microsoft’s 5 guiding principles for decentralized identities」を僕が翻訳しています)

(1)安全・安定・信頼の原則

  • DIDは、安全でなければならない。偽装やハッキングが容易であってはならない。それを利用した成りすましが可能であってはならない。
  • DIDは、いつでもアクセスできる、活用できる、復元できるものでなければならない。
  • DIDは、オーナーがIDを用いた全ての履歴(いつ・どこで・誰と)にアクセスできることが担保されなければならない。

1つ目の原則としては、セキュリティや可用性といったシステム一般的な内容が定められています。

(2)プライバシー保護と自己管理の原則

  • DIDは、自己管理できなければならない。オーナーの同意があるときのみ、同意した趣旨に従って用いられなければならない。オーナーは、誰がどのようにDIDを利用するかを知り得なければならない。
  • DIDは、オーナーがDIDの構成要素のうち、どの部分が用いられるのかをレビューできなければならない。オーナーは、必要な一部情報だけを相手に公開できる選択肢を持ち得なければならない。
  • DIDの利用はプライベートでなければならない。同意した場合を除いて、DIDを共有した相手以外は、そのDIDが利用されたことを知り得てはならない。
  • 同意がある場合を除いて、DIDを用いて、他のサービスやアプリケーションを利用したことを知り得てはならない。
  • DIDの管理にあたって、オーナーは特定のデバイスやアプリケーションに束縛されてはならない。
  • DIDの要素あるいは関連するデータやログファイルを、そのオーナーはどこからでも削除できなければならない。

現在は、FacebookログインやGoogleログインを用いてサービスに登録をすることが多いかと思いますが、結果、どのサービスに登録したかといった情報をFacebookやGoogleが知り得る状態にあります。DIDはこうした状況も改善のスコープに入っているということになります。

例えば、自分がDIDの成人認証を利用して何らかの恥ずかしいサービスを使っていた場合、あるいは、DIDを用いて特定の政党や候補者に投票をした場合、そうした情報(というか、全ての情報)はプライベートに保たれる必要があるということですね。DIDを用いて、何かの宗教に入った場合も、オーナーが望めば、その過去を知られることなく、消すことができる必要があるでしょう。

また、iPhoneでしかDIDを管理できない、Microsoftのアプリケーションを通じてしかログの削除ができない等、DIDの管理にあたって、特定のデバイスやアプリケーションに束縛されることがあってはならない旨も示されています。

    (3)包摂・公正・簡易の原則

    • DIDは、人種や民族、能力、性別、性認識、性的指向、出身国、社会経済的地位、政治的地位に関係なく利用できるものでなければならない。
    • DIDは、使いやすく、誰もが利用できるよう、ユニバーサルデザインに基づいたものでなければならない。

    4つ目の原則では、包摂性が規定されています。

    日本をはじめとする先進国においては、運転免許証やパスポート、マイナンバーカード等、何らかの身分証明証を持っている人がほとんどかと思いますが、世界には法的に身分証明がされない子どもが1億人以上いるとUNICEFのウェブサイトには記載されています。また、IDがないことによる不利益についても、以下のように説明されています。

    出生登録されていない子どもは見えない存在です。政府の政策や法律においては存在しないことになるのです。身元の証明ができないと、その子どもは教育、保健、その他の不可欠なサービスから除外されることが多く、搾取や虐待を受けやすくなります

    UNICEFウェブサイトより

    ブロックチェーンがUnbankedな人々を金融包摂するテクノロジーとして注目されているのと似ていますが、DIDはこうした状況の改善もまたスコープに入っているということです。

    (4)監督可能の原則

    • DIDは、オーナーが無力になったり亡くなったりした場合に、必要に応じて、当該DIDにアクセスできる信頼できる友人や家族を指定できなければならない。
    • DIDは、もしそのオーナーが子どもである場合、適切な保護者または保護者による監督と管理をサポートできなければならない。

    認知症などのユーザーには成年後見人が、未成年者には法定代理人(親権者・未成年後見人)が必要な場合が考えられます。そうした一般社会で実用性を持つために必要な仕様が求められています。

    (5)環境に対する責任の原則

    • DIDの生成と利用は、環境的に持続可能で、長期的な環境破壊を生み出さないものでなければならない

        最後は、少し雰囲気が違いますが、環境への責任が規定されています。ビットコインのブロックチェーンは、そのアルゴリズムがProof Of Workであることから環境負荷などが議論の対象となることがありますが、そういった環境問題への配慮がなされているのでしょう。

        まとめ

        今回は、web3における分散型ID(DID)の必要性と、分散型IDのイメージを掴むための要求仕様を見ていきました。あくまでもマイクロソフトの提示する5原則ですが、DIDのイメージをざっくりと掴むのには十分に役に立ったのではないかと思います。

        web3に関わる身としては、スマートコントラクトからアクセス可能であることも、web3のエコシステムの中でスムーズに用いられるためには重要であると思います。

        次回からは、World Wide Web コンソーシアムが定めるDIDのコアアーキテクチャ(こちら)を見ることで、どのようなシステム構造であれば、これらの仕様を満たせるのかを学んでいきたいと思います。