# 複数のジレンマ:ゼロ知識証明とデジタルIDシステムzk-SNARKs技術はデジタルIDシステムにおける応用が徐々に主流となっています。様々なzk-SNARKsに基づくデジタルIDプロジェクトが、ユーザーが身分の詳細を明かさずに自身の身分の有効性を証明できるユーザーフレンドリーなソフトウェアを開発しています。生体認証技術を採用し、zk-SNARKsを通じてプライバシーを保護するWorld IDのユーザー数は最近1000万を突破しました。中国台湾地域や欧州連合などの政府機関も、デジタルID分野におけるzk-SNARKsの応用に注目し始めています。表面的には、zk-SNARKs技術のデジタルID分野での広範な応用は、去中心化加速主義(d/acc)の大きな勝利のように見える。プライバシーを保護しつつ、ソーシャルメディアや投票システムなどがウィッチハントやロボット操作から守られることができる。しかし、事実はそれほど単純なのだろうか?zk-SNARKsに基づく身分証明には、まだリスクが存在するのだろうか?この記事では、以下の見解を述べる。- ゼロ知識証明技術により、多くの重要な問題を解決- zk-SNARKsで包装された身分証明には依然としてリスクが存在し、それは主に「一人一身分証明」属性の厳格な維持に起因します。- 単純に"富の証明"に依存して魔女狩りを防ぐことは不十分であり、私たちは何らかの"身分証明"解決策が必要です。- 理想的な状態は、N個の身分証明を取得するコストがN²であることです。- マルチアイデンティティシステムは最も現実的な解決策です! [ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-1fa15b87f0dad953ff390e1ff4499f3d)## アイデンティティのゼロ知識証明の仕組みあなたが眼球をスキャンしてWorld IDを取得した場合、またはスマートフォンのNFCでパスポートをスキャンしてzk-SNARKsに基づくデジタルIDを取得した場合、あなたのスマートフォンには秘密の値sが保存され、グローバルチェーン上の登録簿にはそれに対応する公開ハッシュ値H(s)があります。アプリにログインする際、特定のアプリに特有のユーザーIDを生成します。つまり、H(s、app_name)であり、zk-SNARKsを通じてこのIDが登録簿のいずれかの公開ハッシュ値と同じ秘密の値sから派生していることを検証します。こうすることで、各公開ハッシュ値は各アプリに対して1つのIDしか生成できませんが、特定のアプリ専用IDがどの公開ハッシュ値に対応しているかは決して漏洩しません。実際の設計はより複雑な場合があります。例えば、World IDでは、アプリ専用IDはアプリIDとセッションIDのハッシュ値を含んでいるため、同一アプリ内の異なる操作も相互に関連を解除できます。zk-SNARKsを基にしたパスポートの設計も同様の方法で構築することができます。zk-SNARKs技術は、多くの重要な問題を解決しました。zk-SNARKsの身分証明の他に、ユーザーはしばしば自分を証明するために完全な法定身分を開示しなければならず、これはコンピュータセキュリティの「最小権限の原則」に重大な違反です。現在の最良の改善策は、電話番号やクレジットカード番号などの間接トークンを使用することですが、この分離は非常に脆弱で、さまざまな情報がいつ漏洩する可能性があります。一方、zk-SNARKs技術は、これらの問題を大いに解決しています。! [ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-18e125ae671fbd46a8f4b809256f301e)## ゼロ知識証明の限界### 匿名性を実現できません仮に、あるzk-SNARKs身分証明プラットフォームが完全に期待通りに機能し、すべての論理を厳密に再現し、さらには非技術的なユーザーのプライベート情報を長期的に保護するために中央集権的な機関に依存しない方法を見つけたとします。しかし同時に、アプリケーションはプライバシー保護に積極的に協力するのではなく、むしろ自らの政治的および商業的利益に有利な設計を採用する可能性があります。この場合、ソーシャルメディアアプリは各ユーザーにユニークなアプリ専用IDを割り当てる可能性があります。身分証明システムは「一人一身分証明」ルールに従っているため、ユーザーは1つのアカウントしか持てません。現実では、匿名性の実現には通常、複数のアカウントが必要です:1つは通常の身分証明用、他はさまざまな匿名身分用です。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在の水準よりも低い可能性があります。たとえzk-SNARKsで包まれた「一人一身分証明」システムであっても、すべての活動が単一の公開身分証明に依存しなければならない世界に徐々に向かう可能性があります。リスクが高まる時代において、匿名性を通じて自己を守る選択権を奪うことは深刻な負の影響をもたらすでしょう。### 脅迫に対抗できないたとえ自分の秘密値sを公開しなくても、誰もあなたのアカウント間の公開された関連を見られませんが、もし誰かがあなたに公開を強制したらどうでしょうか?政府はその秘密値を開示するよう強制する可能性があり、その結果すべての活動を確認することができます。これは単なる空談ではありません。アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主も完全な公開情報の開示を雇用条件とすることが容易にできます。さらには、特定のアプリケーションが技術的な観点から他のアプリでの身分証明を開示することをユーザーに要求し、登録を許可する場合もあります。これらの状況では、zk-SNARKs属性の価値は消え失せますが、「一人一アカウント」という新しい属性の欠点は依然として存在します。私たちは設計の最適化を通じて脅迫リスクを低減できるかもしれません: 例えば、マルチパーティ計算メカニズムを使用して各アプリケーション専用のIDを生成し、ユーザーとサービス提供者が共同で参加することです。こうすることで、アプリケーション運営者の参加がなければ、ユーザーはそのアプリケーション内での専用IDを証明できなくなります。これにより、他人に完全な身分を明かすよう強要することが難しくなりますが、この可能性を完全に排除することはできず、またこの種のソリューションには他の欠点も存在します。例えば、アプリケーション開発者がリアルタイムで活発な実体である必要があり、受動的なオンチェーンのスマートコントラクトのようではないということです。### プライバシー以外のリスクを解決できませんすべての身分証明の形式には、境界ケースが存在します:- 政府が発行する身分証明に基づいても、無国籍者をカバーすることはできず、そのような証明書をまだ取得していない人々も含まれません。- 政府に基づく身分証明システムは、多重国籍保持者に独自の特権を与える。- パスポート発行機関はハッキング攻撃を受ける可能性があり、敵対国の情報機関が数百万の偽の身分証明を偽造する可能性さえあります。- 傷病により関連する生体情報が損なわれた人にとって、バイオメトリック身分証明は完全に無効となる。- 生体認証身分証明は、偽造品に騙される可能性があります。これらのエッジケースは「一人一身份」の属性を維持しようとするシステムにおいて最も危険であり、プライバシーとは無関係です。したがって、zk-SNARKsはこれに対して無力です。! [ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-5c5e98a8645b7a2cc02bf3f26d7bf4d7)## 「富の証明」に頼ることの限界。純粋な暗号パンクコミュニティの中で、一般的な代替案は「富の証明」に完全に依存して魔女狩り攻撃を防ぐことであり、あらゆる形態の身分証明システムを構築することではありません。各アカウントに一定のコストを発生させることで、大量のアカウントを容易に作成することを防ぐことができます。このような方法はインターネット上でも以前から存在しており、例えばSomethingawfulフォーラムでは、登録したアカウントに10ドルの一時金を支払わせ、アカウントが禁止された場合、この費用は返金されないことになっています。理論的には、支払いに条件を付けることも可能です:アカウントを登録する際、あなたは一定の資金を担保として預ける必要があり、アカウントが禁止されるという極めて稀な場合にのみ、その資金を失うことになります。理論的には、これにより攻撃コストが大幅に増加します。このような提案は多くのシーンで効果を発揮しますが、特定のタイプのシーンでは全く機能しません。以下では主に二つのシーンに焦点を当てます:"ユニバーサルベーシックインカムのシーン" と "ガバナンスのシーン"。### 全ての人に基本的な収入を提供するシナリオにおける身分証明の必要性"全体国民基本所得シナリオ"は、非常に広範囲のユーザーグループに一定量の資産またはサービスを配布し、その支払い能力を考慮しないシナリオを指します。Worldcoinはまさにこの点を体系的に実践しています: World IDを持っている人は誰でも、定期的に少量のWLDトークンを受け取ることができます。多くのトークンエアドロップも、より非公式な方法で同様の目標を達成しようとし、少なくとも一部のトークンができるだけ多くのユーザーの手に渡ることを試みています。この種の「小型のユニバーサルベーシックインカム」が実際に解決できる問題は、人々がいくつかの基本的なオンチェーン取引やオンライン購入を行うために、十分な量の暗号通貨を得ることです。具体的には以下のようなものが含まれる可能性があります:- ENS 名を取得する- チェーン上にハッシュを公開して、特定のzk-SNARKs身分証明を初期化する- ソーシャルメディアプラットフォームの費用を支払うさらに、類似の効果を達成する別の方法があります。それは「全員基本サービス」と呼ばれ、特定のアプリ内で限られた数の無料取引を送信する権限を、身分を持つすべての人に提供します。この方法はインセンティブメカニズムにより適しており、資本効率も高くなります。なぜなら、この採用の恩恵を受けるすべてのアプリケーションが、非ユーザーのために支払うことなくこれを行えるからです。しかし、これは普遍性が低下するというトレードオフを伴います。それでも、ここではシステムがスパム攻撃を受けるのを防ぎ、排他性を生まないための身分証明の解決策が必要です。この排他性は、ユーザーに特定の支払い方法で支払うことを要求することから生じ、これらの支払い方法はすべての人が使用できるわけではないからです。最後に強調すべき重要なカテゴリーは「全員基本保証金」です。身分の機能の一つは、ユーザーが担保としてインセンティブの規模に相当する資金を提供することなく、責任を追及するための対象を提供することです。これにより、参加のハードルが個人資本の量への依存を低減するという目標を達成するのにも役立ちます。! [Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-4ee3f0f2fb93f4937527d660b75452b7)### 類ガバナンスシーンにおける身分証明の需要投票システムにおいて、ユーザーAの資源がユーザーBの10倍であれば、Aの投票権もBの10倍になります。しかし、経済的な観点から見ると、1単位の投票権がAにもたらす利益は、Bにもたらす利益の10倍です。したがって、全体として、Aの投票が自身にもたらす利益は、Bの投票が自身にもたらす利益の100倍です。このため、Aが投票に多くの労力を投入し、どのように投票すれば自身の目標を最大化できるかを研究し、さらには戦略的にアルゴリズムを操作する可能性があることがわかります。これが、トークン投票メカニズムにおける「クジラ」が過度の影響を持つ根本的な理由です。より一般的で深い理由は、ガバナンスシステムが「1人が10万ドルを支配する」ことと「1000人が10万ドルを共有する」ことに同等の重みを与えるべきではないということです。後者は1000の独立した個体を代表しているため、より豊富で価値のある情報を含むことができ、小さな情報の高度な重複ではありません。1000人からの信号は、異なる個体の意見が相互に相殺されるため、しばしば「穏やか」でもあります。これは、ガバナンス型システムが「資金の出所に関わらず、同等の規模の資金束を平等に扱う」というアプローチに本当に満足しないことを示しています。システムは実際には、これらの資金束の内部的な調整の程度を理解する必要があります。注意すべきは、もしあなたが私の上述の2つのシナリオの説明フレームワークに同意するなら、技術的な観点から見ると、「一人一票」という明確なルールの必要性はもはや存在しないということです。- クラス全体の基本収入シナリオの適用に関して、本当に必要な身分証明のスキームは次のとおりです: 最初の身分証明は無料で、取得可能な身分証明の数に制限があります。より多くの身分証明を取得するコストが、システムを攻撃する行為の意味を失わせるほど高くなると、制限効果が達成されます。- ガバナンスに関連するシナリオのアプリケーションにおいて、核心的な要件は、接触しているこのリソースの背後に、単一の操作主体が存在するのか、それとも「自然に形成された」調整度が低い集団が存在するのかを、何らかの間接的な指標を通じて判断できることです。これらの二つのシーンにおいて、身分証明は依然として非常に有用ですが、「一人一身分証明」といった厳格なルールに従う必要はもはや存在しません。! [Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-d49b614727dad9332ccc83574bcd8d59)## 理想状態: N個の身分証明を取得するコストはN²上述の論点から、我々は二つの圧力が反対の両端からアイデンティティシステムにおいて複数の身分証明を取得する期待の難しさを制限していることがわかります。まず、"簡単に取得できる身分の数"に明確で目に見えるハードリミットを設定してはいけません。もし一人が一つの身分しか持てないのであれば、匿名性については何も言えず、身分を開示するよう脅迫される可能性があります。実際、1より大きい固定の数であってもリスクは存在します:もし誰もが各人が5つの身分を持っていることを知っていれば、脅迫される可能性があります。
ゼロ知識証明IDシステムのジレンマとブレークスルー:複数のIDが未来
複数のジレンマ:ゼロ知識証明とデジタルIDシステム
zk-SNARKs技術はデジタルIDシステムにおける応用が徐々に主流となっています。様々なzk-SNARKsに基づくデジタルIDプロジェクトが、ユーザーが身分の詳細を明かさずに自身の身分の有効性を証明できるユーザーフレンドリーなソフトウェアを開発しています。生体認証技術を採用し、zk-SNARKsを通じてプライバシーを保護するWorld IDのユーザー数は最近1000万を突破しました。中国台湾地域や欧州連合などの政府機関も、デジタルID分野におけるzk-SNARKsの応用に注目し始めています。
表面的には、zk-SNARKs技術のデジタルID分野での広範な応用は、去中心化加速主義(d/acc)の大きな勝利のように見える。プライバシーを保護しつつ、ソーシャルメディアや投票システムなどがウィッチハントやロボット操作から守られることができる。しかし、事実はそれほど単純なのだろうか?zk-SNARKsに基づく身分証明には、まだリスクが存在するのだろうか?この記事では、以下の見解を述べる。
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
アイデンティティのゼロ知識証明の仕組み
あなたが眼球をスキャンしてWorld IDを取得した場合、またはスマートフォンのNFCでパスポートをスキャンしてzk-SNARKsに基づくデジタルIDを取得した場合、あなたのスマートフォンには秘密の値sが保存され、グローバルチェーン上の登録簿にはそれに対応する公開ハッシュ値H(s)があります。アプリにログインする際、特定のアプリに特有のユーザーIDを生成します。つまり、H(s、app_name)であり、zk-SNARKsを通じてこのIDが登録簿のいずれかの公開ハッシュ値と同じ秘密の値sから派生していることを検証します。こうすることで、各公開ハッシュ値は各アプリに対して1つのIDしか生成できませんが、特定のアプリ専用IDがどの公開ハッシュ値に対応しているかは決して漏洩しません。
実際の設計はより複雑な場合があります。例えば、World IDでは、アプリ専用IDはアプリIDとセッションIDのハッシュ値を含んでいるため、同一アプリ内の異なる操作も相互に関連を解除できます。zk-SNARKsを基にしたパスポートの設計も同様の方法で構築することができます。
zk-SNARKs技術は、多くの重要な問題を解決しました。zk-SNARKsの身分証明の他に、ユーザーはしばしば自分を証明するために完全な法定身分を開示しなければならず、これはコンピュータセキュリティの「最小権限の原則」に重大な違反です。現在の最良の改善策は、電話番号やクレジットカード番号などの間接トークンを使用することですが、この分離は非常に脆弱で、さまざまな情報がいつ漏洩する可能性があります。一方、zk-SNARKs技術は、これらの問題を大いに解決しています。
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
ゼロ知識証明の限界
匿名性を実現できません
仮に、あるzk-SNARKs身分証明プラットフォームが完全に期待通りに機能し、すべての論理を厳密に再現し、さらには非技術的なユーザーのプライベート情報を長期的に保護するために中央集権的な機関に依存しない方法を見つけたとします。しかし同時に、アプリケーションはプライバシー保護に積極的に協力するのではなく、むしろ自らの政治的および商業的利益に有利な設計を採用する可能性があります。
この場合、ソーシャルメディアアプリは各ユーザーにユニークなアプリ専用IDを割り当てる可能性があります。身分証明システムは「一人一身分証明」ルールに従っているため、ユーザーは1つのアカウントしか持てません。現実では、匿名性の実現には通常、複数のアカウントが必要です:1つは通常の身分証明用、他はさまざまな匿名身分用です。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在の水準よりも低い可能性があります。たとえzk-SNARKsで包まれた「一人一身分証明」システムであっても、すべての活動が単一の公開身分証明に依存しなければならない世界に徐々に向かう可能性があります。リスクが高まる時代において、匿名性を通じて自己を守る選択権を奪うことは深刻な負の影響をもたらすでしょう。
脅迫に対抗できない
たとえ自分の秘密値sを公開しなくても、誰もあなたのアカウント間の公開された関連を見られませんが、もし誰かがあなたに公開を強制したらどうでしょうか?政府はその秘密値を開示するよう強制する可能性があり、その結果すべての活動を確認することができます。これは単なる空談ではありません。アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主も完全な公開情報の開示を雇用条件とすることが容易にできます。さらには、特定のアプリケーションが技術的な観点から他のアプリでの身分証明を開示することをユーザーに要求し、登録を許可する場合もあります。
これらの状況では、zk-SNARKs属性の価値は消え失せますが、「一人一アカウント」という新しい属性の欠点は依然として存在します。
私たちは設計の最適化を通じて脅迫リスクを低減できるかもしれません: 例えば、マルチパーティ計算メカニズムを使用して各アプリケーション専用のIDを生成し、ユーザーとサービス提供者が共同で参加することです。こうすることで、アプリケーション運営者の参加がなければ、ユーザーはそのアプリケーション内での専用IDを証明できなくなります。これにより、他人に完全な身分を明かすよう強要することが難しくなりますが、この可能性を完全に排除することはできず、またこの種のソリューションには他の欠点も存在します。例えば、アプリケーション開発者がリアルタイムで活発な実体である必要があり、受動的なオンチェーンのスマートコントラクトのようではないということです。
プライバシー以外のリスクを解決できません
すべての身分証明の形式には、境界ケースが存在します:
これらのエッジケースは「一人一身份」の属性を維持しようとするシステムにおいて最も危険であり、プライバシーとは無関係です。したがって、zk-SNARKsはこれに対して無力です。
! ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ
「富の証明」に頼ることの限界。
純粋な暗号パンクコミュニティの中で、一般的な代替案は「富の証明」に完全に依存して魔女狩り攻撃を防ぐことであり、あらゆる形態の身分証明システムを構築することではありません。各アカウントに一定のコストを発生させることで、大量のアカウントを容易に作成することを防ぐことができます。このような方法はインターネット上でも以前から存在しており、例えばSomethingawfulフォーラムでは、登録したアカウントに10ドルの一時金を支払わせ、アカウントが禁止された場合、この費用は返金されないことになっています。
理論的には、支払いに条件を付けることも可能です:アカウントを登録する際、あなたは一定の資金を担保として預ける必要があり、アカウントが禁止されるという極めて稀な場合にのみ、その資金を失うことになります。理論的には、これにより攻撃コストが大幅に増加します。
このような提案は多くのシーンで効果を発揮しますが、特定のタイプのシーンでは全く機能しません。以下では主に二つのシーンに焦点を当てます:"ユニバーサルベーシックインカムのシーン" と "ガバナンスのシーン"。
全ての人に基本的な収入を提供するシナリオにおける身分証明の必要性
"全体国民基本所得シナリオ"は、非常に広範囲のユーザーグループに一定量の資産またはサービスを配布し、その支払い能力を考慮しないシナリオを指します。Worldcoinはまさにこの点を体系的に実践しています: World IDを持っている人は誰でも、定期的に少量のWLDトークンを受け取ることができます。多くのトークンエアドロップも、より非公式な方法で同様の目標を達成しようとし、少なくとも一部のトークンができるだけ多くのユーザーの手に渡ることを試みています。
この種の「小型のユニバーサルベーシックインカム」が実際に解決できる問題は、人々がいくつかの基本的なオンチェーン取引やオンライン購入を行うために、十分な量の暗号通貨を得ることです。具体的には以下のようなものが含まれる可能性があります:
さらに、類似の効果を達成する別の方法があります。それは「全員基本サービス」と呼ばれ、特定のアプリ内で限られた数の無料取引を送信する権限を、身分を持つすべての人に提供します。この方法はインセンティブメカニズムにより適しており、資本効率も高くなります。なぜなら、この採用の恩恵を受けるすべてのアプリケーションが、非ユーザーのために支払うことなくこれを行えるからです。しかし、これは普遍性が低下するというトレードオフを伴います。それでも、ここではシステムがスパム攻撃を受けるのを防ぎ、排他性を生まないための身分証明の解決策が必要です。この排他性は、ユーザーに特定の支払い方法で支払うことを要求することから生じ、これらの支払い方法はすべての人が使用できるわけではないからです。
最後に強調すべき重要なカテゴリーは「全員基本保証金」です。身分の機能の一つは、ユーザーが担保としてインセンティブの規模に相当する資金を提供することなく、責任を追及するための対象を提供することです。これにより、参加のハードルが個人資本の量への依存を低減するという目標を達成するのにも役立ちます。
! Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
類ガバナンスシーンにおける身分証明の需要
投票システムにおいて、ユーザーAの資源がユーザーBの10倍であれば、Aの投票権もBの10倍になります。しかし、経済的な観点から見ると、1単位の投票権がAにもたらす利益は、Bにもたらす利益の10倍です。したがって、全体として、Aの投票が自身にもたらす利益は、Bの投票が自身にもたらす利益の100倍です。このため、Aが投票に多くの労力を投入し、どのように投票すれば自身の目標を最大化できるかを研究し、さらには戦略的にアルゴリズムを操作する可能性があることがわかります。これが、トークン投票メカニズムにおける「クジラ」が過度の影響を持つ根本的な理由です。
より一般的で深い理由は、ガバナンスシステムが「1人が10万ドルを支配する」ことと「1000人が10万ドルを共有する」ことに同等の重みを与えるべきではないということです。後者は1000の独立した個体を代表しているため、より豊富で価値のある情報を含むことができ、小さな情報の高度な重複ではありません。1000人からの信号は、異なる個体の意見が相互に相殺されるため、しばしば「穏やか」でもあります。
これは、ガバナンス型システムが「資金の出所に関わらず、同等の規模の資金束を平等に扱う」というアプローチに本当に満足しないことを示しています。システムは実際には、これらの資金束の内部的な調整の程度を理解する必要があります。
注意すべきは、もしあなたが私の上述の2つのシナリオの説明フレームワークに同意するなら、技術的な観点から見ると、「一人一票」という明確なルールの必要性はもはや存在しないということです。
これらの二つのシーンにおいて、身分証明は依然として非常に有用ですが、「一人一身分証明」といった厳格なルールに従う必要はもはや存在しません。
! Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
理想状態: N個の身分証明を取得するコストはN²
上述の論点から、我々は二つの圧力が反対の両端からアイデンティティシステムにおいて複数の身分証明を取得する期待の難しさを制限していることがわかります。
まず、"簡単に取得できる身分の数"に明確で目に見えるハードリミットを設定してはいけません。もし一人が一つの身分しか持てないのであれば、匿名性については何も言えず、身分を開示するよう脅迫される可能性があります。実際、1より大きい固定の数であってもリスクは存在します:もし誰もが各人が5つの身分を持っていることを知っていれば、脅迫される可能性があります。