zk-SNARKs技術はデジタルIDシステムにおける応用が徐々に主流になっています。各種のzk-SNARKsに基づくデジタルIDプロジェクトが、ユーザーが身分の詳細を明らかにすることなく有効な身分を証明できるユーザーフレンドリーなソフトウェアパッケージを開発しています。生体認証技術を用いて検証し、zk-SNARKsを通じてプライバシーを守るWorld IDプロジェクトのユーザー数は最近1000万人を突破しました。台湾地域のデジタルID政府プロジェクトでもzk-SNARKsが活用されており、EUのデジタルID分野における取り組みもこの技術に対してますます重視されています。表面上、zk-SNARKsに基づくデジタルIDの広範な採用は、分散型技術の発展における大きな勝利のように見えます。これは、プライバシーを犠牲にすることなく、ソーシャルメディア、投票システム、インターネットサービスをウィッチハントやボット操作から保護することができます。しかし、事実はそれほど簡単ではなく、この身分証明システムにはいくつかのリスクが残っています。本記事では、以下の見解を明らかにします:- zk-SNARKsパッケージは、多くの重要な問題を解決しました。- しかし、zk-SNARKsで包装された身分証明にはリスクが存在します。これらのリスクは主に「一人一身分証明」属性の厳格な維持に起因しており、具体的に生体認証を使用するかパスポートを使用するかにはあまり関係ありません。- もう一つの極端は「富の証明」を使用してウィッチ攻撃を防ぐことですが、これはほとんどのアプリケーションシーンでは不十分です。私たちは何らかの「身分証明」の解決策が必要です。- 理論上の理想状態は、N個の身分のコストがN²であることです。- この理想的な状態は実践では実現が難しいですが、適切な「多元身份」はそれに近づくため、最も現実的な解決策です。多元身份は明示的な(、例えばソーシャルグラフに基づく身份)であることもあれば、暗黙的な(さまざまなタイプの零知识证明身份が共存し、どのタイプも市場シェアが100%に近づくことはありません)。! [ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-1fa15b87f0dad953ff390e1ff4499f3d)### zk-SNARKsを用いた身分証明の仕組みはどのように機能しますか?仮にあなたが眼球をスキャンして World ID を取得したり、スマートフォンの NFC を使用してパスポートを読み取って zk-SNARKs に基づくパスポートの身分証明を得たとします。この記事の主張に関しては、これら二つの方法の核心的な属性は一致しています。あなたのスマートフォンには秘密の値sがあります。チェーン上のグローバル登録簿には、公開ハッシュ値H(s)があります。アプリにログインすると、特定のアプリ用のユーザーID、すなわちH(s, app_name)を生成し、zk-SNARKsを使って検証します: このIDは登録簿内のどの公開ハッシュ値とも同じ秘密値sから派生しています。したがって、各公開ハッシュ値は各アプリに対して一つのIDしか生成されませんが、特定のアプリ専用IDがどの公開ハッシュ値に対応しているかは決して漏洩しません。実際には、設計はもう少し複雑になる可能性があります。World IDでは、アプリ専用IDは実際にはアプリIDとセッションIDのハッシュ値を含んでいるため、同じアプリケーション内の異なる操作も相互に関連付けを解除できます。zk-SNARKsパスポートに基づいた設計も同様の方法で構築することができます。この身分タイプの欠点を議論する前に、まずそれがもたらす利点を認識する必要があります。zk-SNARKsによる身分証明の他に、身分証明を必要とするサービスに自分を証明するためには、法定身分を完全に開示しなければなりません。これはコンピュータセキュリティの「最小権限原則」に重大な違反です:プロセスはそのタスクを完了するために必要な最小限の権限と情報のみを取得すべきです。彼らはあなたがロボットでないこと、18歳以上であること、または特定の国から来ていることを証明する必要がありますが、得られるのはあなたの完全な身分の指示です。現在実現可能な最良の改善策は、電話番号やクレジットカード番号などの間接トークンを使用することです。この場合、あなたの電話/クレジットカード番号とアプリ内の活動に関連する主体、およびあなたの電話/クレジットカード番号と法定身分に関連する主体(会社または銀行)は相互に分離されています。しかし、この分離は非常に脆弱です。電話番号や他の種類の情報は、いつでも漏洩する可能性があります。そして、zk-SNARKsを活用したパッケージ技術によって、上記の問題は大いに解決されました。しかし、次に議論すべきはあまり言及されていない点です: いくつかの問題は未解決のままであり、むしろこのようなソリューションにおける"一人一身分証明"の厳格な制限によってさらに深刻化する可能性があります。! [ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-18e125ae671fbd46a8f4b809256f301e)### ゼロ知識証明だけでは匿名性は達成できない仮に、zk-SNARKs身分証明プラットフォームが完全に期待通りに機能し、上記のすべてのロジックを厳密に再現し、さらには非技術ユーザーのプライベート情報を長期的に保護する方法が見つかったとしましょう。しかし同時に、現実に即した仮定を立てることができます: アプリケーションはプライバシー保護に積極的に協力しないでしょう。彼らは「実用主義」の原則に従い、採用されるデザイン案は「ユーザーの利便性を最大化する」という名目を掲げつつ、実際には常に自らの政治的および商業的利益に偏るようです。このようなシーンでは、ソーシャルメディアアプリは頻繁にセッションキーをローテーションするような複雑な設計を採用せず、各ユーザーにユニークなアプリ専用IDを割り当てます。また、身分証明システムは「一人一身分」を遵守しているため、ユーザーは1つのアカウント(しか持つことができません。これは現在の「弱い身分」と対照的で、たとえばGoogleアカウントのように、普通の人は簡単に約5つの)を登録できます。現実の世界では、匿名性を実現するためには通常、複数のアカウントが必要です:1つは「通常の身分」のため、他はさまざまな匿名の身分のためです。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在のレベルよりも低くなる可能性があります。こうなると、zk-SNARKsで包装された「一人一身分」システムであっても、すべての活動が単一の公開身分に依存しなければならない世界に徐々に向かう可能性があります。リスクが高まる時代において、匿名性を通じて自分自身を守る選択権を剥奪することは、深刻な悪影響をもたらします。### zk-SNARKs自体は、あなたを脅迫から守ることはできません。たとえ自分の秘密値sを公開しなくても、誰もあなたの各アカウント間の公開された関連を見れませんが、もし誰かがあなたに公開を強制したらどうでしょうか?政府はその秘密値を開示するよう強制する可能性があり、すべての活動を確認するためです。これは空話ではありません:アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主は完全な公開情報の開示を雇用条件にすることも容易です。さらには、特定のアプリが技術的に他のアプリでの身分を開示することをユーザーに要求することもあり、登録を許可することがあります。同様に、これらの状況において、zk-SNARKsの属性の価値は消失しますが、「一人一アカウント」という新しい属性の欠点は依然として存在します。私たちは、設計の最適化を通じて脅迫リスクを低減できるかもしれません。例えば、マルチパーティ計算メカニズムを採用して各アプリケーション専用のIDを生成し、ユーザーとサービス提供者が共に関与するようにします。これにより、アプリ運営者が関与しない限り、ユーザーはそのアプリケーション内での専用IDを証明できなくなります。これにより、他者に完全な身分を開示させる難易度が上がりますが、この可能性を完全に排除することはできず、またこのようなソリューションには他の欠点も存在します。例えば、アプリ開発者はリアルタイムで活動している実体でなければならず、受動的なオンチェーンスマートコントラクトのようではいけません。! [ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-5c5e98a8645b7a2cc02bf3f26d7bf4d7)### zk-SNARKs自体は非プライバシーリスクを解決できません。すべての身分証明の形式にはエッジケースが存在します:- 政府が発行した身分証明に基づいており、パスポートを含むが、無国籍者をカバーすることはできず、またそのような証明書をまだ取得していない人々も含まれていない。- 一方で、政府に基づくこのような身分証明システムは、複数の国籍を持つ者に独自の特権を与える。- パスポート発行機関がハッカー攻撃を受ける可能性があり、敵対国の情報機関が大量の偽の身分証明を偽造する可能性もあります。- 傷病によって関連する生物的特徴が損なわれた人にとって、生体認証の身分証明は完全に無効になります。- 生体認証は模倣品に騙される可能性が高い。もし生体認証の価値が非常に高くなれば、私たちは「大量生産」するためだけに人体の器官を専門に育てる人が現れるのを目にするかもしれない。これらのエッジケースは「一人一身份」という属性を維持しようとするシステムにおいて最も危険であり、プライバシーとは全く関係がありません。したがって、zk-SNARKsには何の力もありません。### "富の証明"に依存して魔女狩り攻撃を防ぐだけでは問題を解決するには不十分です。そのため、私たちは何らかの形の身分証明システムを必要としています。純粋なサイバーパンクコミュニティでは、一般的な代替案は、アイデンティティシステムの構築ではなく、「富の証明」に完全に依存して魔女狩り攻撃を防ぐことです。各アカウントに一定のコストを発生させることで、多数のアカウントを簡単に作成することを阻止できます。この手法はインターネット上で以前から存在しており、例えばSomethingawfulフォーラムでは、登録アカウントに10ドルの一度きりの料金を支払うことを要求し、アカウントが禁止された場合、この料金は返金されません。ただし、これは実際の操作では真の暗号経済モデルではありません。なぜなら、新しいアカウントを作成する最大の障害は再度10ドルを支払うことではなく、新しいクレジットカードを取得することだからです。理論的には、支払いに条件を付けることも可能です: アカウントを登録する際、あなたは資金を質入れするだけで、アカウントが禁止されるという極めて稀な状況でのみその資金を失うことになります。理論的には、これにより攻撃コストが大幅に増加する可能性があります。このようなプランは多くのシーンで顕著な効果を示しますが、特定のタイプのシーンでは全く機能しません。私は二つのタイプのシーンに重点を置いて議論します。それらを「全体的なベーシックインカムシーン」と「ガバナンスシーン」と呼ぶことにします。! [Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ](https://img-cdn.gateio.im/social/moments-4ee3f0f2fb93f4937527d660b75452b7)#### クラウドベーシックインカムのシナリオにおける身分証明の必要性いわゆる「類全民基本収入シナリオ」とは、極めて広範な(理想的には全体)ユーザーグループに対して、支払い能力を考慮せずに一定量の資産またはサービスを配布するシナリオを指します。Worldcoinはまさにこの点を体系的に実践しています: World IDを持つ誰もが定期的に少量のWLDトークンを受け取ることができます。多くのトークンエアドロップも、より非公式な方法で類似の目標を実現しようとしており、少なくとも一部のトークンができるだけ多くのユーザーの手に渡ることを試みています。私個人としては、このようなトークンの価値が個人の生活を維持するレベルに達するとは思いません。人工知能によって推進され、富の規模が現在の千倍に達する経済体では、このようなトークンが生活を維持する価値を持つかもしれませんが、そうであっても、少なくとも自然資源の富に支えられた政府主導のプロジェクトは、経済的な観点でより重要な地位を占めるでしょう。しかし、私はこのような「小型の国民基本所得」が実際に解決できる問題は、人々が基本的なオンチェーン取引やオンライン購入を完了するために十分な量の暗号通貨を得ることだと考えています。具体的には、次のようなことが含まれるかもしれません:- ENS 名を取得する- ゼロ知識証明身分を初期化するために、チェーン上にハッシュを公開する- ソーシャルメディアプラットフォームの料金を支払うもし暗号通貨が世界中で広く採用されるなら、この問題は解消される。しかし、暗号通貨がまだ普及していない現状では、これは人々がブロックチェーン上の非金融アプリケーションや関連するオンライン商品サービスにアクセスする唯一の手段であり、さもなければ彼らはこれらのリソースに全く接触できない可能性がある。さらに、類似の効果を実現する別の方法があります。それは「全員基本サービス」で、身分を持つすべての人に特定のアプリケーション内で限られた数の無料取引を送信する権限を提供するものです。この方法は、インセンティブメカニズムによりより適している可能性があり、資本効率も高くなります。なぜなら、この採用から恩恵を受けるアプリケーションは、非ユーザーのために支払うことなくこれを行うことができるからです。ただし、これは一定のトレードオフを伴い、普遍性が低下します。( ユーザーはこのプログラムに参加するアプリへのアクセス権を保証されるだけです。) それでも、ここではシステムがスパム攻撃を受けるのを防ぎ、排他性を生じさせないためのアイデンティティソリューションが必要です。この排他性は、ユーザーが特定の支払い方法で支払うことを要求されることから生じ、これらの支払い方法はすべての人が使用できるわけではありません。最後に強調すべき重要なカテゴリーは「全民基本保証金」です。身分の機能についての
zk-SNARKs身分証明システムの二面性:プライバシーの武器か匿名性の脅威か
zk-SNARKs技術はデジタルIDシステムにおける応用が徐々に主流になっています。各種のzk-SNARKsに基づくデジタルIDプロジェクトが、ユーザーが身分の詳細を明らかにすることなく有効な身分を証明できるユーザーフレンドリーなソフトウェアパッケージを開発しています。生体認証技術を用いて検証し、zk-SNARKsを通じてプライバシーを守るWorld IDプロジェクトのユーザー数は最近1000万人を突破しました。台湾地域のデジタルID政府プロジェクトでもzk-SNARKsが活用されており、EUのデジタルID分野における取り組みもこの技術に対してますます重視されています。
表面上、zk-SNARKsに基づくデジタルIDの広範な採用は、分散型技術の発展における大きな勝利のように見えます。これは、プライバシーを犠牲にすることなく、ソーシャルメディア、投票システム、インターネットサービスをウィッチハントやボット操作から保護することができます。しかし、事実はそれほど簡単ではなく、この身分証明システムにはいくつかのリスクが残っています。本記事では、以下の見解を明らかにします:
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
zk-SNARKsを用いた身分証明の仕組みはどのように機能しますか?
仮にあなたが眼球をスキャンして World ID を取得したり、スマートフォンの NFC を使用してパスポートを読み取って zk-SNARKs に基づくパスポートの身分証明を得たとします。この記事の主張に関しては、これら二つの方法の核心的な属性は一致しています。
あなたのスマートフォンには秘密の値sがあります。チェーン上のグローバル登録簿には、公開ハッシュ値H(s)があります。アプリにログインすると、特定のアプリ用のユーザーID、すなわちH(s, app_name)を生成し、zk-SNARKsを使って検証します: このIDは登録簿内のどの公開ハッシュ値とも同じ秘密値sから派生しています。したがって、各公開ハッシュ値は各アプリに対して一つのIDしか生成されませんが、特定のアプリ専用IDがどの公開ハッシュ値に対応しているかは決して漏洩しません。
実際には、設計はもう少し複雑になる可能性があります。World IDでは、アプリ専用IDは実際にはアプリIDとセッションIDのハッシュ値を含んでいるため、同じアプリケーション内の異なる操作も相互に関連付けを解除できます。zk-SNARKsパスポートに基づいた設計も同様の方法で構築することができます。
この身分タイプの欠点を議論する前に、まずそれがもたらす利点を認識する必要があります。zk-SNARKsによる身分証明の他に、身分証明を必要とするサービスに自分を証明するためには、法定身分を完全に開示しなければなりません。これはコンピュータセキュリティの「最小権限原則」に重大な違反です:プロセスはそのタスクを完了するために必要な最小限の権限と情報のみを取得すべきです。彼らはあなたがロボットでないこと、18歳以上であること、または特定の国から来ていることを証明する必要がありますが、得られるのはあなたの完全な身分の指示です。
現在実現可能な最良の改善策は、電話番号やクレジットカード番号などの間接トークンを使用することです。この場合、あなたの電話/クレジットカード番号とアプリ内の活動に関連する主体、およびあなたの電話/クレジットカード番号と法定身分に関連する主体(会社または銀行)は相互に分離されています。しかし、この分離は非常に脆弱です。電話番号や他の種類の情報は、いつでも漏洩する可能性があります。
そして、zk-SNARKsを活用したパッケージ技術によって、上記の問題は大いに解決されました。しかし、次に議論すべきはあまり言及されていない点です: いくつかの問題は未解決のままであり、むしろこのようなソリューションにおける"一人一身分証明"の厳格な制限によってさらに深刻化する可能性があります。
! ヴィタリック:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
ゼロ知識証明だけでは匿名性は達成できない
仮に、zk-SNARKs身分証明プラットフォームが完全に期待通りに機能し、上記のすべてのロジックを厳密に再現し、さらには非技術ユーザーのプライベート情報を長期的に保護する方法が見つかったとしましょう。しかし同時に、現実に即した仮定を立てることができます: アプリケーションはプライバシー保護に積極的に協力しないでしょう。彼らは「実用主義」の原則に従い、採用されるデザイン案は「ユーザーの利便性を最大化する」という名目を掲げつつ、実際には常に自らの政治的および商業的利益に偏るようです。
このようなシーンでは、ソーシャルメディアアプリは頻繁にセッションキーをローテーションするような複雑な設計を採用せず、各ユーザーにユニークなアプリ専用IDを割り当てます。また、身分証明システムは「一人一身分」を遵守しているため、ユーザーは1つのアカウント(しか持つことができません。これは現在の「弱い身分」と対照的で、たとえばGoogleアカウントのように、普通の人は簡単に約5つの)を登録できます。現実の世界では、匿名性を実現するためには通常、複数のアカウントが必要です:1つは「通常の身分」のため、他はさまざまな匿名の身分のためです。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在のレベルよりも低くなる可能性があります。こうなると、zk-SNARKsで包装された「一人一身分」システムであっても、すべての活動が単一の公開身分に依存しなければならない世界に徐々に向かう可能性があります。リスクが高まる時代において、匿名性を通じて自分自身を守る選択権を剥奪することは、深刻な悪影響をもたらします。
zk-SNARKs自体は、あなたを脅迫から守ることはできません。
たとえ自分の秘密値sを公開しなくても、誰もあなたの各アカウント間の公開された関連を見れませんが、もし誰かがあなたに公開を強制したらどうでしょうか?政府はその秘密値を開示するよう強制する可能性があり、すべての活動を確認するためです。これは空話ではありません:アメリカ政府はすでにビザ申請者に自分のソーシャルメディアアカウントを公開するよう要求し始めています。さらに、雇用主は完全な公開情報の開示を雇用条件にすることも容易です。さらには、特定のアプリが技術的に他のアプリでの身分を開示することをユーザーに要求することもあり、登録を許可することがあります。
同様に、これらの状況において、zk-SNARKsの属性の価値は消失しますが、「一人一アカウント」という新しい属性の欠点は依然として存在します。
私たちは、設計の最適化を通じて脅迫リスクを低減できるかもしれません。例えば、マルチパーティ計算メカニズムを採用して各アプリケーション専用のIDを生成し、ユーザーとサービス提供者が共に関与するようにします。これにより、アプリ運営者が関与しない限り、ユーザーはそのアプリケーション内での専用IDを証明できなくなります。これにより、他者に完全な身分を開示させる難易度が上がりますが、この可能性を完全に排除することはできず、またこのようなソリューションには他の欠点も存在します。例えば、アプリ開発者はリアルタイムで活動している実体でなければならず、受動的なオンチェーンスマートコントラクトのようではいけません。
! ヴィタリック:デジタルアイデンティティ+ZK技術の下での複数のジレンマ
zk-SNARKs自体は非プライバシーリスクを解決できません。
すべての身分証明の形式にはエッジケースが存在します:
これらのエッジケースは「一人一身份」という属性を維持しようとするシステムにおいて最も危険であり、プライバシーとは全く関係がありません。したがって、zk-SNARKsには何の力もありません。
"富の証明"に依存して魔女狩り攻撃を防ぐだけでは問題を解決するには不十分です。そのため、私たちは何らかの形の身分証明システムを必要としています。
純粋なサイバーパンクコミュニティでは、一般的な代替案は、アイデンティティシステムの構築ではなく、「富の証明」に完全に依存して魔女狩り攻撃を防ぐことです。各アカウントに一定のコストを発生させることで、多数のアカウントを簡単に作成することを阻止できます。この手法はインターネット上で以前から存在しており、例えばSomethingawfulフォーラムでは、登録アカウントに10ドルの一度きりの料金を支払うことを要求し、アカウントが禁止された場合、この料金は返金されません。ただし、これは実際の操作では真の暗号経済モデルではありません。なぜなら、新しいアカウントを作成する最大の障害は再度10ドルを支払うことではなく、新しいクレジットカードを取得することだからです。
理論的には、支払いに条件を付けることも可能です: アカウントを登録する際、あなたは資金を質入れするだけで、アカウントが禁止されるという極めて稀な状況でのみその資金を失うことになります。理論的には、これにより攻撃コストが大幅に増加する可能性があります。
このようなプランは多くのシーンで顕著な効果を示しますが、特定のタイプのシーンでは全く機能しません。私は二つのタイプのシーンに重点を置いて議論します。それらを「全体的なベーシックインカムシーン」と「ガバナンスシーン」と呼ぶことにします。
! Vitalik:デジタルアイデンティティ+ ZKテクノロジーの下での複数のジレンマ
クラウドベーシックインカムのシナリオにおける身分証明の必要性
いわゆる「類全民基本収入シナリオ」とは、極めて広範な(理想的には全体)ユーザーグループに対して、支払い能力を考慮せずに一定量の資産またはサービスを配布するシナリオを指します。Worldcoinはまさにこの点を体系的に実践しています: World IDを持つ誰もが定期的に少量のWLDトークンを受け取ることができます。多くのトークンエアドロップも、より非公式な方法で類似の目標を実現しようとしており、少なくとも一部のトークンができるだけ多くのユーザーの手に渡ることを試みています。
私個人としては、このようなトークンの価値が個人の生活を維持するレベルに達するとは思いません。人工知能によって推進され、富の規模が現在の千倍に達する経済体では、このようなトークンが生活を維持する価値を持つかもしれませんが、そうであっても、少なくとも自然資源の富に支えられた政府主導のプロジェクトは、経済的な観点でより重要な地位を占めるでしょう。しかし、私はこのような「小型の国民基本所得」が実際に解決できる問題は、人々が基本的なオンチェーン取引やオンライン購入を完了するために十分な量の暗号通貨を得ることだと考えています。具体的には、次のようなことが含まれるかもしれません:
もし暗号通貨が世界中で広く採用されるなら、この問題は解消される。しかし、暗号通貨がまだ普及していない現状では、これは人々がブロックチェーン上の非金融アプリケーションや関連するオンライン商品サービスにアクセスする唯一の手段であり、さもなければ彼らはこれらのリソースに全く接触できない可能性がある。
さらに、類似の効果を実現する別の方法があります。それは「全員基本サービス」で、身分を持つすべての人に特定のアプリケーション内で限られた数の無料取引を送信する権限を提供するものです。この方法は、インセンティブメカニズムによりより適している可能性があり、資本効率も高くなります。なぜなら、この採用から恩恵を受けるアプリケーションは、非ユーザーのために支払うことなくこれを行うことができるからです。ただし、これは一定のトレードオフを伴い、普遍性が低下します。( ユーザーはこのプログラムに参加するアプリへのアクセス権を保証されるだけです。) それでも、ここではシステムがスパム攻撃を受けるのを防ぎ、排他性を生じさせないためのアイデンティティソリューションが必要です。この排他性は、ユーザーが特定の支払い方法で支払うことを要求されることから生じ、これらの支払い方法はすべての人が使用できるわけではありません。
最後に強調すべき重要なカテゴリーは「全民基本保証金」です。身分の機能についての