あなたのスマートフォンには、秘密の値 s があります。ブロックチェーン上のグローバルレジストリには、公開ハッシュ値 H(s) があります。アプリにログインすると、特定のアプリに固有のユーザー ID、つまり H(s, app_name) が生成され、ゼロ知識証明を通じて検証されます:この ID はレジストリ内のある公開ハッシュ値と同じ秘密値 s に由来しています。したがって、各公開ハッシュ値に対して各アプリは一意の ID を生成できますが、特定のアプリの専用 ID がどの公開ハッシュ値に対応するのかが漏洩することは決してありません。
このようなシーンでは、ソーシャルメディアアプリは頻繁にセッションキーを交換するなどの複雑な設計を採用せず、各ユーザーにユニークなアプリ専用IDを割り当てます。また、アイデンティティシステムが「一人一アイデンティティ」のルールに従っているため、ユーザーは1つのアカウントしか持てません(これは現在の「弱いアイデンティティ(weak ID)」、例えばGoogleアカウントと対比されます。一般の人は簡単に約5つのアカウントを登録できます)。現実の世界では、匿名性を実現するためには通常複数のアカウントが必要です:1つは「通常のアイデンティティ」に、他のアカウントはさまざまな匿名アイデンティティ用です(「finsta and rinsta」を参照)。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在のレベルを下回る可能性があります。こうなると、ゼロ知識証明で包まれた「一人一アイデンティティ」システムであっても、私たちはすべての活動が単一の公開アイデンティティに依存しなければならない世界に徐々に向かっているかもしれません。無人機監視などのリスクが高まる時代において、匿名性を通じて自分を守る選択肢を奪うことは、深刻な悪影響をもたらします。
ゼロ知識証明自体は、あなたを強制から守ることはできません。
たとえ自分の秘密値 s を公開しなくても、誰もあなたの各アカウント間の公開された関連性を見ることはできませんが、もし誰かがあなたに公開を強制する場合はどうでしょうか?政府は、すべての活動を確認するために秘密値を開示するよう強制する可能性があります。これは空論ではありません:アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主も完全な公開情報の開示を雇用条件とすることができます。さらには、特定のアプリが技術的な側面で他のアプリ上の身元を開示することをユーザーに要求し、登録を許可する場合もあります(アプリにログインすることがデフォルトでこの操作を実行します)。
次に、身分は財務と完全に結びつけることはできません(つまり、N 個の身分を取得するコストは N です)。これは、大規模な主体が簡単に過度の影響力を得てしまい(その結果、小規模な主体が完全に発言権を失うことにつながります)。Twitter Blue の新しいメカニズムはこれを反映しています:月額 8 ドルの認証費用は低すぎて、悪用行為を効果的に制限することができず、現在、ユーザーは基本的にこの認証マークを無視しています。
さらに、私たちはリソースの量が N 倍の主体が、N 倍の不当な行為を無制限に行うことを望まないかもしれません。
Vitalik:デジタルアイデンティティ+ZKテクノロジーの下での複数のジレンマ
著者:ヴィタリック・ブテリン
編集:シアーシャ、フォーサイトニュース
現在、デジタルアイデンティティシステムにおいてプライバシーを保護するためにゼロ知識証明を活用する手法は、ある程度主流となっています。様々なゼロ知識証明パスポートプロジェクト(直訳ZK-passportプロジェクト、ゼロ知識証明技術に基づくデジタルアイデンティティプロジェクトを指します)は、ユーザーに非常に優しいソフトウェアパッケージを開発しており、ゼロ知識証明を利用することで、ユーザーは身分の詳細を明かさずに有効な身分証明書を持っていることを証明できます。生体認証技術を用いて検証を行い、ゼロ知識証明によってプライバシーを保護するWorld ID(以前はWorldcoin)は、最近ユーザー数が1000万人を突破しました。台湾地域のあるデジタルアイデンティティ政府プロジェクトはゼロ知識証明を活用しており、EUにおけるデジタルアイデンティティ分野の関連作業もゼロ知識証明にますます注目しています。
表面上、ゼロ知識証明技術に基づくデジタルアイデンティティが広く採用されているように見え、d/acc(注:Vitalikが2023年に提唱した概念で、暗号やブロックチェーンなどの技術ツールを通じて非中央集権技術の発展を推進し、技術の進歩を加速させると同時に潜在的リスクを防ぎ、技術革新と安全、プライバシーおよび人間の自主権のバランスを取る中間の道筋を提唱する理念)における大きな勝利となるようです。それは、プライバシーを犠牲にすることなく、私たちのソーシャルメディア、投票システム、およびさまざまなインターネットサービスをウィッチハントやボット操作から保護することができます。しかし、事は本当にそれほど簡単なのでしょうか?ゼロ知識証明に基づくアイデンティティには依然としてリスクが存在するのでしょうか?この記事では、以下の見解を明らかにします:
ゼロ知識証明で包装されたアイデンティティはどのように機能しますか?
想像してみてください。あなたが眼球をスキャンすることでWorld IDを取得したり、携帯電話のNFCリーダーでパスポートをスキャンすることでゼロ知識証明に基づくパスポートの身分を取得したりしたとします。本論文の主張に関して言えば、これら2つの方法の核心的な特性は一致しています(少数の例外的な違い、例えば多重国籍の状況などがあります)。
あなたのスマートフォンには、秘密の値 s があります。ブロックチェーン上のグローバルレジストリには、公開ハッシュ値 H(s) があります。アプリにログインすると、特定のアプリに固有のユーザー ID、つまり H(s, app_name) が生成され、ゼロ知識証明を通じて検証されます:この ID はレジストリ内のある公開ハッシュ値と同じ秘密値 s に由来しています。したがって、各公開ハッシュ値に対して各アプリは一意の ID を生成できますが、特定のアプリの専用 ID がどの公開ハッシュ値に対応するのかが漏洩することは決してありません。
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
実際、設計はもう少し複雑になる可能性があります。World IDでは、アプリケーション専用IDは実際にはアプリケーションIDとセッションIDのハッシュ値を含んでいるため、同一アプリケーション内の異なる操作も互いに関連付けを解除できます。ゼロ知識証明パスポートの設計も同様の方法で構築することができます。
このようなアイデンティティタイプの欠点を議論する前に、まずそれがもたらす利点を認識する必要があります。ゼロ知識証明アイデンティティ(ZKID)のニッチな領域を超えて、アイデンティティ認証を必要とするサービスに対して自分を証明するためには、法定アイデンティティの完全な情報を開示しなければなりません。これはコンピュータセキュリティの「最小権限の原則」に深刻に違反します:プロセスはそのタスクを完了するために必要な最小限の権限と情報のみを取得するべきです。彼らはあなたがロボットでないこと、18歳以上であること、または特定の国から来ていることを証明する必要がありますが、得られるのはあなたの完全なアイデンティティの指摘です。
現在実現可能な最良の改善策は、電話番号やクレジットカード番号などの間接トークンを使用することです。この場合、あなたの電話/クレジットカード番号とアプリ内の活動に関連する主体、及びあなたの電話/クレジットカード番号と法的な身分に関連する主体(会社や銀行)は相互に分離されています。しかし、この分離は非常に脆弱です。電話番号や他の各種情報は、いつでも漏洩する可能性があります。
ゼロ知識証明ラッピング技術(ZK-wrapping、ユーザーのアイデンティティプライバシーを保護するためにゼロ知識証明を利用する技術手段であり、ユーザーがセンシティブな情報を漏らさずにアイデンティティを証明できることを許可します)を利用することで、上記の問題は大部分が解決されました。しかし、次に議論するのはあまり言及されていない点です:依然として解決されていない問題がいくつかあり、こうしたソリューションにおける「一人一アイデンティティ」の厳しい制限によって、さらに深刻化する可能性があります。
ゼロ知識証明自体は匿名性を実現できません
完全に意図通りに機能するゼロ知識証明アイデンティティ(ZK-identity)プラットフォームを仮定すると、上記のすべての論理を厳密に再現し、中央集権的な機関に依存せずに、非技術的なユーザーの機密情報を長期的に保護する方法が見つかったとします。しかし同時に、現実に即した仮定をすることもできます。アプリケーションはプライバシー保護に積極的に協力しないでしょう。彼らは「実用主義」の原則を遵守し、「ユーザーの利便性の最大化」という名目で採用される設計方案は、実際には常に自らの政治的および商業的利益に偏っているようです。
このようなシーンでは、ソーシャルメディアアプリは頻繁にセッションキーを交換するなどの複雑な設計を採用せず、各ユーザーにユニークなアプリ専用IDを割り当てます。また、アイデンティティシステムが「一人一アイデンティティ」のルールに従っているため、ユーザーは1つのアカウントしか持てません(これは現在の「弱いアイデンティティ(weak ID)」、例えばGoogleアカウントと対比されます。一般の人は簡単に約5つのアカウントを登録できます)。現実の世界では、匿名性を実現するためには通常複数のアカウントが必要です:1つは「通常のアイデンティティ」に、他のアカウントはさまざまな匿名アイデンティティ用です(「finsta and rinsta」を参照)。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在のレベルを下回る可能性があります。こうなると、ゼロ知識証明で包まれた「一人一アイデンティティ」システムであっても、私たちはすべての活動が単一の公開アイデンティティに依存しなければならない世界に徐々に向かっているかもしれません。無人機監視などのリスクが高まる時代において、匿名性を通じて自分を守る選択肢を奪うことは、深刻な悪影響をもたらします。
ゼロ知識証明自体は、あなたを強制から守ることはできません。
たとえ自分の秘密値 s を公開しなくても、誰もあなたの各アカウント間の公開された関連性を見ることはできませんが、もし誰かがあなたに公開を強制する場合はどうでしょうか?政府は、すべての活動を確認するために秘密値を開示するよう強制する可能性があります。これは空論ではありません:アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主も完全な公開情報の開示を雇用条件とすることができます。さらには、特定のアプリが技術的な側面で他のアプリ上の身元を開示することをユーザーに要求し、登録を許可する場合もあります(アプリにログインすることがデフォルトでこの操作を実行します)。
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
同様に、これらの状況では、ゼロ知識証明の特性の価値は消え去りますが、「一人一口座」という新しい特性の欠点は依然として存在します。
私たちは、設計の最適化を通じて脅迫リスクを低減できるかもしれません。たとえば、各アプリ専用のIDを生成するためにマルチパーティ計算メカニズムを採用し、ユーザーとサービス提供者が共同で参加するようにすることです。こうすることで、アプリの運営者が関与しない場合、ユーザーはそのアプリ内の専用IDを証明できなくなります。これにより、他人に完全な身元を明かすように強制することの難易度が増しますが、その可能性を完全に排除することはできず、またこのようなソリューションには他の欠点も存在します。たとえば、アプリ開発者が常に活動している実体でなければならず、受動的なオンチェーンのスマートコントラクトのように(継続的な介入が不要な)存在ではないことです。
ゼロ知識証明自体は非プライバシーリスクを解決できません
すべてのアイデンティティ形式には、境界ケースが存在します:
これらのエッジケースは、「一人一アイデンティティ」属性を維持しようとするシステムにおいて最も危険であり、プライバシーとは何の関係もありません。したがって、ゼロ知識証明はこれに対して無力です。
「富の証明」に依存して魔女の攻撃を防ぐことは問題を解決するには不十分ですので、私たちは何らかの形のアイデンティティシステムが必要です。
純粋な暗号パンクコミュニティの中で、一般的な代替案は「富の証明」に完全に依存して魔女狩り攻撃を防ぐことであり、あらゆる形式のアイデンティティシステムを構築することではありません。各アカウントに一定のコストを発生させることで、誰かが簡単に大量のアカウントを作成するのを防ぐことができます。この方法はインターネット上の先例があり、例えばSomethingawfulフォーラムでは、登録アカウントが10ドルの一回限りの料金を支払うことを要求し、アカウントが停止された場合、この料金は返金されません。しかし、これは実際の運用において本当の暗号経済モデルではありません。なぜなら、新しいアカウントを作成する最大の障害は再度10ドルを支払うことではなく、新しいクレジットカードを取得することだからです。
理論的には、支払いに条件を付けることも可能です:アカウントを登録する際、あなたは一筆の資金をステークする必要があり、アカウントが封鎖されるという非常に稀な状況でのみその資金を失うことになります。理論上、これは攻撃コストを大幅に引き上げることができます。
この提案は多くのシーンで顕著な効果を発揮しますが、特定のタイプのシーンではまったく機能しません。私は二つのタイプのシーンに焦点を当てます。仮に「ユニバーサル基本所得のようなシーン(UBI-like)」と「ガバナンスのようなシーン(governance-like)」と呼びましょう。
ユニバーサルベーシックインカム(UBI-like)シナリオにおけるアイデンティティの必要性
いわゆる「類全員基本所得シナリオ」とは、非常に広範囲(理想的には全体)ユーザー群に対して、支払い能力を考慮せずに一定量の資産やサービスを提供するシナリオを指します。Worldcoinはまさにこの点を体系的に実践しています:World IDを持つ誰もが定期的に少量のWLDトークンを受け取ることができます。また、多くのトークンエアドロップも、より非公式な方法で同様の目標を達成し、少なくとも一部のトークンをできるだけ多くのユーザーの手に渡すことを試みています。
私個人としては、この種のトークンの価値が個人の生活を維持するのに十分なレベルに達するとは思いません。AI主導で、富の規模が現在の千倍に達する経済体の中では、この種のトークンが生活を維持する価値を持つかもしれませんが、それでもなお、自然資源の富に支えられた政府主導のプロジェクトは、経済的な面でより重要な地位を占めるでしょう。しかし、私はこの種の「ミニUBI」が実際に解決できる問題は、人々が基本的なオンチェーン取引やオンライン購入を行うのに十分な量の暗号通貨を得ることだと考えています。具体的には、以下を含む可能性があります:
もし暗号通貨が世界中で広く採用されれば、この問題は解決される。しかし、暗号通貨がまだ普及していない現在、これは人々がオンチェーンの非金融アプリケーションや関連するオンライン商品サービスにアクセスする唯一の方法かもしれない。さもなければ、彼らはこれらのリソースに全く触れることができない可能性がある。
さらに、似たような効果を実現する別の方法があります。それは「普遍的基本サービス(universal basic services)」です:特定のアプリ内で限られた数の無料取引を送信する権限を持つすべての身分を持つ人に提供します。この方法は、インセンティブメカニズムにより適している可能性が高く、資本効率も向上します。なぜなら、この採用の恩恵を受けるアプリは、非ユーザーに対して支払う必要がないからです。ただし、これはある程度のトレードオフを伴い、普遍性が低下することになります(ユーザーは、プログラムに参加しているアプリへのアクセスを保証されるだけです)。とはいえ、ここでもスパム攻撃からシステムを守り、排他性を生じさせないためのアイデンティティソリューションが必要です。この排他性は、ユーザーが特定の支払い方法で支払うことを要求されることから生じる可能性があり、その支払い方法はすべての人が利用できるわけではありません。
最後に強調すべき重要なカテゴリーは「ユニバーサル基本保証金(universal basic security deposit)」です。アイデンティティの機能の一つは、ユーザーが担保を提供することなく、責任を追及できる対象を提供することです。これにより、個人資本の量に対する参加のハードルを下げるという目標の達成にも寄与します(場合によっては全く資本を必要としないこともあります)。
ガバナンスに似たシナリオにおけるアイデンティティの必要性
投票システム(例えば、ソーシャルメディアプラットフォームでのいいねやリツイート)を想像してみてください:ユーザーAの資源がユーザーBの10倍であれば、Aの投票権もBの10倍になります。しかし、経済的観点から見ると、1単位の投票権がAにもたらす利益は、Bにもたらす利益の10倍です(Aの規模が大きいため、どんな決定もその経済面への影響がより顕著になります)。したがって、全体としてAの投票が自身にもたらす利益は、Bの投票が自身にもたらす利益の100倍です。このため、Aが投票に多くのエネルギーを注ぎ、どのように投票すれば自身の目標を最大化できるかを研究し、さらには戦略的にアルゴリズムを操作する可能性があることがわかります。これが、トークン投票メカニズムにおいて「クジラ」が過度の影響を持つ根本的な理由です。
! ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ
より一般的で深い理由は、ガバナンスシステムが「1人が10万ドルを支配する」ことと「1000人が共に10万ドルを持つ」ことに同等の重みを与えるべきではないということです。後者は1000の独立した個体を表すため、より豊かで価値のある情報を含むことになります。小さな情報の高度な繰り返しではなく、1000人からの信号はしばしば「穏やか」であることが多いです。なぜなら、異なる個体の意見はしばしば相互に相殺されるからです。
! Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
この点は、正式な投票システムにも、「非公式投票システム」にも適用されます。例えば、人々が公開の声を上げることで文化の進化に参加する能力です。
これは、ガバナンス型システムが「資金の出所に関係なく、同等の規模の資金束を平等に扱う」アプローチに満足しないことを示しています。システムは実際には、これらの資金束の内部調整の程度を理解する必要があります。
注意すべきは、もしあなたが私の前述の二つのシナリオ(全員基本所得シナリオとガバナンスシナリオ)に対する説明の枠組みに同意するなら、技術的な観点から「一人一票」という明確なルールの必要性はもはや存在しなくなるということです。
この二つのシーンにおいて、アイデンティティは依然として非常に有用ですが、「一人一アイデンティティ」といった厳格なルールに従う必要はもはや存在しません。
理論上の理想的な状態は、N 個のアイデンティティを取得するコストが N² であることです。
上記の議論から、私たちは2つの圧力が相反する両端からアイデンティティシステムにおける複数のアイデンティティを取得する期待の難しさを制限していることがわかります:
まず、「簡単に取得できる身分の数」に明確で目に見える厳格な制限を設けることはできません。もし一人が一つの身分しか持てないのであれば、匿名性については何も言えず、脅迫されて身分を明かす可能性があります。実際、1より大きい固定数でもリスクは存在します:もし皆がそれぞれ5つの身分を持っていることを知っているなら、全ての5つを脅迫されて明かすことになるかもしれません。
これを支持するもう一つの理由は、匿名性そのものが非常に脆弱であるため、十分なセキュリティバッファスペースが必要であるということです。最新のAIツールを使用することで、プラットフォームを跨いでユーザーの行動を関連付けることが容易になり、言葉の使い方、投稿時間、投稿間隔、議論のトピックなどの公開情報を通じて、わずか33ビットの情報量で特定の人物を正確に特定することができます。人々はAIツールを使って防御することができるかもしれません(例えば、私が匿名でコンテンツを投稿する際、最初にフランス語で書き、その後ローカルで実行される大規模言語モデルで英語に翻訳したことがあります)が、それでもなお、一度の失敗で自分の匿名性が完全に終わってしまうことは望んでいません。
次に、身分は財務と完全に結びつけることはできません(つまり、N 個の身分を取得するコストは N です)。これは、大規模な主体が簡単に過度の影響力を得てしまい(その結果、小規模な主体が完全に発言権を失うことにつながります)。Twitter Blue の新しいメカニズムはこれを反映しています:月額 8 ドルの認証費用は低すぎて、悪用行為を効果的に制限することができず、現在、ユーザーは基本的にこの認証マークを無視しています。
さらに、私たちはリソースの量が N 倍の主体が、N 倍の不当な行為を無制限に行うことを望まないかもしれません。
上述の論点を総合すると、以下の制約条件を満たす前提で、できるだけ容易に複数のアイデンティティを取得したいと考えています:(1)ガバナンス型アプリケーションにおいて大規模主体の権力を制限すること;(2)ユニバーサルベーシックインカム型アプリケーションにおいて悪用行為を制限すること。
前文のガバナンスアプリケーションにおける数学モデルをそのまま参考にすると、明確な答えが得られます:もし N 個のアイデンティティが N² の影響力をもたらすなら、N 個のアイデンティティを取得するコストは N² であるべきです。偶然にも、この答えはユニバーサルベーシックインカムアプリケーションにも同様に適用されます。
! Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
このブログの古い読者は、おそらくこれが以前の「二次的資金提供」に関するブログ記事の図と完全に一致していることに気づくでしょう。これは偶然ではありません。
プラuralisticアイデンティティシステムはこの理想的な状態を実現できます
いわゆる「マルチアイデンティティシステム」とは、個人、組織、またはプラットフォームであっても、単一の主導発行機関が存在しないアイデンティティメカニズムを指します。このシステムは2つの方法で実現可能です:
! ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ
Circlesのアイデンティティマップの最新スナップショット。Circlesは現在、規模が最大のソーシャルグラフに基づくアイデンティティプロジェクトの1つです。
顕在的多元的アイデンティティは自然に匿名性を持つ:あなたは匿名のアイデンティティ(さらには複数のアイデンティティ)を持つことができ、それぞれのアイデンティティはコミュニティ内での行動によって評判を築くことができます。理想的な顕在的多元アイデンティティシステムは「独立したアイデンティティ(discrete identities)」の概念を必要としないかもしれません;その代わりに、あなたは検証可能な過去の行動から構成されるあいまいな集合を持ち、各行動の必要に応じてその中の異なる部分を精緻に証明することができるかもしれません。
ゼロ知識証明は匿名性をより実現しやすくします: あなたはメインIDを利用して匿名IDを立ち上げることができ、プライベートに最初のシグナルを提供することで新しい匿名IDの承認を得ることができます(例えば、一定数量のトークンを所有していることをゼロ知識証明することで、anon.worldにコンテンツを投稿できる;または、自分のTwitterフォロワーが特定の特徴を持っていることをゼロ知識証明することができます)。ゼロ知識証明をより効果的に使用する方法もあるかもしれません。
潜在的な多元的アイデンティティの「コスト曲線」は二次曲線よりも急ですが、それでも必要な特性の大部分を備えています。ほとんどの人は、この記事で挙げた一部のアイデンティティの形態を持っており、すべてを持っているわけではありません。一定の努力を通じて新たなアイデンティティの形態を取得することは可能ですが、持っているアイデンティティの形態が多ければ多いほど、次の形態を取得する際のコスト効率は低下します。したがって、それはガバナンス攻撃やその他の悪用行為に対する必要な抑止力を提供すると同時に、脅迫者が特定のアイデンティティを開示するように要求することを不可能にし(または合理的に期待することを不可能にします)。
いかなる形式の多元的アイデンティティシステム(潜在的であれ顕在的であれ)は、自然により強いフォールトトレランスを持っています:手や目に障害のある人でもパスポートを持つことができ、無国籍者でも特定の非政府的なルートを通じて自分のアイデンティティを証明することができます。
注意すべき点は、特定のアイデンティティ形式の市場占有率が100%に近づき、唯一のログインオプションとなる場合、上述の特性が無効になるということです。私の見解では、あまりにも「普遍性」を追求するアイデンティティシステムが直面する可能性のある最大のリスクは、彼らの市場占有率が100%に近づくと、世界を多様なアイデンティティシステムから「一人一アイデンティティ」モデルに推進してしまうことです。そして、本文で述べたように、このモデルには多くの欠点があります。
私の見解では、現在の「一人一身份」プロジェクトの理想的な結末は、ソーシャルグラフに基づくアイデンティティシステムとの統合です。ソーシャルグラフに基づくアイデンティティプロジェクトが直面している最大の問題は、大量のユーザーにスケールすることが困難であることです。「一人一身份」システムは、ソーシャルグラフに初期のサポートを提供するために使用され、数百万の「シードユーザー」を創出します。その時点で、ユーザー数は十分に多くなり、この基盤から安全にグローバル分散型ソーシャルグラフを発展させることができます。
特にBalviのボランティア、Silvicultureのメンバー、そしてWorldのチームメンバーに議論に参加していただき感謝します。