# ワールドID、zkPassport、EUDI: 人間であることを証明する

DeFiやオンチェーンの世界では、ボットやSybil攻撃と本物のユーザーを区別することが課題となっている。World ID、zkPassport、EUDIといったプロジェクトは、ゼロ知識証明を用いて個人情報を明かさずに人間性を証明する手段を提供しようとしている。

> Orb生体認証、NFCチップ、国家ウォレットはそれぞれ異なる方法で本人性を担保する。それぞれが異なる形で破綻し、エージェント委任はその破綻を引き継ぐ。

- Source: https://www.steadyrain.xyz/ja/articles/proof-of-personhood-agent-era-worldid/
- Publisher: Steady Rain
- Author: 0xYatha
- Published: 2026-08-31T04:25:07.632Z
- Categories: DeFi
- Language: ja

## はじめに

自律エージェントは秘密鍵を保持し、トランザクションに署名し、人間の介在なしに決済を完了できる。この部分はもう解決済みだ。解決していないのは、カウンターパーティが与信を伸ばしたり、レート制限を緩めたり、投票権を認めたりする前に本当に必要とする主張、つまりこのエージェントの背後に特定の責任ある人間が立っていること、そしてその同一人物が別の一万体のエージェントの背後にも立っていないことの証明である。

鍵のカストディはいくらでも規模を拡大できる。パーソンフッド（personhood、人格の一意性）はそうはいかない。一意性を主張するあらゆるクレデンシャルは、本質的に複製が困難な何かに根ざす必要があり、その候補となるルートはどれも暗号学的な対象ではなく、物理的または制度的な artifact である。現在、3つの陣営がこれを同時並行で構築しており、そのartifactが何であるべきかについて意見が一致していない。

Worldは、Orbというハードウェアを通じて160か国で約1,800万人を一意な人間として検証済みだと報告しており、full-stack proof of human と呼ぶプロトコルアップグレードを出荷した。専用のクレデンシャル管理アプリ、オープンソース化されたSDK、そしてTACEOの分散OPRFネットワークへ移管されたnullifier生成がその内容だ。ZKPassportは信頼をどこに置くべきかについて正反対の立場を取り、ICAO 9303準拠のパスポートや国民IDに埋め込まれたNFCチップを読み取り、それに関するゼロ知識証明をユーザーのスマートフォン上で完全に生成する。欧州連合は第三の答えを法制化しており、加盟各国に市民向けのデジタルアイデンティティウォレット提供を義務づけている。目標時期として一般的に挙げられるのは2026年12月だが、EU自身の技術ワーキンググループは、ウォレットがどのゼロ知識構成を採用すべきかまだ決めていない。

これらは1つの設計の3つの実装ではない。どの機関がユーザーを裏切る可能性が最も低いかについての、3つの異なる賭けであり、それぞれの賭けは異なる形で失敗しうる。この先へ進む前に情報源についての重要な留保を一つ述べておく。WorldがCoinbaseやCloudflareとx402上でエージェント決済に関する提携を結んだという報道が2026年3月頃に出たが、我々はその記事を取得できておらず、以下でその提携について触れる具体的な内容はすべて、確立された事実としてではなく未検証としてフラグを立てて扱う。

## パーソンフッド・クレデンシャルが必ずはまり込む三角形

パーソンフッド証明システムは3つの性質を満たす必要があり、それらは互いに引っ張り合っている。

**一意性（Uniqueness）**とは、あるサービスが2つの登録が同一人物によるものだと判別し、2回目を拒否できることを意味する。標準的な構成は**nullifier**だ。ユーザーのアイデンティティ秘密情報とスコープ識別子（通常は検証を行うアプリケーションのドメイン）から決定論的に導出される疑似乱数値である。同じ人物、同じアプリなら、同じnullifierになる。検証者はこの値を保存し、再び目にすれば、当人が誰であるかを一切知ることなく重複登録を拒否できる。

**リンク不能性（Unlinkability）**とは、情報を突き合わせた2つのサービスが、それが同一人物を見ていると判別できないことを意味する。これはnullifier関数がそのスコープの外では予測不能である場合にのみ成り立ち、アプリAのnullifierがアプリBのnullifierについて何も明かさないことを要求する。さらに、より難しい第二の形態がある。クレデンシャルを発行した主体自身が、野に放たれた自分のユーザーを認識できてはならない、というものだ。サードパーティに対するリンク不能性と発行者に対するリンク不能性は別個の性質であり、多くのシステムは前者を満たしながら後者を静かに満たしていない。

**リカバリー可能性（Recoverability）**は過小評価されがちな性質だ。クレデンシャルが単なる秘密鍵に過ぎないなら、スマートフォンを紛失することはパーソンフッドを失うことを意味し、再登録はsybil攻撃の試みと見分けがつかなくなってしまう。したがってアンカーは、ユーザーが再提示できる何か、虹彩、パスポート、政府の登録記録でなければならない。この要件こそが、アンカーを物理的または制度的な対象にしている当のものであり、これらのシステムについて興味深い問いが楕円曲線ではなくハードウェアのサプライチェーンや発行機関に関する問いになる理由でもある。

3つの性質は互いを制約する。生体情報の決定論的な関数は一意性とリカバリー可能性を与えるが、それを計算する主体に相関を突き止める力を渡してしまう。一度限り使用のnullifierは強いリンク不能性を与えるが、検証者が不正行為者を失効させるために必要な安定したハンドルを取り除いてしまう。国家発行は最強のリカバリー可能性を与えるが、発行者に対するリンク不能性は最弱になる。以下で見るものはすべて、この三角形の内部でどう座を占めるかについてのバリエーションである。

## 一意性のオラクルとしてのOrb

*[Figure: img1]*

Worldのアプローチは一意性を測定の問題として扱う。Orbはユーザーの目と顔を撮影し、それらの画像からコードを導出し、コードと写真をユーザー自身の端末に送信したうえで、Worldの説明によれば、ハードウェア側からは削除する。端末はこのコードを断片に分割し、一連のAMPCノードに送信する。これらのノードが協調して、この人間がこれまでに登録済みかどうかを判定する。重複排除は秘密分散されたデータ上で行われるため、単一のノードが外部データベースと照合できるような生体テンプレートを保持することはない。

このアーキテクチャは、多くの人がまず思いつく異議、つまりある企業がグローバルな虹彩データベースを構築しているのではという疑念には答えている。だがより重要な異議には答えていない。ユーザーは削除が実際に行われたかどうかを観測できない。シャッターが切られた瞬間からコードがスマートフォンに届く瞬間まで、すべてはユーザーが構築しておらず検査もできず、せいぜい30秒ほど目の前に立つだけのシールドされたデバイスの内部で起こる。削除前に画像を保持する改造版・偽造版のOrbは、ユーザーの立場からは正規品と見分けがつかないだろう。World自身の発表は独立監査ではなく企業ブログであり、我々が持つ資料には、AMPCによる重複排除システム、nullifierの導出、ハードウェアのアテステーションチェーンについてのサードパーティによるセキュリティレビューは含まれていない。

とはいえ4.0アップグレードは実質的な変化をもたらしている。nullifier生成は**TACEOのOPRFネットワーク**に移管された。これは複数の独立ノードが協調して証明を生成し、単一の主体が証明生成を制御できない分散型のプライベート実行レイヤーである。Worldはその結果得られる性質を oblivious pseudonymous recognition（忘却的な仮名認識）と呼んでいる。一度限り使用のnullifierへの移行と組み合わさることで、信頼の問いの形が変わる。もはや「Worldが私のセッションを紐づける値を保持しているかどうか」ではなく「OPRFノードの一定割合が結託してそれを再計算できるかどうか」だ。これらは本当に異なる前提であり、後者のほうが優れている。しかし、どれだけ優れているかを決める数値、すなわち正直なノードの閾値やノード集合の構成は、我々の手元の資料には登場しない。それが明らかになるまで、分散化の主張は方向性の話であって定量化されたものではない。

一度限り使用のnullifierはまた、状態がどこに存在するかについて何かを含意している。検証者が受け取る値が提示のたびに新しいものであれば、検証者は既に見た値との比較によって重複を検出できない。重複検出は、当人が誰かを知ることなく再来ユーザーを認識できるレイヤーに委任されなければならず、oblivious recognitionというフレーミングはOPRFネットワークがまさにそれを行っていることを示唆している。ただしこれは記述されたアーキテクチャからの推論であって文書化されたメカニズムではない。そしてこれは重要な点だ。というのも、OPRFネットワークが単なる証明生成器ではなく、可用性（liveness）に対する依存先になることを意味するからだ。それが止まれば、認識も止まる。

任意のアプリケーションがWorld IDの認証者として振る舞えるようSDKをオープンソース化したことは、統合面を広げ、開発者によるクライアントの監査を可能にする。だがOrbのファームウェアとノード集合はそのままの状態で残される。スタックの中で最も議論の余地が少なかった部分が、最も検証可能な部分になっただけだ。

エージェント向けの機能である**AgentKit**は、AIエージェントの背後に一意で検証済みの人間が立っていることを証明するメカニズムとして位置づけられている。Worldはその能力を主張している。我々の手元の資料は暗号学的な紐づけの仕組みを説明しておらず、なぜこのギャップが重要なのかについては後述する。

## 目ではなくチップを読む

*[Figure: img2]*

**ZKPassport**はアンカーを、政府が既に発行済みの書類へと移す。ユーザーはICAO 9303準拠のパスポート、国民ID、在留許可証にスマートフォンをかざし、アプリがNFCチップを読み取り、Noir回路が端末上でゼロ知識証明を生成する。証明とユーザーが明示的に開示を選んだ情報以外、何も端末から出ていかない。閾値以上の年齢であることを生年月日を明かさずに証明し、国籍を氏名を明かさずに証明する、といった具合だ。

識別子の構成が興味深い設計上の焦点になっている。ZKPassportは、チップデータと検証対象のドメイン、スコープ値をPoseidon2でハッシュすることで一意な識別子を導出する。結果はサービスごとに安定し、サービス間では異なる値になるため、構成上サードパーティに対するリンク不能性が保証される。だが発行者に対するリンク不能性は保証されず、プロジェクト自身のFAQもそう認めている。あるチップに署名したデータの記録を保持している政府は、ドメインとスコープが公開情報である以上、その識別子を再計算し、氏名のある市民に紐づけることができる。デフォルト設定では、提示情報はまさに悪用に最も適した立場の当事者を除く全員に対してのみリンク不能となる。

文書化されている対策は、検証可能なOPRFに基づくソルト付き識別子モードで、発行者が決して目にすることのない秘密値を導出過程に注入する。これは機能する。ただしオプションとして提示されており、システム内で最も影響の大きいプライバシー上の判断が、フローを構築する統合者側に委ねられてしまう。本番デプロイがソルト付き識別子をデフォルトにしているのか、それとも未使用のまま済ませているのかは我々には判断できず、これは国家による相関攻撃に耐えるクレデンシャルとそうでないクレデンシャルの違いを分ける決定的な差である。

暗号学の下にはもう1つの依存関係が横たわっている。署名済みのチップデータセットは、国家機関がそれらの属性を保証したことを証明するのみで、提示している当人がその書類に記載された本人であることは証明しない。ZKPassportの答えはPrivate Facematchだ。複数アングルのセルフィーをチップに保存された写真とローカルで照合する。これを実行するにはGoogle Play IntegrityまたはApple App Attestationによるデバイスアテステーションが必要で、rootを取ったデバイス、jailbreakされたデバイス、GrapheneOS、サポート外の署名方式を使うデバイスでは実行を拒否する。証明システム自体はトラストミニマイズされているのに、生きた顔を書類に結びつける肝心のチェックは2つのプラットフォームベンダーに外注されており、自己主権に最も関心を持つはずのユーザーこそが締め出されている。

同じ緊張関係はアプリのフットプリントにも現れている。アプリサイズは400MBを超え、うち128MBはAztecのトラステッドセットアップから生成された、最大2^21のサブグループサイズの回路をサポートする構造化参照文字列（SRS）であり、180MBは顔照合用のローカル機械学習モデルである。このSRSはzkPassportの健全性をAztecのセレモニーに結びつけている。トピックブリーフではzkPassportがAztecに買収されたこと、証明システムがUltraHonkであることが述べられているが、我々が取得した文書にはこれらの詳細は一切登場しないため、いずれも未確認として扱うべきである。

未解決の問題はチップのリプレイだ。攻撃者が他人のチップから署名済みデータのコピーを、クローンによってであれ正規の読み取り中の抽出によってであれ入手できれば、回路が消費するすべてを手に入れることになる。我々の手元の文書には、zkPassportが書類自体の認証プロトコルを通じてチップにライブネス（生存証明）を要求しているのか、それともFacematchがその負荷を単独で担う設計になっているのかは明記されていない。もし後者であれば、システム全体のなりすまし耐性は、プラットフォームがアテストする顔認証チェックに丸ごと依存することになり、分析は再びGoogleとAppleに帰着する。

## ブリュッセルはリンク不能性の意味を決めていない

*[Figure: img3]*

EUはウォレットを法制化し、暗号方式は未決定のまま残した。加盟国は2026年末までに市民にEUDIウォレットを提供することが期待されている。この日付は我々が取得した技術資料ではなくトピックブリーフからのものだ。一方でArchitecture and Reference Frameworkワーキンググループは2025年2月にゼロ知識証明統合に関する議論スレッドを開いたが、そのスレッドを見る限り、参加者は定義について議論しているだけで、方式の収束には至っていない。

実質的な対立軸は**BBS+**と汎用のSNARKないしSTARK構成の間にある。議論の一部は分類学的なものだ。BBS+がそもそも本物の非対話型ゼロ知識証明システムに数えられるのか、という問いである。議論の中で示された整理は、BBS+は属性集合に対する署名の知識証明を効率的なSchnorr型で行える署名方式であり、Fiat-Shamir変換によって非対話化されたものであって、これはECDSAのような通常の署名についての言明を証明するSNARK回路とは別物だ、というものである。ある参加者は、EUDIの文脈では「ZKP」という語がしばしば口語的に前者を指して使われていると指摘している。BBS+の標準化はIETFを通じて進められており、Tessaro-Zhuの研究を基盤として参照している。

分類論自体はさほど面白くない。興味深いのはデプロイ上の帰結だ。BBS+では発行者がBBS+形式でクレデンシャルに署名する必要があり、これはつまり、EU全域のあらゆる省庁、レジストリ、認定発行者が、市民が一人でもリンク不能な提示を得られるようになる前に、新しい暗号方式を採用しなければならないことを意味する。SNARKアプローチでは発行者は既存のアルゴリズムでの署名をそのまま続けられ、すべての作業がウォレット側に押し付けられる代わりに、証明コストが桁違いに高くなる。

さらにハードウェアの問題もある。ARFはZKP統合をウォレットのセキュアな暗号デバイスおよびアプリケーション、WSCDとWSCAに結びつけている。クレデンシャル鍵が認証済みのセキュアエレメント内に留まらなければならないなら、証明はそのエレメント内部で実行されるか、あるいはエレメントが小さな操作だけを行いホスト側が残りを処理する形に分割される。認証済みのセキュアエレメントはSNARK proverを実行できない。実行できるのはSchnorr型のレスポンスだ。つまり認証制度そのものが、プライバシー論とは無関係にBBS+へと向かう圧力をかけているのであり、欧州市民が最終的に手にするリンク不能性の性質は、監視リスクについてワーキンググループが下した結論ではなく、スマートカードに何が収まるかによって決まる可能性がある。

このスレッドはまた、ゼロ知識証明が無視できるほど小さいが非ゼロの健全性エラー、おおよそ2^-100を持つことの確認にも時間を割いている。これは標準的な暗号学的慣行であってEUDI固有の弱点ではない。それをワーキンググループのスレッドで改めて確認する必要があったという事実自体が、2026年の提供期限に対して2025年初頭時点でプロセスがどの位置にあったかを物語る材料として妥当だろう。我々が取得した資料の中には、いずれの方向であれ最終決定がなされた証拠は見つからず、方式の選択が既に確定していると扱うのは誤りだろう。

## 起こりうるのは確率ではなく被害範囲

*[Figure: img4]*

有用な比較は、どのシステムが最も破りにくいかではない。破られた後に何が起こるか、つまり何件のクレデンシャルが影響を受けるか、誰かがそれに気づくか、そして誰が修復する権限を持つかである。

| | World ID | zkPassport | EUDIウォレット |
|---|---|---|---|
| アンカー | Orbハードウェアと虹彩の一意性 | 国家機関が署名したICAO 9303チップ | 認定ウォレットへの国家によるクレデンシャル発行 |
| 偽造に必要なもの | Orbハードウェアの侵害、またはAMPC重複排除の突破 | 署名済みチップデータセット、および顔認証チェックの突破 | 発行者の侵害、またはクレデンシャル鍵の抽出 |
| 発行者側の相関 | OPRFノードの結託閾値に依存、未公開 | デフォルトで可能、ソルト付きモードを使う場合のみ防止 | 未解決の方式選択に依存 |
| 侵害の分割単位 | 個々のOrb端末、単一運営者の下 | 発行国 | 加盟国だが、採用は義務化されている |
| 修復権限を持つ主体 | Tools for Humanity、単独で | 発行国、独自のタイムラインで | 発行国 |
| 障害の可視性 | アテステーションログが保持されていれば検出可能 | 偽造書類が表面化すれば検出可能 | 相関は静かに進行し検出されない |

分割単位の行を見ると、実際の差が浮かび上がる。zkPassportの侵害は発行機関によって自然に境界づけられる。ある国の書類署名インフラが漏洩すれば、その国発行のすべてのクレデンシャルが疑わしくなり、検証者は発行者ベースでブロックリストに載せられる一方、それ以外の世界は動作を続けられる。単一の事象がグローバルにアンカーを無効化することはない。そもそもアンカーがグローバルではなかったからだ。この耐性の代償は、プロトコル自体には修復権限が一切ないことだ。国家が鍵をローテーションするのを待つしかない。

Worldの分割単位はある意味で細かく、別の意味で粗い。侵害されたOrbが影響を及ぼすのは、それが登録したコホートに限られ、それは有界であり原理的には対処可能だ。その端末による検証を無効化し、該当ユーザーを再スキャンすればよい。単一の運営者がパイプライン全体を制御し、誰の承認も待たずに動ける。より粗い障害は一意性関数そのものが破られること、すなわち1人の人間から2つの承認済み登録を生成する手法が現れることだ。この場合、失効させるべき不正な端末が存在しないため失効措置は役に立たず、運営者はシステム全体が存在する目的そのものである性質を修復しなければならなくなる。

EUDIモデルは、暗号強度とは無関係な理由で、最も優雅さを欠いた形で劣化する。その主要な障害モードは偽造ではなく相関であり、相関は痕跡を残さない。発行者によって提示情報を紐づけられているユーザーが観測するものは、完璧なリンク不能性を持つユーザーが観測するものと全く同じだ。検出すべき異常もなく、表面化する偽造書類もなく、要求すべき修復もない。そしてウォレットの提供は選択制ではなく義務であるため、競争による退出の余地もない。国家がいつでも再発行できるという意味で最強のリカバリー可能性を持つこのシステムこそが、自らの障害を明らかにする能力が最も弱いのである。

だがカバレッジの観点は逆の方向に働き、この結論を割り引いて考える必要がある。書類ベースのモデルは近代的な電子身分証明書を持つ人々にしか奉仕できず、デバイスアテステーションの要件がそれをさらに絞り込む。Orbによる検証は、パスポートベースの方式が到底届かない人口層にリーチできる。報告されている1,800万人が160か国にまたがっている理由の一端はここにある。優雅な劣化は、誰かが実際に到達できるアンカーに備わる性質だ。

## 保証が消費される瞬間

*[Figure: img5]*

どのアンカーを使うシステムであれ、保証は人間がエージェントに委任する瞬間に消費される。そしてそこが情報が最も薄い箇所でもある。WorldはWorld IDとAgentKitを、エージェントを検証済みの人間に結びつけるメカニズムとして位置づけている。我々が取得した資料には、その結びつけがどう構成されているのか、1人あたりのエージェント数に上限が課されているのか、エージェントごとの説明責任がどう維持されるのかについての記述が一切ない。このギャップは重要だ。というのも、設計空間には悪い袋小路と、その間を通る狭い一本道しか存在しないからだ。

エージェントが本人と同じスコープ束縛のnullifierを提示するなら、あるサービスは人間1人につき1つのアイデンティティしか見ないことになる。一意性は完璧に転写されるが、マルチエージェント運用は成立しなくなる。サービス側は本人の複数のエージェントを区別できず、個別にレート制限をかけることもできないからだ。

逆にエージェントが、何らかの検証済み人間がその背後にいるとだけ主張する新規のリンク不能な値を提示するなら、エージェントの数は無制限になる。パーソンフッド証明は「上流のどこかに少なくとも1人の人間が存在する」という証明に転換されてしまい、それは希少な主張ではなくなる。Orbやパスポートチップが確立したあらゆる性質は、最初の委任の瞬間に使い果たされてしまう。

この2つの間の道筋は、上限付き導出だ。エージェントのnullifierを、本人のアイデンティティ秘密情報、サービスのスコープ、インデックスの関数として構成し、そのインデックスが値を明かすことなくある上限以下であることを回路が証明する、というものだ。これには人間・スコープ・インデックスの組み合わせにまたがるステートフルな重複検出が必要であり、これはまさにOPRFネットワークが提供しうるoblivious recognitionそのものだ。設計としては筋が通っている。だが、それが実装されているという証拠は我々の手元にはない。

上限付き設計をもってしても解消しない緊張がさらに2つ残る。第一に、一意性が実用的な防御として機能するのは、検証者がエージェント単位ではなく人間単位で制限を定めている場合に限られる。複数のエージェントにまたがって人間単位の予算を強制するには、検証者は自らのスコープ内でそれらのエージェントを本人ごとにグループ化できなければならない。これはリンク不能性の意図的な後退であり、説明責任の代償として受け入れられているものであって、暗黙のうちに生まれるものではなく明示的なプロトコル上の決定であるべきだ。

第二に、失効は一度限り使用のnullifierと真っ向から対立する。不正行為を働くエージェントをブロックするには、ブロック対象となる安定したハンドルが必要だが、提示のたびに新しくなる値はそれを提供しない。失効の権限を認識レイヤー内部に置けばOPRFネットワークへの権力集中を招き、検証者が自前でリンク可能なスコープごとの状態を保持し続ければ、新規の値を導入した目的であったプライバシーが損なわれる。リンク不能性の改善と説明責任の要件は、同じ綱を逆方向に引っ張り合っている。

## これらの問いを解決するために必要なもの

分析を変えうる具体的な開示事項は、狭く特定できるものだ。Worldについては、TACEO OPRFネットワークの正直ノード閾値とメンバー構成、企業ブログではなくAMPC重複排除とnullifier導出の独立監査、そしてTACEOがサービスを停止した場合に認識と復旧がどうなるかについての説明である。オープンソース化されたSDKは監査可能な範囲の実質的な改善だが、これら3点のどれにも触れていない。

zkPassportについては、ソルト付きvOPRF識別子が本番統合でデフォルトなのか、それともほとんどのデプロイがスキップするオプトインなのか、そしてプロトコルがチップのライブネスを要求しているのか、それともなりすまし耐性をまるごとGoogleとAppleのアテステーションでゲートされた顔認証チェックに委ねているのか、である。報道が正確であれば、Aztecによる買収は証明スタックとSRS、アプリケーションを1つの傘の下に集約することを意味し、これはAztecに属さない当事者による回路の監査可能性に何をもたらすかという点で重要だ。

EUについては、ARFワーキンググループが2025年2月以降にBBS+の問題を決着させたか、決着させたならその結論がリンク不能性の分析から導かれたのか、それとも認証済みのセキュアな暗号デバイスが実行できることから導かれたのかである。もし後者であれば、加盟国は法定期限に押されて、ハードウェアの制約によって選ばれたプライバシー特性を、数億の人々に対して出荷したことになる。

これら3組の問いを併せて追いかける価値があるのは、エージェント決済のレールがそのどれも待ってくれないからだ。決済インフラは今まさに、その障害モードが主に構築したベンダー自身によってしか文書化されていないパーソンフッド・クレデンシャルの上に築かれつつあり、最初の本格的な試練は暗号学的な破綻ではないだろう。ある検証者が、自分たちの人間単位のレート制限が実はずっとエージェント単位のレート制限だったと気づく瞬間がそれになる。

## 参考文献

- [World, full-stack proof of human announcement](https://world.org/blog/announcements/world-id-full-stack-proof-of-human)
- [ZKPassport documentation FAQ](https://docs.zkpassport.id/faq)
- [EUDI Wallet ARF discussion, Topic G: Zero Knowledge Proof](https://github.com/eu-digital-identity-wallet/eudi-doc-architecture-and-reference-framework/discussions/408)
