
Vitalik:デジタルIDにZK技術を採用すれば、リスクはなくなるのか?
TechFlow厳選深潮セレクト

Vitalik:デジタルIDにZK技術を採用すれば、リスクはなくなるのか?
ゼロ知識証明ラッピング(ZK-wrapping)は、多くの重要な問題を解決する。
執筆:Vitalik Buterin
翻訳:Saoirse、Foresight News
現在、デジタルIDシステムにおいてゼロ知識証明(ZKP)を用いてプライバシーを保護する取り組みは、ある程度主流になりつつある。さまざまな「ZKパスポート」プロジェクト(ゼロ知識証明技術に基づくデジタルIDプロジェクト)が、ユーザーにとって使いやすいソフトウェアパッケージを開発しており、これによりユーザーは自身の身元に関する詳細を一切開示せずに、有効な身分を持っていることを証明できるようになっている。生体認証による検証とゼロ知識証明によるプライバシー保護を組み合わせたWorld ID(旧称Worldcoin)の利用者は最近1000万人を超えた。台湾地区の政府主導のデジタルIDプロジェクトもゼロ知識証明を採用しており、EUもデジタルID分野での作業においてゼロ知識証明に注目している。
表面的には、ゼロ知識証明ベースのIDの広範な採用は、d/acc(注:Vitalikが2023年に提唱した概念で、暗号やブロックチェーンなどの技術ツールを通じて非中央集権的な技術発展を推進しつつ、技術進歩の加速と潜在的リスクの防御を両立させ、技術革新とセキュリティ・プライバシー・人間の自律性のバランスを取ろうとする中間的アプローチ)の大きな勝利のように見える。これは、プライバシーを犠牲にすることなく、ソーシャルメディアや投票システム、その他のインターネットサービスをシビル攻撃やボット操作から守ることができるからだ。しかし、本当にそれほど単純なのだろうか? ゼロ知識証明ベースのIDにはまだリスクが残っているのではないだろうか? 本稿では以下の点を明らかにする。
-
ゼロ知識ラッピング(ZK-wrapping)は多くの重要な問題を解決している。
-
ゼロ知識証明型のIDにも依然としてリスクがある。これらのリスクは生体認証かパスポートかという違いよりも、「一人一ID」という性質を厳密に維持しようとするところに由来しており、大部分のリスク(プライバシー漏洩、強制への脆弱性、システムエラーなど)はこの点に起因している。
-
もう一つの極端なアプローチである「富の証明(Proof of wealth)」によるシビル攻撃対策は、多くの応用場面では不十分であり、そのため何らかの「IDに似たもの」の解決策が必要になる。
-
理論上の理想状態はその中間にあり、N個のIDを得るコストがN²となることである。
-
この理想状態は実際には達成が難しいが、「多元的ID(Pluralistic identity)」という現実的な代替案がそれに近づけるため、最も現実的な解決策である。多元的IDは明示的(例:ソーシャルグラフに基づくID)でもよいし、暗黙的(複数種類のZK-IDが共存し、いずれも市場シェアがほぼ100%にならない状態)でもよい。
ゼロ知識証明型IDはどう機能するのか?
例えば、眼球スキャンによってWorld IDを取得したり、スマートフォンのNFCリーダーでパスポートを読み取り、ZKパスポートに基づくIDを取得したと想像してほしい。本稿の議論において、これら二つの方法は本質的に同じ特性を持つ(多重国籍など少数の境界事例を除けば)。
あなたのスマートフォン上には秘密値sがあり、ブロックチェーン上のグローバル登録簿には公開ハッシュ値H(s)がある。アプリにログインするとき、あなたはアプリ固有のユーザーID H(s, app_name) を生成し、ゼロ知識証明を使って、このIDが登録簿上のいずれかの公開ハッシュ値と同じ秘密値sから派生していることを証明する。こうすることで、各公開ハッシュ値は各アプリに対して1つのIDしか生成できないが、どのアプリ固有IDがどの公開ハッシュに対応するかは一切明らかにならない。

実際の設計はもう少し複雑である可能性がある。World IDでは、アプリ固有のIDは実際にはアプリIDとセッションIDを含むハッシュ値であり、これにより同一アプリ内でも異なる操作が相互にリンクされないようになっている。ZKパスポート型の設計も同様の方式で構築可能である。
このようなID形式の欠点について議論する前に、まずその利点を認識しなければならない。ゼロ知識証明ID(ZKID)というニッチな領域の外では、身元確認を必要とするサービスに対して自分であることを証明するために、法的身分のすべてを明らかにせざるを得ないのが現状である。これはコンピュータセキュリティにおける「最小権限原則」(プロセスはタスク遂行に必要な最小限の情報と権限のみを持つべき)を深刻に侵害している。サービス側は「あなたがボットではない」「18歳以上である」「特定の国出身である」ことを知る必要があるだけだが、実際にはあなたの完全な身分情報を得ている。
現時点で可能な最良の改善策は、電話番号やクレジットカード番号といった間接的なトークンを使用することである。この場合、電話/クレジットカード番号とアプリ内活動の関連を知る主体と、その番号と法的身分の関連を知る主体(企業または銀行)は分離されている。しかし、この分離は非常に脆い:電話番号をはじめとする各種情報はいつでも漏洩する可能性がある。
一方、ゼロ知識ラッピング(ZK-wrapping:ゼロ知識証明を利用してユーザーの身分プライバシーを保護し、機微情報を開示せずに身分を証明できるようにする技術)により、上記の問題の多くは大きく緩和される。しかし次に議論するのはあまり言及されていない点である:いくつかの問題は未解決であるばかりか、むしろ「一人一ID」という厳格な制約によって悪化している可能性さえある。
ゼロ知識証明自体は匿名性を保証しない
ゼロ知識証明ID(ZK-identity)プラットフォームが完全に期待通りに動作し、上記のすべての論理を忠実に再現しており、非技術者ユーザーの秘密情報を中央集権機関に依存せず長期的に保護する方法も見つかっていると仮定しよう。同時に、現実に即した前提として、アプリケーション側は積極的にプライバシー保護に協力せず、「ユーザー利便性の最大化」と称して、実際には自らの政治的・商業的利益に偏った「実用主義的」な設計を採用すると考える。
このような状況下では、ソーシャルメディアアプリは頻繁なセッション鍵のローテーションのような複雑な設計ではなく、各ユーザーに一意のアプリ固有IDを割り当てることになる。また、IDシステムが「一人一ID」ルールに従っているため、ユーザーは1つのアカウントしか持てない(これは現在の「弱いID(weak ID)」、例えばGoogleアカウントとは対照的であり、普通の人は簡単に約5つ作れる)。現実世界では、匿名性は通常複数のアカウントによって実現される:「通常の身分」用、およびさまざまな匿名身分用(参考:「finsta and rinsta」)。したがって、このモデルでは、ユーザーが実際に得られる匿名性は現在よりも低くなる可能性がある。つまり、ゼロ知識証明でラップされた「一人一ID」システムであっても、すべての活動が単一の公開身分に紐付けられなければならない世界へと徐々に向かっている可能性がある。ドローン監視などが進むリスクが高まる時代において、人々が匿名性を通じて自己を守る選択肢を奪われることは、深刻な悪影響をもたらす。
ゼロ知識証明自体は強制からの保護にならない
秘密値sを公開しなくても、誰もあなたのアカウント間の公開関連を見ることはできなくても、もし誰かがあなたに強制的に開示を要求したらどうなるか? 政府は秘密値の開示を義務付け、すべての活動を閲覧できるようにするかもしれない。これは空論ではない:アメリカ政府は既にビザ申請者に対してソーシャルメディアアカウントの開示を求め始めている。また、雇用主が完全な公開情報の開示を雇用条件にすることも容易である。さらに、個別のアプリが技術的に、他のアプリでの身分情報を開示しない限り登録を許可しないように設計することも可能である(「Appでログイン」はデフォルトでこれを実行している)。

同様に、このような状況ではゼロ知識証明の特性の価値は全く意味をなさず、「一人一アカウント」という新しい特性の欠点だけが残る。
強制リスクを軽減するための設計改善は可能である:例えば、各アプリ固有IDをマルチパーティ計算(MPC)で生成し、ユーザーとサービス提供者が共同で参加するようにする。これにより、アプリ運営者の協力なしにはユーザーがそのアプリ内での専用IDを証明できなくなる。これにより他人に完全な身分情報を強要する難易度は上がるが、完全に排除することはできず、さらにこの方式には別の欠点もある:アプリ開発者が常時アクティブな存在でなければならず、受動的なオンチェーンスマートコントラクト(継続的な介入を必要としない)のようにはいかない。
ゼロ知識証明自体は非プライバシー系リスクを解決できない
すべての身分形態には境界事例が存在する:
-
政府発行の身分(Government-rooted ID)、パスポートを含むものは、無国籍者をカバーできず、まだそのような証明書を持っていない人々も含まれない。
-
一方で、このような政府ベースの身分制度は、複数国籍を持つ者に特権を与える。
-
パスポート発行機関がハッキングされ、敵対国諜報機関が何百万もの偽の身分を捏造する可能性がある(例えば、ロシア式の「ゲリラ選挙」が流行すれば、偽の身分を使って選挙を操作する可能性がある)。
-
傷病により関連する生体特徴が損傷した人々にとっては、生体認証身分は完全に無効になる。
-
生体認証身分は模倣品に騙される可能性が高い。生体認証身分の価値が非常に高くなれば、人身売買のように人体器官を育てて「量産」する者さえ現れるかもしれない。
これらの境界事例は、「一人一ID」という性質を維持しようとするシステムで最も害が大きく、しかもこれらはプライバシーとは無関係である。したがって、ゼロ知識証明では何もできない。
「富の証明」に頼るシビル対策は不十分であり、したがって何らかの身分体系が必要である
純粋なサイファーパンクのコミュニティでは、あらゆる種類の身分システムを構築する代わりに、「富の証明」に完全に依存してシビル攻撃を防ぐことがよく提案される。各アカウントに一定のコストを課すことで、多数のアカウントを作成するのが難しくなる。インターネット上にはすでに先例があり、Somethingawfulフォーラムではアカウント登録に10ドルの一回限りの支払いを要求しており、アカウントが停止された場合この費用は返金されない。しかし、これは実際には真の暗号経済モデルではない。なぜなら、新しいアカウントを作る最大の障壁は10ドルを再び支払うことではなく、新しいクレジットカードを入手することだからである。
理論的には、支払いに条件を付けることもできる:アカウント登録時に資金をステーキングし、アカウントが停止された極めてまれな場合にのみ損失が発生するようにする。理論的には、これにより攻撃コストを大幅に引き上げることができる。
この方式は多くのシーンで有効だが、特定のタイプのシーンではまったく機能しない。ここでは二つのタイプのシーンに焦点を当てたい。「UBI-like(普遍的基本所得類似)」と「governance-like(ガバナンス類似)」と呼ぼう。
UBI-likeシーンにおける身分の必要性
「UBI-like」とは、非常に広範囲(理想的には全人類)のユーザー群に一定量の資産またはサービスを配布し、その支払い能力を問わないシナリオを指す。Worldcoinはこれを体系的に実践している:World IDを持つすべての人が定期的に少量のWLDトークンを受け取る。多くのトークンエアドロップも、より非公式な形で同様の目標を達成しようとしており、少なくとも一部のトークンをできるだけ多くのユーザーに届けようとしている。
個人的には、こうしたトークンの価値が個人の生活を支えるレベルに達するとは思わない。AI駆動で現在の千倍の規模の経済になった場合、こうしたトークンは生活維持の価値を持つかもしれない。しかし、それでも天然資源の富を背景に持つ政府主導のプロジェクトが経済的により重要になるだろう。とはいえ、私はこうした「ミニUBI(mini-UBIs)」が実際に解決できる問題は、基礎的なオンチェーン取引やオンライン購入を行うのに十分な量の暗号通貨を人々に与えることだと考えている。具体的には以下のような用途が考えられる:
-
ENS名の取得
-
ゼロ知識証明IDの初期化のためにオンチェーンにハッシュを投稿
-
ソーシャルメディアプラットフォームの料金支払い
暗号通貨が世界的に広く採用されれば、この問題は解消される。しかし、まだ普及していない現状では、これが人々がオンチェーン非金融アプリや関連オンライン商品サービスにアクセスする唯一の手段であり、そうでなければ完全にこれらのリソースに触れられない可能性がある。
他にも同様の効果を実現する方法として、「普遍的基本サービス(universal basic services)」がある:身分を持つすべての人に対して、特定アプリ内で一定数の無料トランザクションを送信できる権限を与える。これはインセンティブ的により適切で、資本効率も高いかもしれない。なぜなら、この採用の恩恵を受ける各アプリケーションが、非ユーザーに支払うことなくこれを行うことができるからだ。ただし、汎用性が低下するというトレードオフもあり、ユーザーはその計画に参加するアプリへのアクセスしか保証されない。それでもなお、このようなシナリオでは、スパム攻撃からシステムを守りつつ、排他性を回避するための身分ソリューションが必要である。この排他性とは、誰もが使えるとは限らない支払い方法を要求することに起因する。
最後に強調すべきもう一つの重要なカテゴリーは、「普遍的基本保証金(universal basic security deposit)」である。身分の機能の一つは、インセンティブ規模に匹敵する資金をステーキングすることなく、責任追及の対象を提供することである。これは、個人の資本量に対する参加ハードルを下げること(あるいは全く不要にすること)にも貢献する。
Governance-likeシーンにおける身分の必要性
投票システム(例:ソーシャルメディアプラットフォームでのいいねやリツイート)を考えてみよう:ユーザーAのリソースがユーザーBの10倍であれば、Aの投票権もBの10倍になる。しかし、経済的視点では、1単位の投票権がAにもたらす利益はBの10倍である(Aの規模が大きいため、どの決定も経済的により大きな影響を受ける)。したがって、全体として、Aの投票がA自身にもたらす利益は、Bの投票がB自身にもたらす利益の100倍になる。そのため、Aは自分の目標を最大化するために、投票にずっと多くの精力を費やすことになり、どのように投票すればよいかを研究したり、アルゴリズムを戦略的に操作したりする可能性がある。これがトークン投票メカニズムにおいて「ホエール(巨鯨)」が過剰な影響力を得る根本的な理由である。

より一般的かつ深い理由として、ガバナンスシステムは「1人が10万ドルを持つ」と「1000人が合計10万ドルを持つ」ことを同等に扱うべきではない。後者は1000人の独立した個人を表しており、小規模な情報の単純な繰り返しではなく、より豊かな価値ある情報を含んでいる。1000人からの信号はまた、異なる個人の意見が相殺しあうため、より「穏やか」であることが多い。

これは正式な投票システムだけでなく、「人々が公に発言することで文化進化に参加する能力」といった「非公式投票システム」にも適用される。
これはつまり、ガバナンス類似システムは、資金源に関わらず同じ規模の資金束を平等に扱うというアプローチに満足しないはずだということを示している。システムは、これらの資金束の内部調整度合いを理解する必要がある。
注意すべきは、私が上述の二つのシーン(UBI-likeとgovernance-like)について述べた枠組みに同意するならば、技術的に言えば「1人1票」という明確なルールの必要性はもはや存在しないということだ。
-
UBI-like用途では、本当に必要なのは最初の身分が無料で、取得可能な身分数に制限があること。攻撃しても意味がなくなるほど、追加の身分を得るコストを高く設定すれば、制限は達成される。
-
Governance-like用途では、核心的な要件は、あなたが接触しているこの資金束が、単一の操作主体によって制御されているのか、それとも何らかの「自然発生的」で調整度が低いグループに属しているのかを、何らかの間接的な指標で判断できることである。
どちらのシーンでも、身分は依然として非常に有用だが、「一人一ID」といった厳格なルールに従う必要はもはやない。
理論上の理想状態:N個の身分を得るコストはN²であること
上記の議論から、IDシステムにおいて複数の身分を取得する難易度を制限する二つの相反する圧力が見えてくる:
まず、「簡単に取得できる身分数」に明確な硬直的な上限を設けてはならない。1人1身分しかない場合、匿名性は成立せず、身分を強制的に開示されるリスクがある。実際、1より大きい固定数ですらリスクがある:全員が5つの身分を持つことが分かっていれば、5つすべてを強制的に開示させられるかもしれない。
これを支持するもう一つの理由は、匿名性自体が脆いため、十分な安全マージン(バッファー)が必要だということである。現代のAIツールを使えば、プラットフォーム横断的にユーザー行動を関連付けるのは非常に簡単になり、語彙の使い方、投稿時間、投稿間隔、話題など公開情報だけで、わずか33ビットの情報で個人を正確に特定できる。AIツールで防御することも可能である(例えば、私は匿名で投稿する際、フランス語で書いてからローカルで実行する大規模言語モデルで英語に翻訳することがある)が、それでも一度のミスで匿名性が完全に崩壊することを望まない。
次に、身分を完全に財務に結びつけてはならない(つまり、N個の身分を得るコストがNとなる)。そうすると、大規模な主体が容易に過大な影響力を得てしまい(結果として小規模主体が完全に声を失う)、Twitter Blueの新メカニズムがそれを示している:月額8ドルの認証料は低すぎて、乱用を実質的に抑制できず、今ではユーザーはこの認証マークをほとんど無視している。
さらに、資源量がN倍の主体が、N倍の不正行為を自由にできるようにもしたくない。
以上の議論を総合すると、次の二つの制約を満たしつつ、複数の身分をできるだけ簡単に取得できるようにしたい:(1)ガバナンス類似用途で大規模主体の力を制限する;(2)UBI類似用途で乱用を制限する。
前述のガバナンス類似用途の数学モデルを直接借りれば、明確な答えが得られる:N個の身分がN²の影響力を持つなら、N個の身分を得るコストはN²であるべきだ。偶然にも、この答えはUBI類似用途にも同様に適している。

このブログの古くからの読者なら、この図が以前の「quadratic funding」に関する記事の図とまったく同じことに気づくだろう。これは偶然ではない。
多元的ID(Pluralistic identity)がこの理想状態を実現する
「多元的ID」とは、個人・組織・プラットフォームを問わず、単一の支配的な発行機関を持たないIDメカニズムを指す。この体制は二つの方法で実現できる:
-
明示的多元的ID(Explicit pluralistic identity、別名「ソーシャルグラフに基づくID social-graph-based identity」)。あなたは所属するコミュニティ内の他の人々の証明を通じて自分の身分(または他の表明、例:特定コミュニティのメンバーであることを証明)を確認でき、これらの証明者の身分も同じメカニズムで検証される。『Decentralized Society』という論文がこうした設計を詳しく説明しており、Circlesは現在稼働中の具体例である。
-
暗黙的多元的ID(Implicit pluralistic identity)。これは現在の現状であり、Google、Twitter、各国の類似プラットフォーム、複数の政府発行身分証など、多数の異なる身分提供者が存在する。ごく少数のアプリを除き、ほとんどのアプリは一種類の身分認証だけを受け入れず、複数を互換することで潜在的なユーザーにリーチしようと努力している。

CirclesのIDグラフの最新スナップショット。Circlesは現時点で最大規模のソーシャルグラフに基づくIDプロジェクトの一つ。
明示的多元的IDは自然に匿名性を備えている:匿名の身分(複数可)を持ち、それぞれが独自の行動を通じてコミュニティ内で評判を築くことができる。理想的な明示的多元的IDシステムでは「離散的身分(discrete identities)」という概念すら不要かもしれない。代わりに、検証可能な過去の行動からなる曖昧な集合を持ち、各行動の必要に応じてその異なる部分を細かく証明できるかもしれない。
ゼロ知識証明は匿名性をより実現しやすくする:メイン身分を使って匿名身分を開始し、最初の信号を非公開で提供することで新しい匿名身分に承認を得ることができる(例:一定量のトークンを所有していることをゼロ知識証明で示し、anon.worldに投稿できるようにする;または、Twitterのフォロワーが特定の特徴を持つことを証明する)。ゼロ知識証明をさらに効果的に使う方法もあり得る。
暗黙的多元的IDの「コスト曲線」は二次曲線よりも急峻だが、必要な特性の大部分を備えている。大多数の人は本文で挙げた身分形態の一部を持ち、すべてを持っているわけではない。ある程度の努力でさらに別の身分形態を獲得できるが、持っている身分形態が多ければ多いほど、次の一つを取得するコスト対効果は低下する。したがって、ガバナンス攻撃やその他の乱用行為に対して必要な抑制効果を提供しつつ、強制者が特定の固定された身分セットをすべて開示するよう要求したり(または合理的に期待したり)できなくなる。
明示的・暗黙的を問わず、多元的IDのあらゆる形態は自然に耐障害性が高い:手や目の障害を持つ人でもパスポートを持つことは可能であり、無国籍者も非政府チャネルを通じて身分を証明できる可能性がある。
注意すべきは、ある一種類の身分形態の市場シェアがほぼ100%に近く、唯一のログインオプションになると、上記の特性はすべて失われるということだ。私見では、これは「包括性」をあまりに追求するIDシステムが直面する最大のリスクである:市場シェアがほぼ100%になると、世界を多元的ID体制から「一人一ID」モードに押しやってしまい、それが本稿で述べた多くの欠点を引き起こすことになる。
私見では、現在の「一人一ID」プロジェクトの理想の帰結は、ソーシャルグラフに基づくID体制との融合である。ソーシャルグラフに基づくIDプロジェクトが直面する最大の問題は、大量のユーザーに拡張するのが難しいことである。一方、「一人一ID」体制はソーシャルグラフに初期の基盤を提供するために使用でき、数百万の「シードユーザー」を創出し、そこから十分なユーザー数を確保して、安全にグローバルな分散型ソーシャルグラフを発展させることができる。
Balviのボランティア、Silvicultureのメンバー、およびWorldチームのメンバーがディスカッションに参加してくれたことに特に感謝する。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














