DIDはウォレットですか?Web3のアイデンティティの迷いについて話しましょう。
著者:Wei Duan、Next.ID オープンソースコミュニティマネージャー
最近、DID(分散型アイデンティティ)に関する話題が特に盛り上がっており、資金調達のニュースも次々と報じられています。DIDという概念をどのように整理するかについては賛否が分かれていますが、発展の初期段階にあるにもかかわらず、多くの理念が完全には明確ではありません。しかし、すでに現れている明らかな混乱については、整理する必要があります。共にWeb3アイデンティティの技術的な霧を晴らしてみましょう。
この記事では皆さんに議論を呼びかけます:
- ユーザーはどのようなDID、あるいはどのようなDIDシステムを必要としているのか;
- Web2のユーザーがWeb3に移行する際に直面する移行コストは何か;
- Web3のDIDは、Web2では得られない何をユーザーにもたらすのか。
MetaMaskウォレットはDIDですか?
完全には公開されていませんが、ウォレットのリーダーであるMetaMaskの現在の月間アクティブユーザー数は、少なくとも3000万人以上とされています。これにより、大部分のdAppは自然にMetaMaskを通じてアイデンティティ層を構築したいと考えています。しかし、この考えには非常に多くの課題が伴います。結局のところ、MetaMaskは単なるウォレットを作りたいだけなのです。
MetaMaskがこのような膨大な公共APIを維持する動機や意欲があるかどうかは別として、ユーザーの前に立ちはだかる大きな問題は、EOA(外部所有アドレス)ウォレットとして、私の秘密鍵またはリカバリーフレーズを失うと、私のアカウント内のすべての資産を失うことです。
MetaMaskのようなウォレットがこの巨大な痛点を解決できない限り、Web2のユーザーが突然Web3のウサギの穴に飛び込む勇気を持つことは難しいでしょう。
では、Web2のユーザーは現在どのような体験をしているのでしょうか?
もし私たちが簡単な比喩を使って、Web2の名前や身分証明書番号(運転免許証やパスポートなど)といったユニークなIDを、Web3の公開鍵アドレスと秘密鍵に対応させるとしましょう。
最初の問題が明らかになります:Web2のユーザーが身分証明書を失った場合、これは秘密鍵に類似していますが、彼らは依然として中央集権的な認証機関の一つである国家公安機関を通じて、新しい身分証明書を再申請することができます。彼らの資産は失われません。
これを踏まえて、Web3も同様に実現する必要があります:秘密鍵を失った場合、私は分散型認証ネットワークを通じて、どのような方法でこのアカウントの制御を回復できるのでしょうか?この目標が達成されれば、この点においてWeb2のユーザーがWeb3に移行するコストはゼロになります。
次に第二の問題です:私はMetaMaskウォレットを持っており、Binanceなどのさまざまな取引所のウォレットも持っており、さまざまなdAppサービスが私にデフォルトで生成したウォレットもあります。これほど多くの秘密鍵やリカバリーフレーズがある中で、私たちはWeb3が去中心化版の1PasswordやLastPassを再構築するのを待たなければならないのでしょうか?ユーザーコストは大幅に増加し、すべての将来のアカウントリストを追加・管理する必要があります。これは非常に厄介です。
では、問題はどこにあるのでしょうか?私たちがWeb2の世界に戻って考えてみれば、明らかになります。
MetaMaskのようなウォレットは、本質的には銀行口座のようなものであり、中国工商銀行やシティバンクなどの口座を持っているかのように金融取引を行うことができます。私たちは身分証明書番号(運転免許証やパスポートなど)というユニークなIDを使って、新しい銀行口座を開設することができます。もし私たちが中国工商銀行の口座を持っていて、中国建設銀行で口座を開設しようとした場合、スタッフに追い出されることは想像に難くありません。
なぜなら、「アイデンティティ」と「銀行口座」は直接的に等号を描くことができないからです。
Next.IDコミュニティだけでなく、多くのコミュニティやDID製品も同様の見解を持っています。例えば、イーサリアムコミュニティは提案EIP-2938を通じて、抽象アカウント(abstracted account)を正式に提案し、スマートコントラクトウォレットの開発を進めています。もう一つ人気のあるDID新製品UniPassも同様のアプローチを採用しています。
つまり、アイデンティティ(公開鍵と秘密鍵のペア)と銀行口座(抽象アカウント、ウォレットアドレス)のデカップリングを通じて、新しいメカニズムを構築し、前述の問題の解決策を得ることができます:
秘密鍵を失っても資産を失うわけではなく、新しい秘密鍵を使って失った秘密鍵の資産をバインドすることができます。
- 方法1:ソーシャルリカバリー(social recovery)、過去に築いた関係や、オンチェーンでの高品質なインタラクション記録を持つ友人たちがあなたを保証する方法;
- 方法2:秘密鍵に相当するプライバシーセキュリティの質問を使用してアカウントを回復する手助けをすることができます。例えば、私の子供の頃のペットの名前や、高校の英語の先生の名前など;
すべての関連する抽象アカウント(Web2 IDs、Web3抽象アカウント)の管理は、特定のデジタルアイデンティティ(公開鍵と秘密鍵のペア)に直接バインドされ、Next.IDではこれをデジタルアバター(Avatar)と呼んでいます。映画『アバター』を覚えていますか?半身不随の人間ジェイクが神経接続を通じて、ナヴィの男性の健全な身体を制御しています。これは、私たちが未来にメタバース内でデジタルアバターを制御することに非常に似ています。以下の図のように:
さて、ここまでで「DIDアイデンティティの最底層は公開鍵と秘密鍵のペアである」ということを大まかに説明しました。もちろん、DIDの秘密鍵管理の問題は、依然としてWeb3コミュニティ全体で探求する必要があり、将来的にはソーシャルリカバリーや秘密鍵レベルに相当する個人のプライバシー質問などの方法を通じて、利用のハードルを下げていく必要があります。
私たちは第一原理からDIDを考慮しているのでしょうか?
先日、Tornado Cashによる規制の嵐が多くのWeb3関係者に恐怖をもたらしました。アドレスを直接封鎖し、取引記録のあるすべてのアドレスを連鎖的に封鎖するという「満門抄斬株連九族」のような行為は、Web3の検閲耐性に疑問を投げかけ、信仰を揺るがしました。
同時に、市場には多くのDIDプロジェクトがあり、粗暴なアグリゲーションサービスを提供しており、オンチェーンとオフチェーンのアカウントが個人情報漏洩のリスクを考慮せずにすべてをまとめています。これは、ゼロ知識証明(zero knowledge proof)などのプライバシー保護技術が完全に成熟していない今日、私たちが自らを差し出して、規制当局に一網打尽にされることを意味するのでしょうか?
非常に気まずい状況です。
DIDプロジェクトがプロジェクト側のニーズを過度に考慮し、ユーザーの真のニーズを無視している可能性はあるのでしょうか?
ユーザーの視点から見ると、DIDシステム全体の実装計画は、前の小節で述べた「DIDアイデンティティの最底層は公開鍵と秘密鍵のペアである」ということだけでなく、少なくとも上の二つのレイヤーを含む必要があります:
- 一方で、この計画の中で、任意のDIDアイデンティティが安全に、すべてのアクセスを必要とするdAppsの同時呼び出しトラフィックを満たし、Web2のOpenID/OAuthと同様のスムーズな体験を提供し、ユーザー操作が「バカでもできる」ほど簡単で、数回クリックするだけでログインを完了できること;
- 他方で、そのDIDアイデンティティにバインドされたすべてのWeb2アカウント(Twitterなど、もちろんあなたのTwitterもプライバシーを重視し、実名や実際の顔写真を公開しない必要があります。例えば、有名なNFT OG 6529は、会議に出席しても決して本当の姿を見せません)や、Web3の抽象アカウント(スマートコントラクトウォレットなど)が、ユーザーのプライバシーを保護する前提で統合されることができることです。たとえ「人肉検索」されても、ユーザーが現実世界で具体的に「誰」であるかは分からず、最終的にはオンラインの仮想アイデンティティや一連の数字にしか追跡できません。
ユーザーが必要とするWeb3の「ワンクリックログイン」とはどのようなものでしょうか?
Web2時代のアプリでは、すべてのユーザーがワンクリックログインを使いこなしています。使い勝手が良く、煩わしいパスワードを再入力する必要がありません。
ユーザーにとって、アプリにログインする利点:
- 初めて登録する際にパスワードが必要;
- その後はQQ、WeChat、Alipayで永遠にログインできる。
同時にユーザーにとっての欠点は:
- データの主権が自分の手にない。プラットフォーム(QQ、WeChat、Alipay)が提供するアカウント体系を使用;
- プライバシー情報に基づくさまざまな広告を受動的に受け入れ、ユーザー自身が選択肢を持たない。
Web3のアカウントは、データの主権を取り戻す手助けをすることができますが、避けられない問題は、アカウントの承認と使用がWeb2のワンクリックログインと同じくらいスムーズであるかどうかです。
Next.IDコミュニティは、AuthServiceという考え方を提案し、この技術的な問題を解決しようとしています。その設計プロセスは以下の通りです:
- ユーザーはNext.IDのAuthService SDKを使用して、dAppのアカウント承認操作を行い、データはサブユーザーがProofServiceにバインドされたデータから取得されます;
- 承認操作は、ユーザーが自ら展開したVPS(仮想プライベートサーバー)を通じて署名を検証します;
- 成功した場合、ユーザーは特定のスコープでユーザーアカウントに関連するプライバシー情報を開放することができます。
その中で重要な第一歩は、dAppにログインする際にNext.IDを使用することです:
第三歩では、どのアカウントのデータを開放するかを指定します:
最後の第五/六歩では、どのアカウントのデータを開放するかを決定します:
以上が本記事のすべての内容です。今後の記事では、「プライバシー」と「セキュリティ」に関する関連トピックについて引き続き議論し、AuthServiceの背後にあるVPS(仮想プライベートサーバー)の考え方についてもさらに説明していきます。
ご覧いただきありがとうございます。コメントやシェアを歓迎します。オープンソースコミュニティNext.IDも、DIDエコシステムの実現を共に進めるために、あなたの参加を心よりお待ちしています。
Next.IDについて
Next.IDは、分散型アイデンティティにサービスを提供する世界初のプロトコル(DIaaS)であり、公開テストを開始しようとしています。これは、すべてのWeb2およびWeb3のデジタルアイデンティティを統合した分散型アイデンティティアグリゲーションプロトコルであり、オープンソースの開発者やプロジェクトに対して、革新とdAppsの開発を容易にするための包括的で検証可能なアイデンティティデータベースを提供します。
分散型アイデンティティにサービスを提供する世界初のプロトコル(Decentralized-Identity-As-A-Service, DIaaS)として、Next.IDはユーザーのアイデンティティを安全にアバター(パスワードから生成されたユーザーのデジタルアバター)に統合するアイデンティティインフラを構築しました。Web3エコシステムにおいて、Next.IDはさまざまな分散型ソーシャルプロトコルやdAppのアイデンティティアグリゲーションのハブとなるでしょう。