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